diff options
Diffstat (limited to 'storage/connect')
-rw-r--r-- | storage/connect/array.cpp | 2 | ||||
-rw-r--r-- | storage/connect/ha_connect.cc | 104 | ||||
-rw-r--r-- | storage/connect/ha_connect.h | 6 | ||||
-rw-r--r-- | storage/connect/mysql-test/connect/r/mysql_index.result | 156 | ||||
-rw-r--r-- | storage/connect/mysql-test/connect/r/part_file.result | 9 | ||||
-rw-r--r-- | storage/connect/mysql-test/connect/r/xml2_mult.result | 2 | ||||
-rw-r--r-- | storage/connect/mysql-test/connect/r/xml_mult.result | 2 | ||||
-rw-r--r-- | storage/connect/mysql-test/connect/t/mysql_index.test | 4 | ||||
-rw-r--r-- | storage/connect/mysql-test/connect/t/part_file.test | 4 | ||||
-rw-r--r-- | storage/connect/tabext.cpp | 6 | ||||
-rw-r--r-- | storage/connect/tabmysql.cpp | 5 | ||||
-rw-r--r-- | storage/connect/tabxcl.cpp | 3 | ||||
-rw-r--r-- | storage/connect/value.cpp | 3 |
13 files changed, 156 insertions, 150 deletions
diff --git a/storage/connect/array.cpp b/storage/connect/array.cpp index 483139bc955..972a1e72403 100644 --- a/storage/connect/array.cpp +++ b/storage/connect/array.cpp @@ -618,10 +618,12 @@ int ARRAY::Convert(PGLOBAL g, int k, PVAL vp) /* Converting STRING to DATE can be done according to date format. */ /*********************************************************************/ if (Type == TYPE_DATE && ovblp->GetType() == TYPE_STRING && vp) + { if (((DTVAL*)Value)->SetFormat(g, vp)) return TYPE_ERROR; else b = true; // Sort the new array on date internal values + } /*********************************************************************/ /* Do the actual conversion. */ diff --git a/storage/connect/ha_connect.cc b/storage/connect/ha_connect.cc index b58db399a05..da3569ca30c 100644 --- a/storage/connect/ha_connect.cc +++ b/storage/connect/ha_connect.cc @@ -1677,10 +1677,7 @@ bool ha_connect::GetIndexOption(KEY *kp, PCSZ opname) /****************************************************************************/ bool ha_connect::IsUnique(uint n) { - TABLE_SHARE *s= (table) ? table->s : NULL; - KEY kp= s->key_info[n]; - - return (kp.flags & 1) != 0; + return (table->key_info[n].flags & HA_NOSAME) != 0; } // end of IsUnique /****************************************************************************/ @@ -1950,7 +1947,7 @@ int ha_connect::OpenTable(PGLOBAL g, bool del) k1= k2= 0; n1= n2= 1; // 1 is space for final null character - for (field= table->field; fp= *field; field++) { + for (field= table->field; (fp= *field); field++) { if (bitmap_is_set(map, fp->field_index)) { n1+= (fp->field_name.length + 1); k1++; @@ -1966,7 +1963,7 @@ int ha_connect::OpenTable(PGLOBAL g, bool del) if (k1) { p= c1= (char*)PlugSubAlloc(g, NULL, n1); - for (field= table->field; fp= *field; field++) + for (field= table->field; (fp= *field); field++) if (bitmap_is_set(map, fp->field_index)) { strcpy(p, fp->field_name.str); p+= (fp->field_name.length + 1); @@ -1978,7 +1975,7 @@ int ha_connect::OpenTable(PGLOBAL g, bool del) if (k2) { p= c2= (char*)PlugSubAlloc(g, NULL, n2); - for (field= table->field; fp= *field; field++) + for (field= table->field; (fp= *field); field++) if (bitmap_is_set(ump, fp->field_index)) { strcpy(p, fp->field_name.str); @@ -2005,11 +2002,13 @@ int ha_connect::OpenTable(PGLOBAL g, bool del) istable= true; // strmake(tname, table_name, sizeof(tname)-1); +#ifdef NOT_USED_VARIABLE // We may be in a create index query if (xmod == MODE_ANY && *tdbp->GetName() != '#') { // The current indexes PIXDEF oldpix= GetIndexInfo(); } // endif xmod +#endif } else htrc("OpenTable: %s\n", g->Message); @@ -2036,7 +2035,7 @@ bool ha_connect::CheckColumnList(PGLOBAL g) MY_BITMAP *map= table->read_set; try { - for (field= table->field; fp= *field; field++) + for (field= table->field; (fp= *field); field++) if (bitmap_is_set(map, fp->field_index)) { if (!(colp= tdbp->ColDB(g, (PSZ)fp->field_name.str, 0))) { sprintf(g->Message, "Column %s not found in %s", @@ -2109,9 +2108,8 @@ int ha_connect::MakeRecord(char *buf) DBUG_ENTER("ha_connect::MakeRecord"); if (trace(2)) - htrc("Maps: read=%08X write=%08X vcol=%08X defr=%08X defw=%08X\n", + htrc("Maps: read=%08X write=%08X defr=%08X defw=%08X\n", *table->read_set->bitmap, *table->write_set->bitmap, - (table->vcol_set) ? *table->vcol_set->bitmap : 0, *table->def_read_set.bitmap, *table->def_write_set.bitmap); // Avoid asserts in field::store() for columns that are not updated @@ -2751,37 +2749,40 @@ PFIL ha_connect::CondFilter(PGLOBAL g, Item *cond) if (!i && (ismul)) return NULL; - switch (args[i]->real_type()) { - case COND::STRING_ITEM: - res= pval->val_str(&tmp); - pp->Value= PlugSubAllocStr(g, NULL, res->ptr(), res->length()); - pp->Type= (pp->Value) ? TYPE_STRING : TYPE_ERROR; - break; - case COND::INT_ITEM: - pp->Type= TYPE_INT; - pp->Value= PlugSubAlloc(g, NULL, sizeof(int)); - *((int*)pp->Value)= (int)pval->val_int(); - break; - case COND::DATE_ITEM: - pp->Type= TYPE_DATE; - pp->Value= PlugSubAlloc(g, NULL, sizeof(int)); - *((int*)pp->Value)= (int)pval->val_int_from_date(); - break; - case COND::REAL_ITEM: - pp->Type= TYPE_DOUBLE; - pp->Value= PlugSubAlloc(g, NULL, sizeof(double)); - *((double*)pp->Value)= pval->val_real(); - break; - case COND::DECIMAL_ITEM: - pp->Type= TYPE_DOUBLE; - pp->Value= PlugSubAlloc(g, NULL, sizeof(double)); - *((double*)pp->Value)= pval->val_real_from_decimal(); - break; + switch (args[i]->real_type()) { + case COND::CONST_ITEM: + switch (args[i]->cmp_type()) { + case STRING_RESULT: + res= pval->val_str(&tmp); + pp->Value= PlugSubAllocStr(g, NULL, res->ptr(), res->length()); + pp->Type= (pp->Value) ? TYPE_STRING : TYPE_ERROR; + break; + case INT_RESULT: + pp->Type= TYPE_INT; + pp->Value= PlugSubAlloc(g, NULL, sizeof(int)); + *((int*)pp->Value)= (int)pval->val_int(); + break; + case TIME_RESULT: + pp->Type= TYPE_DATE; + pp->Value= PlugSubAlloc(g, NULL, sizeof(int)); + *((int*)pp->Value)= (int) Temporal_hybrid(pval).to_longlong(); + break; + case REAL_RESULT: + case DECIMAL_RESULT: + pp->Type= TYPE_DOUBLE; + pp->Value= PlugSubAlloc(g, NULL, sizeof(double)); + *((double*)pp->Value)= pval->val_real(); + break; + case ROW_RESULT: + DBUG_ASSERT(0); + return NULL; + } + break; case COND::CACHE_ITEM: // Possible ??? case COND::NULL_ITEM: // TODO: handle this default: return NULL; - } // endswitch type + } // endswitch type if (trace(1)) htrc("Value type=%hd\n", pp->Type); @@ -3033,12 +3034,8 @@ PCFIL ha_connect::CheckCond(PGLOBAL g, PCFIL filp, const Item *cond) Item::Type type= args[i]->real_type(); switch (type) { - case COND::STRING_ITEM: - case COND::INT_ITEM: - case COND::REAL_ITEM: + case COND::CONST_ITEM: case COND::NULL_ITEM: - case COND::DECIMAL_ITEM: - case COND::DATE_ITEM: case COND::CACHE_ITEM: break; default: @@ -3074,14 +3071,14 @@ PCFIL ha_connect::CheckCond(PGLOBAL g, PCFIL filp, const Item *cond) strcat(s, "'}"); break; } // endif ODBC - - // fall through + // fall through case MYSQL_TYPE_DATE: if (tty == TYPE_AM_ODBC) { strcat(s, "{d '"); strcat(strncat(s, res->ptr(), res->length()), "'}"); break; } // endif ODBC + // fall through case MYSQL_TYPE_TIME: if (tty == TYPE_AM_ODBC) { @@ -3089,6 +3086,7 @@ PCFIL ha_connect::CheckCond(PGLOBAL g, PCFIL filp, const Item *cond) strcat(strncat(s, res->ptr(), res->length()), "'}"); break; } // endif ODBC + // fall through case MYSQL_TYPE_VARCHAR: if (tty == TYPE_AM_ODBC && i) { @@ -3578,7 +3576,7 @@ int ha_connect::close(void) item_sum.cc, item_sum.cc, sql_acl.cc, sql_insert.cc, sql_insert.cc, sql_select.cc, sql_table.cc, sql_udf.cc and sql_update.cc */ -int ha_connect::write_row(uchar *buf) +int ha_connect::write_row(const uchar *buf) { int rc= 0; PGLOBAL& g= xp->g; @@ -4277,8 +4275,6 @@ int ha_connect::info(uint flag) // tdbp must be available to get updated info if (xp->CheckQuery(valid_query_id) || !tdbp) { - PDBUSER dup= PlgGetUser(g); - PCATLG cat= (dup) ? dup->Catalog : NULL; if (xmod == MODE_ANY || xmod == MODE_ALTER) { // Pure info, not a query @@ -4581,12 +4577,14 @@ MODE ha_connect::CheckMode(PGLOBAL g, THD *thd, // break; case SQLCOM_DELETE_MULTI: *cras = true; + // fall through case SQLCOM_DELETE: case SQLCOM_TRUNCATE: newmode= MODE_DELETE; break; case SQLCOM_UPDATE_MULTI: *cras = true; + // fall through case SQLCOM_UPDATE: newmode= MODE_UPDATE; break; @@ -4596,6 +4594,7 @@ MODE ha_connect::CheckMode(PGLOBAL g, THD *thd, break; case SQLCOM_FLUSH: locked= 0; + // fall through case SQLCOM_DROP_TABLE: case SQLCOM_RENAME_TABLE: newmode= MODE_ANY; @@ -5517,7 +5516,7 @@ static int connect_assisted_discovery(handlerton *, THD* thd, PCSZ nsp= NULL, cls= NULL; #endif // __WIN__ //int hdr, mxe; - int port = 0, mxr = 0, rc = 0, mul = 0, lrecl = 0; + int port = 0, mxr __attribute__((unused)) = 0, rc = 0, mul = 0; //PCSZ tabtyp = NULL; #if defined(ODBC_SUPPORT) POPARM sop= NULL; @@ -5541,8 +5540,6 @@ static int connect_assisted_discovery(handlerton *, THD* thd, if (!g) return HA_ERR_INTERNAL_ERROR; - PDBUSER dup= PlgGetUser(g); - PCATLG cat= (dup) ? dup->Catalog : NULL; PTOS topt= table_s->option_struct; char buf[1024]; String sql(buf, sizeof(buf), system_charset_info); @@ -5772,6 +5769,7 @@ static int connect_assisted_discovery(handlerton *, THD* thd, #endif // __WIN__ case TAB_PIVOT: supfnc = FNC_NO; + // fall through case TAB_PRX: case TAB_TBL: case TAB_XCL: @@ -5996,7 +5994,7 @@ static int connect_assisted_discovery(handlerton *, THD* thd, } // endfor crp } else { - char *schem = NULL; + char *schem __attribute__((unused)) = NULL; char *tn = NULL; // Not a catalog table @@ -7022,7 +7020,7 @@ ha_connect::check_if_supported_inplace_alter(TABLE *altered_table, ALTER_DROP_PK_INDEX; alter_table_operations inplace_offline_operations= - ALTER_COLUMN_EQUAL_PACK_LENGTH | + ALTER_COLUMN_TYPE_CHANGE_BY_ENGINE | ALTER_COLUMN_NAME | ALTER_COLUMN_DEFAULT | ALTER_CHANGE_CREATE_OPTION | @@ -7121,7 +7119,7 @@ ha_connect::check_if_supported_inplace_alter(TABLE *altered_table, #if 0 uint table_changes= (ha_alter_info->handler_flags & - ALTER_COLUMN_EQUAL_PACK_LENGTH) ? + ALTER_COLUMN_TYPE_CHANGE_BY_ENGINE) ? IS_EQUAL_PACK_LENGTH : IS_EQUAL_YES; if (table->file->check_if_incompatible_data(create_info, table_changes) diff --git a/storage/connect/ha_connect.h b/storage/connect/ha_connect.h index 3727dc193c2..53e666d534d 100644 --- a/storage/connect/ha_connect.h +++ b/storage/connect/ha_connect.h @@ -388,7 +388,7 @@ virtual int check(THD* thd, HA_CHECK_OPT* check_opt); We implement this in ha_connect.cc. It's not an obligatory method; skip it and and MySQL will treat it as not implemented. */ - int write_row(uchar *buf); + int write_row(const uchar *buf); /** @brief We implement this in ha_connect.cc. It's not an obligatory method; @@ -549,3 +549,7 @@ public: uint int_table_flags; // Inherited from MyISAM bool enable_activate_all_index; // Inherited from MyISAM }; // end of ha_connect class definition + +#if defined(JAVA_SUPPORT) || defined(CMGO_SUPPORT) +bool MongoEnabled(void); +#endif // JAVA_SUPPORT || CMGO_SUPPORT diff --git a/storage/connect/mysql-test/connect/r/mysql_index.result b/storage/connect/mysql-test/connect/r/mysql_index.result index dd1864529ca..b0c88b16fef 100644 --- a/storage/connect/mysql-test/connect/r/mysql_index.result +++ b/storage/connect/mysql-test/connect/r/mysql_index.result @@ -45,10 +45,9 @@ id msg SELECT * FROM t2 WHERE id IN (2,4) AND msg = 'Two'; id msg 2 Two -SELECT * FROM t2 WHERE id > 3; +SELECT * FROM t2 WHERE id > 4; id msg 5 Cinq -4 Four 6 Six SELECT * FROM t2 WHERE id >= 3; id msg @@ -60,10 +59,9 @@ SELECT * FROM t2 WHERE id < 3; id msg 1 Un 2 Two -SELECT * FROM t2 WHERE id < 3 OR id > 4; +SELECT * FROM t2 WHERE id < 2 OR id > 4; id msg 1 Un -2 Two 5 Cinq 6 Six SELECT * FROM t2 WHERE id <= 3; @@ -166,141 +164,141 @@ matricule nom prenom sexe aanais mmnais ddentree ddnom brut net service sitmat f 4974 LONES GERARD 1 1959 10 1979-01-01 1994-12-01 16081 12916.70 0 M SANS SELECT matricule, nom, prenom FROM t2 WHERE nom IN ('FOCH','MOGADOR'); matricule nom prenom +3368 MOGADOR ALAIN 1977 FOCH BERNADETTE -5707 FOCH DENIS +4080 FOCH SERGE 2552 FOCH FRANCK +5707 FOCH DENIS 2634 FOCH JOCELYNE 5765 FOCH ROBERT -4080 FOCH SERGE -3368 MOGADOR ALAIN SELECT matricule, nom, prenom FROM t2 WHERE nom = 'FOCH' OR nom = 'MOGADOR'; matricule nom prenom +3368 MOGADOR ALAIN 1977 FOCH BERNADETTE -5707 FOCH DENIS +4080 FOCH SERGE 2552 FOCH FRANCK +5707 FOCH DENIS 2634 FOCH JOCELYNE 5765 FOCH ROBERT -4080 FOCH SERGE -3368 MOGADOR ALAIN SELECT matricule, nom, prenom FROM t2 WHERE nom < 'ADDAX'; matricule nom prenom -4552 ABBADIE MONIQUE -307 ABBAYE ANNICK -6627 ABBAYE GERALD -7961 ABBE KATIA 1340 ABBE MICHELE -9270 ABBE SOPHIE +2728 ABOUT CATHERINE MARIE +895 ABORD CHANTAL +4038 ADAM JANICK +6627 ABBAYE GERALD +6124 ABELIAS DELIA +4552 ABBADIE MONIQUE +8673 ABEL JEAN PIERRE +3395 ADAM JEAN CLAUDE 2945 ABBEVILLE PASCAL -8596 ABEBERRY PATRICK +115 ACHILLE JACQUES 6399 ABEILLES RENE -8673 ABEL JEAN PIERRE -6124 ABELIAS DELIA -6314 ABERDEN EVELYNE -895 ABORD CHANTAL -2728 ABOUT CATHERINE MARIE +8596 ABEBERRY PATRICK +9270 ABBE SOPHIE 398 ABREUVOIR JEAN LUC -1122 ACACIAS SERGE +7961 ABBE KATIA +307 ABBAYE ANNICK +6314 ABERDEN EVELYNE 1644 ACARDIE BEATE -115 ACHILLE JACQUES -4038 ADAM JANICK -3395 ADAM JEAN CLAUDE +1122 ACACIAS SERGE SELECT matricule, nom, prenom FROM t2 WHERE nom <= 'ABEL'; matricule nom prenom -4552 ABBADIE MONIQUE -307 ABBAYE ANNICK -6627 ABBAYE GERALD -7961 ABBE KATIA 1340 ABBE MICHELE -9270 ABBE SOPHIE +6627 ABBAYE GERALD +4552 ABBADIE MONIQUE +8673 ABEL JEAN PIERRE 2945 ABBEVILLE PASCAL -8596 ABEBERRY PATRICK 6399 ABEILLES RENE -8673 ABEL JEAN PIERRE +8596 ABEBERRY PATRICK +9270 ABBE SOPHIE +7961 ABBE KATIA +307 ABBAYE ANNICK SELECT matricule, nom, prenom FROM t2 WHERE nom > 'YVON'; matricule nom prenom 9742 YZENGREMER MICHEL -8738 ZILINA JEAN LOUIS 5357 ZOLA BERNARD 5441 ZOLA BRIGITTE -1325 ZOLA CHRISTINE -4859 ZORI CATHERINE 4102 ZOUAVES ALAIN +4859 ZORI CATHERINE +1325 ZOLA CHRISTINE +8738 ZILINA JEAN LOUIS SELECT matricule, nom, prenom FROM t2 WHERE nom >= 'YVON'; matricule nom prenom -5389 YVON CAROLE 9742 YZENGREMER MICHEL -8738 ZILINA JEAN LOUIS 5357 ZOLA BERNARD +5389 YVON CAROLE 5441 ZOLA BRIGITTE -1325 ZOLA CHRISTINE -4859 ZORI CATHERINE 4102 ZOUAVES ALAIN +4859 ZORI CATHERINE +1325 ZOLA CHRISTINE +8738 ZILINA JEAN LOUIS SELECT matricule, nom, prenom FROM t2 WHERE nom <= 'ABEL' OR nom > 'YVON'; matricule nom prenom -4552 ABBADIE MONIQUE -307 ABBAYE ANNICK -6627 ABBAYE GERALD -7961 ABBE KATIA -1340 ABBE MICHELE -9270 ABBE SOPHIE -2945 ABBEVILLE PASCAL -8596 ABEBERRY PATRICK -6399 ABEILLES RENE -8673 ABEL JEAN PIERRE 9742 YZENGREMER MICHEL -8738 ZILINA JEAN LOUIS +1340 ABBE MICHELE 5357 ZOLA BERNARD +6627 ABBAYE GERALD +4552 ABBADIE MONIQUE 5441 ZOLA BRIGITTE -1325 ZOLA CHRISTINE -4859 ZORI CATHERINE 4102 ZOUAVES ALAIN +8673 ABEL JEAN PIERRE +4859 ZORI CATHERINE +2945 ABBEVILLE PASCAL +1325 ZOLA CHRISTINE +6399 ABEILLES RENE +8596 ABEBERRY PATRICK +9270 ABBE SOPHIE +7961 ABBE KATIA +307 ABBAYE ANNICK +8738 ZILINA JEAN LOUIS SELECT matricule, nom, prenom FROM t2 WHERE nom > 'HELEN' AND nom < 'HEROS'; matricule nom prenom -9096 HELENA PHILIPPE -3309 HELENE ISABELLE -8365 HELIOTROPES LISE -4666 HELLEN PIERRE -5781 HELSINKI DANIELLE +2085 HEOL GUY PAUL +2673 HENNER LILIANE +7093 HERAULTS DANIEL 7626 HENIN PHILIPPE +403 HERMITTE PHILIPPE 4254 HENIN SERGE -2673 HENNER LILIANE +4666 HELLEN PIERRE +3309 HELENE ISABELLE +9749 HEROLD ISABELLE 9716 HENRI JACQUES -2085 HEOL GUY PAUL -2579 HERANDIERE PIERRE -7093 HERAULTS DANIEL +1291 HERMITAGE XAVIER +8365 HELIOTROPES LISE 4050 HERBILLON FRANCOIS 9231 HERBILLON MADELEINE -1291 HERMITAGE XAVIER +9096 HELENA PHILIPPE +5781 HELSINKI DANIELLE +2579 HERANDIERE PIERRE 6185 HERMITTE FRANCOIS -403 HERMITTE PHILIPPE -9749 HEROLD ISABELLE SELECT matricule, nom, prenom FROM t2 WHERE nom BETWEEN 'HELEN' AND 'HEROS'; matricule nom prenom -6199 HELEN MARTIAL -9096 HELENA PHILIPPE -3309 HELENE ISABELLE -8365 HELIOTROPES LISE -4666 HELLEN PIERRE -5781 HELSINKI DANIELLE +2085 HEOL GUY PAUL +2673 HENNER LILIANE +7093 HERAULTS DANIEL 7626 HENIN PHILIPPE +403 HERMITTE PHILIPPE 4254 HENIN SERGE -2673 HENNER LILIANE +4666 HELLEN PIERRE +3309 HELENE ISABELLE +9749 HEROLD ISABELLE 9716 HENRI JACQUES -2085 HEOL GUY PAUL -2579 HERANDIERE PIERRE -7093 HERAULTS DANIEL +1291 HERMITAGE XAVIER +8365 HELIOTROPES LISE 4050 HERBILLON FRANCOIS 9231 HERBILLON MADELEINE -1291 HERMITAGE XAVIER -6185 HERMITTE FRANCOIS -403 HERMITTE PHILIPPE -9749 HEROLD ISABELLE 8445 HEROS SYLVIE +9096 HELENA PHILIPPE +5781 HELSINKI DANIELLE +2579 HERANDIERE PIERRE +6199 HELEN MARTIAL +6185 HERMITTE FRANCOIS SELECT matricule, nom, prenom FROM t2 WHERE nom BETWEEN 'HELEN' AND 'HEROS' AND prenom = 'PHILIPPE'; matricule nom prenom -9096 HELENA PHILIPPE 7626 HENIN PHILIPPE 403 HERMITTE PHILIPPE +9096 HELENA PHILIPPE SELECT matricule, nom, prenom FROM t2 ORDER BY nom LIMIT 10; matricule nom prenom 4552 ABBADIE MONIQUE diff --git a/storage/connect/mysql-test/connect/r/part_file.result b/storage/connect/mysql-test/connect/r/part_file.result index c679ed95062..3dabd946b50 100644 --- a/storage/connect/mysql-test/connect/r/part_file.result +++ b/storage/connect/mysql-test/connect/r/part_file.result @@ -145,14 +145,11 @@ id select_type table partitions type possible_keys key key_len ref rows Extra SELECT * FROM t1 WHERE id = 10; rwid rnum prtn tbn fid id msg 1 1 2 t1 part2 10 ten -EXPLAIN PARTITIONS SELECT * FROM t1 WHERE id >= 10; +EXPLAIN PARTITIONS SELECT * FROM t1 WHERE id >= 40; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 2,3 range PRIMARY PRIMARY 4 NULL 7 Using where -SELECT * FROM t1 WHERE id >= 10; +1 SIMPLE t1 2,3 range PRIMARY PRIMARY 4 NULL 4 Using where +SELECT * FROM t1 WHERE id >= 40; rwid rnum prtn tbn fid id msg -1 1 2 t1 part2 10 ten -3 3 2 t1 part2 20 twenty -4 4 2 t1 part2 35 thirty five 2 2 2 t1 part2 40 forty 1 1 3 t1 part3 60 sixty 3 3 3 t1 part3 72 seventy two diff --git a/storage/connect/mysql-test/connect/r/xml2_mult.result b/storage/connect/mysql-test/connect/r/xml2_mult.result index 87d1118edd5..07c86d961e1 100644 --- a/storage/connect/mysql-test/connect/r/xml2_mult.result +++ b/storage/connect/mysql-test/connect/r/xml2_mult.result @@ -74,6 +74,8 @@ Warnings: Warning 1105 Truncated author content # increase author size ALTER TABLE bookstore MODIFY `author` VARCHAR(128) NOT NULL; +Warnings: +Warning 1105 This is an outward table, table data were not modified. SELECT * FROM bookstore; category title lang author year price COOKING Everyday Italian en Giada De Laurentiis 2005 30.00 diff --git a/storage/connect/mysql-test/connect/r/xml_mult.result b/storage/connect/mysql-test/connect/r/xml_mult.result index 9922b40060c..c786a80819c 100644 --- a/storage/connect/mysql-test/connect/r/xml_mult.result +++ b/storage/connect/mysql-test/connect/r/xml_mult.result @@ -72,6 +72,8 @@ Warnings: Warning 1105 Truncated author content # increase author size ALTER TABLE bookstore MODIFY `author` VARCHAR(128) NOT NULL; +Warnings: +Warning 1105 This is an outward table, table data were not modified. SELECT * FROM bookstore; category title lang author year price COOKING Everyday Italian en Giada De Laurentiis 2005 30.00 diff --git a/storage/connect/mysql-test/connect/t/mysql_index.test b/storage/connect/mysql-test/connect/t/mysql_index.test index 81fdcad9330..74dc48f42c8 100644 --- a/storage/connect/mysql-test/connect/t/mysql_index.test +++ b/storage/connect/mysql-test/connect/t/mysql_index.test @@ -49,10 +49,10 @@ SELECT * FROM t2; SELECT * FROM t2 WHERE id = 3; SELECT * FROM t2 WHERE id IN (2,4); SELECT * FROM t2 WHERE id IN (2,4) AND msg = 'Two'; -SELECT * FROM t2 WHERE id > 3; +SELECT * FROM t2 WHERE id > 4; SELECT * FROM t2 WHERE id >= 3; SELECT * FROM t2 WHERE id < 3; -SELECT * FROM t2 WHERE id < 3 OR id > 4; +SELECT * FROM t2 WHERE id < 2 OR id > 4; SELECT * FROM t2 WHERE id <= 3; SELECT * FROM t2 WHERE id BETWEEN 3 AND 5; SELECT * FROM t2 WHERE id > 2 AND id < 6; diff --git a/storage/connect/mysql-test/connect/t/part_file.test b/storage/connect/mysql-test/connect/t/part_file.test index 8ee43a917ec..2e5127f03e5 100644 --- a/storage/connect/mysql-test/connect/t/part_file.test +++ b/storage/connect/mysql-test/connect/t/part_file.test @@ -82,8 +82,8 @@ SELECT * FROM t1; SELECT * FROM t1 order by id; EXPLAIN PARTITIONS SELECT * FROM t1 WHERE id = 10; SELECT * FROM t1 WHERE id = 10; -EXPLAIN PARTITIONS SELECT * FROM t1 WHERE id >= 10; -SELECT * FROM t1 WHERE id >= 10; +EXPLAIN PARTITIONS SELECT * FROM t1 WHERE id >= 40; +SELECT * FROM t1 WHERE id >= 40; SELECT count(*) FROM t1 WHERE id < 10; SELECT case when id < 10 then 1 when id < 50 then 2 else 3 end as pn, count(*) FROM t1 group by pn; SELECT prtn, count(*) FROM t1 group by prtn; diff --git a/storage/connect/tabext.cpp b/storage/connect/tabext.cpp index e9c7b2490d8..aaf14f123c6 100644 --- a/storage/connect/tabext.cpp +++ b/storage/connect/tabext.cpp @@ -342,7 +342,6 @@ bool TDBEXT::MakeSQL(PGLOBAL g, bool cnt) char *catp = NULL, buf[NAM_LEN * 3]; int len; bool first = true; - PTABLE tablep = To_Table; PCOL colp; if (Srcdef) @@ -455,6 +454,7 @@ void TDBEXT::RemoveConst(PGLOBAL g, char *stmt) int n, nc; while ((p = strstr(stmt, "NAME_CONST"))) + { if ((n = sscanf(p, "%*[^,],%1024[^)])%n", val, &nc))) { if (trace(33)) htrc("p=%s\nn=%d val=%s nc=%d\n", p, n, val, nc); @@ -478,8 +478,8 @@ void TDBEXT::RemoveConst(PGLOBAL g, char *stmt) } else break; - - return; + } + return; } // end of RemoveConst /***********************************************************************/ diff --git a/storage/connect/tabmysql.cpp b/storage/connect/tabmysql.cpp index ceffafac02c..83c20b26701 100644 --- a/storage/connect/tabmysql.cpp +++ b/storage/connect/tabmysql.cpp @@ -1259,7 +1259,7 @@ MYSQLCOL::MYSQLCOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i, PCSZ am) MYSQLCOL::MYSQLCOL(MYSQL_FIELD *fld, PTDB tdbp, int i, PCSZ am) : COLBLK(NULL, tdbp, i) { - const char *chset = get_charset_name(fld->charsetnr); +//const char *chset = get_charset_name(fld->charsetnr); //char v = (!strcmp(chset, "binary")) ? 'B' : 0; char v = 0; @@ -1400,6 +1400,7 @@ void MYSQLCOL::ReadColumn(PGLOBAL g) /* If physical fetching of the line was deferred, do it now. */ /*********************************************************************/ if (!tdbp->Fetched) + { if ((rc = tdbp->Myc.Fetch(g, tdbp->N)) != RC_OK) { if (rc == RC_EF) sprintf(g->Message, MSG(INV_DEF_READ), rc); @@ -1407,7 +1408,7 @@ void MYSQLCOL::ReadColumn(PGLOBAL g) throw 11; } else tdbp->Fetched = true; - + } if ((buf = ((PTDBMY)To_Tdb)->Myc.GetCharField(Rank))) { if (trace(2)) htrc("MySQL ReadColumn: name=%s buf=%s\n", Name, buf); diff --git a/storage/connect/tabxcl.cpp b/storage/connect/tabxcl.cpp index 93a24accc3c..4634f6a4ded 100644 --- a/storage/connect/tabxcl.cpp +++ b/storage/connect/tabxcl.cpp @@ -274,7 +274,8 @@ void XCLCOL::ReadColumn(PGLOBAL g) PSZ p; // Trim left - for (p = Cp; *p == ' '; p++) ; + for (p = Cp; *p == ' '; p++) + ; if ((Cp = strchr(Cp, Sep))) // Separator is found diff --git a/storage/connect/value.cpp b/storage/connect/value.cpp index d9330a68a15..5da54543750 100644 --- a/storage/connect/value.cpp +++ b/storage/connect/value.cpp @@ -2600,12 +2600,13 @@ bool DTVAL::MakeDate(PGLOBAL g, int *val, int nval) // Pass g to have an error return or NULL to set invalid dates to 0 if (MakeTime(&datm)) + { if (g) { strcpy(g->Message, MSG(BAD_DATETIME)); rc = true; } else Tval = 0; - + } return rc; } // end of MakeDate |