mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 19:37:16 +02:00
Merge with new VARCHAR code
configure.in: Auto merged BitKeeper/deleted/.del-acinclude.m4~f4ab416bac5003: Auto merged BitKeeper/deleted/.del-ha_isam.cc~4dce65904db2675e: Auto merged BitKeeper/deleted/.del-ha_isammrg.cc~dc682e4755d77a2e: Auto merged client/mysqldump.c: Auto merged client/mysqltest.c: Auto merged heap/hp_create.c: Auto merged heap/hp_delete.c: Auto merged heap/hp_hash.c: Auto merged heap/hp_write.c: Auto merged include/decimal.h: Auto merged include/m_ctype.h: Auto merged libmysql/libmysql.c: Auto merged libmysqld/Makefile.am: Auto merged myisam/mi_check.c: Auto merged myisam/mi_create.c: Auto merged myisam/mi_write.c: Auto merged mysql-test/r/ctype_tis620.result: Auto merged mysql-test/r/ctype_ucs.result: Auto merged mysql-test/r/myisam.result: Auto merged mysql-test/r/mysqldump.result: Auto merged mysql-test/r/order_by.result: Auto merged mysql-test/r/ps.result: Auto merged mysql-test/r/ps_1general.result: Auto merged mysql-test/r/ps_2myisam.result: Auto merged mysql-test/r/ps_3innodb.result: Auto merged mysql-test/r/ps_4heap.result: Auto merged mysql-test/r/ps_5merge.result: Auto merged mysql-test/r/ps_6bdb.result: Auto merged mysql-test/r/select.result: Auto merged mysql-test/r/strict.result: Auto merged mysql-test/r/subselect.result: Auto merged mysql-test/r/type_blob.result: Auto merged mysql-test/t/ctype_ucs.test: Auto merged mysql-test/t/endspace.test: Auto merged mysql-test/t/myisam.test: Auto merged mysql-test/t/ps_1general.test: Auto merged mysql-test/t/strict.test: Auto merged mysql-test/t/type_blob.test: Auto merged ndb/src/common/util/NdbSqlUtil.cpp: Auto merged scripts/mysql_fix_privilege_tables.sh: Auto merged sql/field.h: Auto merged sql/field_conv.cc: Auto merged sql/ha_heap.cc: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_innodb.h: Auto merged sql/ha_myisam.cc: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/handler.h: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_sum.cc: Auto merged sql/opt_range.cc: Auto merged sql/opt_sum.cc: Auto merged sql/protocol.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_help.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/structs.h: Auto merged sql/table.cc: Auto merged strings/ctype-czech.c: Auto merged strings/ctype-uca.c: Auto merged strings/ctype-utf8.c: Auto merged strings/ctype-win1250ch.c: Auto merged strings/decimal.c: Auto merged tests/client_test.c: Auto merged mysql-test/r/bdb.result: Merge with VARCHAR code mysql-test/r/heap.result: Merge with VARCHAR code mysql-test/r/innodb.result: Merge with VARCHAR code mysql-test/r/select.result.es: Merge with VARCHAR code mysql-test/t/bdb.test: Merge with VARCHAR code mysql-test/t/heap.test: Merge with VARCHAR code mysql-test/t/innodb.test: Merge with VARCHAR code sql/field.cc: Merge with VARCHAR code sql/item.cc: Merge with VARCHAR code sql/sql_acl.cc: Merge with VARCHAR code sql/sql_parse.cc: Merge with VARCHAR code sql/sql_table.cc: Merge with VARCHAR code sql/sql_update.cc: Merge with VARCHAR code sql/table.h: Merge with VARCHAR code strings/ctype-mb.c: Don't pad my_like_range with max_str for simple LIKE expression strings/ctype-tis620.c: Merge with VARCHAR code strings/ctype-ucs2.c: Added new argument to my_strnncollsp_ucs2() Simply code
This commit is contained in:
commit
8379b61efb
167 changed files with 3257 additions and 19116 deletions
|
|
@ -2010,11 +2010,12 @@ innobase_mysql_cmp(
|
|||
switch (mysql_tp) {
|
||||
|
||||
case FIELD_TYPE_STRING:
|
||||
case FIELD_TYPE_VAR_STRING:
|
||||
case MYSQL_TYPE_VAR_STRING:
|
||||
case FIELD_TYPE_TINY_BLOB:
|
||||
case FIELD_TYPE_MEDIUM_BLOB:
|
||||
case FIELD_TYPE_BLOB:
|
||||
case FIELD_TYPE_LONG_BLOB:
|
||||
case MYSQL_TYPE_VARCHAR:
|
||||
/* Use the charset number to pick the right charset struct for
|
||||
the comparison. Since the MySQL function get_charset may be
|
||||
slow before Bar removes the mutex operation there, we first
|
||||
|
|
@ -2042,7 +2043,7 @@ innobase_mysql_cmp(
|
|||
|
||||
ret = charset->coll->strnncollsp(charset,
|
||||
a, a_length,
|
||||
b, b_length);
|
||||
b, b_length, 0);
|
||||
if (ret < 0) {
|
||||
return(-1);
|
||||
} else if (ret > 0) {
|
||||
|
|
@ -2071,17 +2072,11 @@ get_innobase_type_from_mysql_type(
|
|||
8 bits: this is used in ibuf and also when DATA_NOT_NULL is ORed to
|
||||
the type */
|
||||
|
||||
DBUG_ASSERT((ulint)FIELD_TYPE_STRING < 256);
|
||||
DBUG_ASSERT((ulint)FIELD_TYPE_VAR_STRING < 256);
|
||||
DBUG_ASSERT((ulint)FIELD_TYPE_DOUBLE < 256);
|
||||
DBUG_ASSERT((ulint)FIELD_TYPE_FLOAT < 256);
|
||||
DBUG_ASSERT((ulint)FIELD_TYPE_DECIMAL < 256);
|
||||
|
||||
switch (field->type()) {
|
||||
/* NOTE that we only allow string types in DATA_MYSQL
|
||||
and DATA_VARMYSQL */
|
||||
case FIELD_TYPE_VAR_STRING: if (field->binary()) {
|
||||
|
||||
case MYSQL_TYPE_VAR_STRING:
|
||||
case MYSQL_TYPE_VARCHAR: if (field->binary()) {
|
||||
return(DATA_BINARY);
|
||||
} else if (strcmp(
|
||||
field->charset()->name,
|
||||
|
|
@ -2648,12 +2643,12 @@ innobase_convert_and_store_changed_col(
|
|||
|
||||
if (len == UNIV_SQL_NULL) {
|
||||
data = NULL;
|
||||
} else if (col_type == DATA_VARCHAR || col_type == DATA_BINARY
|
||||
|| col_type == DATA_VARMYSQL) {
|
||||
/* Remove trailing spaces */
|
||||
while (len > 0 && data[len - 1] == ' ') {
|
||||
len--;
|
||||
}
|
||||
} else if (col_type == DATA_VARCHAR || col_type == DATA_BINARY
|
||||
|| col_type == DATA_VARMYSQL) {
|
||||
/* Remove trailing spaces */
|
||||
while (len > 0 && data[len - 1] == ' ') {
|
||||
len--;
|
||||
}
|
||||
} else if (col_type == DATA_INT) {
|
||||
/* Store integer data in InnoDB in a big-endian
|
||||
format, sign bit negated, if signed */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue