Commit 54d4589d authored by Olivier Bertrand's avatar Olivier Bertrand

- Previous MDEV-5261 was generating wrong warnings

modified:
  storage/connect/ha_connect.cc
parent a8b09c14
...@@ -4600,9 +4600,9 @@ int ha_connect::create(const char *name, TABLE *table_arg, ...@@ -4600,9 +4600,9 @@ int ha_connect::create(const char *name, TABLE *table_arg,
} // endfor field } // endfor field
if (IsFileType(type)) { table= table_arg; // Used by called functions
table= table_arg; // Used by called functions
if (IsFileType(type)) {
if (!options->filename) { if (!options->filename) {
// The file name is not specified, create a default file in // The file name is not specified, create a default file in
// the database directory named table_name.table_type. // the database directory named table_name.table_type.
...@@ -4666,45 +4666,48 @@ int ha_connect::create(const char *name, TABLE *table_arg, ...@@ -4666,45 +4666,48 @@ int ha_connect::create(const char *name, TABLE *table_arg,
} // endif filename } // endif filename
// To check whether indexes have to be made or remade } // endif type
if (!g->Xchk) {
PIXDEF xdp;
// We should be in CREATE TABLE // To check whether indexes have to be made or remade
if (thd_sql_command(table->in_use) != SQLCOM_CREATE_TABLE) if (!g->Xchk) {
push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0, PIXDEF xdp;
"Wrong command in create, please contact CONNECT team");
// Get the index definitions // We should be in CREATE TABLE
if (xdp= GetIndexInfo()) { if (thd_sql_command(table->in_use) != SQLCOM_CREATE_TABLE)
if (IsTypeIndexable(type)) { push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0,
PDBUSER dup= PlgGetUser(g); "Wrong command in create, please contact CONNECT team");
PCATLG cat= (dup) ? dup->Catalog : NULL;
if (cat) {
cat->SetDataPath(g, table_arg->s->db.str);
if ((rc= optimize(table->in_use, NULL))) {
printf("Create rc=%d %s\n", rc, g->Message);
my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
rc= HA_ERR_INTERNAL_ERROR;
} else
CloseTable(g);
} // endif cat
} else {
sprintf(g->Message, "Table type %s is not indexable", options->type);
my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
rc= HA_ERR_INTERNAL_ERROR;
} // endif Indexable
} // endif xdp // Get the index definitions
if (xdp= GetIndexInfo()) {
if (IsTypeIndexable(type)) {
PDBUSER dup= PlgGetUser(g);
PCATLG cat= (dup) ? dup->Catalog : NULL;
if (cat) {
cat->SetDataPath(g, table_arg->s->db.str);
if ((rc= optimize(table->in_use, NULL))) {
printf("Create rc=%d %s\n", rc, g->Message);
my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
rc= HA_ERR_INTERNAL_ERROR;
} else
CloseTable(g);
} // endif cat
} else {
sprintf(g->Message, "Table type %s is not indexable", options->type);
my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
rc= HA_ERR_INTERNAL_ERROR;
} // endif Indexable
} else { } // endif xdp
PIXDEF xdp= GetIndexInfo();
if (xdp && !IsTypeIndexable(type)) { } else {
PIXDEF xdp= GetIndexInfo();
if (xdp) {
if (!IsTypeIndexable(type)) {
g->Xchk= NULL; g->Xchk= NULL;
sprintf(g->Message, "Table type %s is not indexable", options->type); sprintf(g->Message, "Table type %s is not indexable", options->type);
my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0)); my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
...@@ -4714,11 +4717,12 @@ int ha_connect::create(const char *name, TABLE *table_arg, ...@@ -4714,11 +4717,12 @@ int ha_connect::create(const char *name, TABLE *table_arg,
((PCHK)g->Xchk)->newsep= GetBooleanOption("Sepindex", false); ((PCHK)g->Xchk)->newsep= GetBooleanOption("Sepindex", false);
} // endif Indexable } // endif Indexable
} // endif Xchk } else if (!((PCHK)g->Xchk)->oldpix)
g->Xchk= NULL;
table= st; } // endif Xchk
} // endif type
table= st;
DBUG_RETURN(rc); DBUG_RETURN(rc);
} // end of create } // end of create
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment