Drizzled Public API Documentation

statement_transform.h
Go to the documentation of this file.
1 /* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2  * vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3  *
4  * Copyright (C) 2009 Sun Microsystems, Inc.
5  * Copyright (C) 2010 Jay Pipes <jaypipes@gmail.com>
6  *
7  * Authors:
8  *
9  * Jay Pipes <jaypipes@gmail.com>
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; version 2 of the License.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23  */
24 
32 #pragma once
33 
34 #include <drizzled/common_fwd.h>
35 #include <drizzled/common.h>
36 #include <drizzled/message/table.pb.h>
37 #include <string>
38 #include <vector>
39 
40 namespace drizzled {
41 namespace message {
42 
44 enum TransformSqlVariant
45 {
46  ANSI,
47  MYSQL_4,
48  MYSQL_5,
49  DRIZZLE
50 };
51 
53 enum TransformSqlError
54 {
55  NONE= 0,
56  MISSING_HEADER= 1, /* A data segment without a header segment was found */
57  MISSING_DATA= 2, /* A header segment without a data segment was found */
58  UUID_MISMATCH= 3
59 };
60 
75 enum TransformSqlError
76 transformStatementToSql(const Statement &source,
77  std::vector<std::string> &sql_strings,
78  enum TransformSqlVariant sql_variant= DRIZZLE,
79  bool already_in_transaction= false);
80 
103 enum TransformSqlError
104 transformInsertStatementToSql(const InsertHeader &header,
105  const InsertData &data,
106  std::string &destination,
107  enum TransformSqlVariant sql_variant= DRIZZLE);
108 
124 enum TransformSqlError
125 transformInsertRecordToSql(const InsertHeader &header,
126  const InsertRecord &record,
127  std::string &destination,
128  enum TransformSqlVariant sql_variant= DRIZZLE);
129 
143 enum TransformSqlError
144 transformInsertHeaderToSql(const InsertHeader &header,
145  std::string &destination,
146  enum TransformSqlVariant sql_variant= DRIZZLE);
147 
161 enum TransformSqlError
162 transformUpdateHeaderToSql(const UpdateHeader &header,
163  std::string &destination,
164  enum TransformSqlVariant sql_variant= DRIZZLE);
165 
181 enum TransformSqlError
182 transformUpdateRecordToSql(const UpdateHeader &header,
183  const UpdateRecord &record,
184  std::string &destination,
185  enum TransformSqlVariant sql_variant= DRIZZLE);
186 
207 enum TransformSqlError
208 transformDeleteStatementToSql(const DeleteHeader &header,
209  const DeleteData &data,
210  std::string &destination,
211  enum TransformSqlVariant sql_variant= DRIZZLE);
212 
228 enum TransformSqlError
229 transformDeleteRecordToSql(const DeleteHeader &header,
230  const DeleteRecord &record,
231  std::string &destination,
232  enum TransformSqlVariant sql_variant= DRIZZLE);
233 
247 enum TransformSqlError
248 transformDeleteHeaderToSql(const DeleteHeader &header,
249  std::string &destination,
250  enum TransformSqlVariant sql_variant= DRIZZLE);
251 
266 enum TransformSqlError
267 transformDropTableStatementToSql(const DropTableStatement &statement,
268  std::string &destination,
269  enum TransformSqlVariant sql_variant= DRIZZLE);
270 
285 enum TransformSqlError
286 transformTruncateTableStatementToSql(const TruncateTableStatement &statement,
287  std::string &destination,
288  enum TransformSqlVariant sql_variant= DRIZZLE);
289 
304 enum TransformSqlError
305 transformCreateSchemaStatementToSql(const CreateSchemaStatement &statement,
306  std::string &destination,
307  enum TransformSqlVariant sql_variant= DRIZZLE);
308 
323 enum TransformSqlError
324 transformDropSchemaStatementToSql(const DropSchemaStatement &statement,
325  std::string &destination,
326  enum TransformSqlVariant sql_variant= DRIZZLE);
327 
342 enum TransformSqlError
343 transformAlterSchemaStatementToSql(const AlterSchemaStatement &statement,
344  std::string &destination,
345  enum TransformSqlVariant sql_variant= DRIZZLE);
346 
361 enum TransformSqlError
362 transformSetVariableStatementToSql(const SetVariableStatement &statement,
363  std::string &destination,
364  enum TransformSqlVariant sql_variant= DRIZZLE);
365 
371 enum TransformSqlError
372 transformCreateTableStatementToSql(const CreateTableStatement &statement,
373  std::string &destination,
374  enum TransformSqlVariant sql_variant= DRIZZLE);
375 
388 enum TransformSqlError
389 transformTableDefinitionToSql(const Table &table,
390  std::string &destination,
391  enum TransformSqlVariant sql_variant= DRIZZLE,
392  bool with_schema= true);
393 
411 enum TransformSqlError
412 transformTableOptionsToSql(const Table::TableOptions &table_options,
413  std::string &destination,
414  enum TransformSqlVariant sql_variant= DRIZZLE);
415 
430 enum TransformSqlError
431 transformIndexDefinitionToSql(const Table::Index &index,
432  const Table &table,
433  std::string &destination,
434  enum TransformSqlVariant sql_variant= DRIZZLE);
435 
450 enum TransformSqlError
451 transformForeignKeyConstraintDefinitionToSql(const Table::ForeignKeyConstraint &fkey,
452  const Table &table,
453  std::string &destination,
454  enum TransformSqlVariant sql_variant = DRIZZLE);
455 
469 enum TransformSqlError
470 transformFieldDefinitionToSql(const Table::Field &field,
471  std::string &destination,
472  enum TransformSqlVariant sql_variant= DRIZZLE);
473 
480 bool shouldQuoteFieldValue(Table::Field::FieldType in_type);
481 
482 drizzled::message::Table::Field::FieldType internalFieldTypeToFieldProtoType(enum enum_field_types type);
483 
491 bool transactionContainsBulkSegment(const Transaction &transaction);
492 
493 } /* namespace message */
494 } /* namespace drizzled */
495 
TODO: Rename this file - func.h is stupid.