~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/message/statement_transform.h

Merge Joe, plus I updated the tests.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2009 Sun Microsystems, Inc.
5
 
 *  Copyright (C) 2010 Jay Pipes <jaypipes@gmail.com>
 
4
 *  Copyright (C) 2009 Sun Microsystems
 
5
 *  Copyright (c) 2010 Jay Pipes <jayjpipes@gmail.com>
6
6
 *
7
7
 *  Authors:
8
8
 *
59
59
class TruncateTableStatement;
60
60
class CreateSchemaStatement;
61
61
class DropSchemaStatement;
62
 
class AlterSchemaStatement;
63
62
class SetVariableStatement;
64
63
 
65
64
/** A Variation of SQL to be output during transformation */
76
75
{
77
76
  NONE= 0,
78
77
  MISSING_HEADER= 1, /* A data segment without a header segment was found */
79
 
  MISSING_DATA= 2,   /* A header segment without a data segment was found */
80
 
  UUID_MISMATCH= 3
 
78
  MISSING_DATA= 2 /* A header segment without a data segment was found */
81
79
};
82
80
 
83
81
/**
348
346
                                  enum TransformSqlVariant sql_variant= DRIZZLE);
349
347
 
350
348
/**
351
 
 * This function looks at a supplied AlterSchemaStatement
352
 
 * and constructs a correctly-formatted SQL
353
 
 * statement to the supplied destination string.
354
 
 *
355
 
 * @param AlterSchemaStatement message to transform
356
 
 * @param Destination string to append SQL to
357
 
 * @param Variation of SQL to generate
358
 
 *
359
 
 * @retval
360
 
 *  NONE if successful transformation
361
 
 * @retval
362
 
 *  Error code (see enum TransformSqlError definition) if failure
363
 
 */
364
 
enum TransformSqlError
365
 
transformAlterSchemaStatementToSql(const AlterSchemaStatement &statement,
366
 
                                   std::string &destination,
367
 
                                   enum TransformSqlVariant sql_variant= DRIZZLE);
368
 
 
369
 
/**
370
349
 * This function looks at a supplied SetVariableStatement
371
350
 * and constructs a correctly-formatted SQL
372
351
 * statement to the supplied destination string.
457
436
 
458
437
/**
459
438
 * Appends to the supplied string an SQL expression
460
 
 * representing the foreign key attributes.  The built string
461
 
 * corresponds to the SQL in a CREATE TABLE statement.
462
 
 *
463
 
 * @param[in]   Foreign Key Constraint message
464
 
 * @param[in]   Table containing this foregin key (used to get field names...)
465
 
 * @param[out]  String to append to
466
 
 *
467
 
 * @retval
468
 
 *  NONE if successful transformation
469
 
 * @retval
470
 
 *  Error code (see enum TransformSqlError definition) if failure
471
 
 */
472
 
enum TransformSqlError
473
 
transformForeignKeyConstraintDefinitionToSql(const Table::ForeignKeyConstraint &fkey,
474
 
                                             const Table &table,
475
 
                                             std::string &destination,
476
 
                                             enum TransformSqlVariant sql_variant = DRIZZLE);
477
 
 
478
 
/**
479
 
 * Appends to the supplied string an SQL expression
480
439
 * representing the field's attributes.  The built string
481
440
 * corresponds to the SQL in a CREATE TABLE statement.
482
441
 *