303
void buildEngineOption(Session *session, const char *key, const LEX_STRING &value)
305
message::Engine::Option *opt= session->getLex()->table()->mutable_engine()->add_options();
307
opt->set_state(value.str, value.length);
310
void buildEngineOption(Session *session, const char *key, uint64_t value)
312
drizzled::message::Engine::Option *opt= session->getLex()->table()->mutable_engine()->add_options();
314
opt->set_state(boost::lexical_cast<std::string>(value));
317
void buildSchemaOption(Session *session, const char *key, const LEX_STRING &value)
319
statement::CreateSchema *statement= (statement::CreateSchema *)session->getLex()->statement;
320
message::Engine::Option *opt= statement->schema_message.mutable_engine()->add_options();
322
opt->set_state(value.str, value.length);
325
void buildSchemaOption(Session *session, const char *key, uint64_t value)
327
statement::CreateSchema *statement= (statement::CreateSchema *)session->getLex()->statement;
328
message::Engine::Option *opt= statement->schema_message.mutable_engine()->add_options();
330
opt->set_state(boost::lexical_cast<std::string>(value));
333
bool checkFieldIdent(Session *session, const LEX_STRING &schema_name, const LEX_STRING &table_name)
335
TableList *table= reinterpret_cast<TableList*>(session->getLex()->current_select->table_list.first);
337
if (schema_name.length)
339
if (my_strcasecmp(table_alias_charset, schema_name.str, table->getSchemaName()))
341
my_error(ER_WRONG_DB_NAME, MYF(0), schema_name.str);
346
if (my_strcasecmp(table_alias_charset, table_name.str,
347
table->getTableName()))
349
my_error(ER_WRONG_TABLE_NAME, MYF(0), table_name.str);
356
Item *buildIdent(Session *session,
357
const LEX_STRING &schema_name,
358
const LEX_STRING &table_name,
359
const LEX_STRING &field_name)
361
Select_Lex *sel= session->getLex()->current_select;
363
if (sel->no_table_names_allowed)
365
my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
366
MYF(0), table_name.str, session->where);
369
Item *item= (sel->parsing_place != IN_HAVING or
370
sel->get_in_sum_expr() > 0) ?
371
(Item*) new Item_field(session->getLex()->current_context(), schema_name.str, table_name.str, field_name.str) :
372
(Item*) new Item_ref(session->getLex()->current_context(), schema_name.str, table_name.str, field_name.str);
303
377
} // namespace parser
304
378
} // namespace drizzled