summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorMichael Widenius <monty@askmonty.org>2011-06-11 12:04:42 +0300
committerMichael Widenius <monty@askmonty.org>2011-06-11 12:04:42 +0300
commit9f6f04360ab80ab1b104ef8e660c7ccffde28601 (patch)
tree7e281fb508fa87bddefb3aa7b30722cb979f1056 /storage
parente5403ec95a82002ff30b74fd8d556a1641426d31 (diff)
parent49874ff827bdbc33cb0be677b6262e8f7784f69b (diff)
downloadmariadb-git-9f6f04360ab80ab1b104ef8e660c7ccffde28601.tar.gz
Merge with Sergei's tree to get in latest microsecond patches and also fixes to innodb_plugin.
Diffstat (limited to 'storage')
-rw-r--r--storage/innobase/handler/ha_innodb.cc5
-rw-r--r--storage/innodb_plugin/handler/ha_innodb.cc5
-rw-r--r--storage/innodb_plugin/handler/i_s.cc2
-rw-r--r--storage/xtradb/handler/ha_innodb.cc5
-rw-r--r--storage/xtradb/handler/i_s.cc2
5 files changed, 13 insertions, 6 deletions
diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
index a195c09506a..ce264b1bbb4 100644
--- a/storage/innobase/handler/ha_innodb.cc
+++ b/storage/innobase/handler/ha_innodb.cc
@@ -3229,6 +3229,11 @@ get_innobase_type_from_mysql_type(
case HA_KEYTYPE_DOUBLE:
return(DATA_DOUBLE);
case HA_KEYTYPE_BINARY:
+ if (field->type() == MYSQL_TYPE_TINY)
+ { // compatibility workaround
+ *unsigned_flag= DATA_UNSIGNED ;
+ return DATA_INT;
+ }
return(DATA_FIXBINARY);
case HA_KEYTYPE_VARBINARY2:
if (field->type() != MYSQL_TYPE_VARCHAR)
diff --git a/storage/innodb_plugin/handler/ha_innodb.cc b/storage/innodb_plugin/handler/ha_innodb.cc
index c45c8c912c3..38adab109fc 100644
--- a/storage/innodb_plugin/handler/ha_innodb.cc
+++ b/storage/innodb_plugin/handler/ha_innodb.cc
@@ -3995,6 +3995,11 @@ get_innobase_type_from_mysql_type(
case HA_KEYTYPE_DOUBLE:
return(DATA_DOUBLE);
case HA_KEYTYPE_BINARY:
+ if (field->type() == MYSQL_TYPE_TINY)
+ { // compatibility workaround
+ *unsigned_flag= DATA_UNSIGNED;
+ return DATA_INT;
+ }
return(DATA_FIXBINARY);
case HA_KEYTYPE_VARBINARY2:
if (field->type() != MYSQL_TYPE_VARCHAR)
diff --git a/storage/innodb_plugin/handler/i_s.cc b/storage/innodb_plugin/handler/i_s.cc
index b0149967e9b..4fe8beafedc 100644
--- a/storage/innodb_plugin/handler/i_s.cc
+++ b/storage/innodb_plugin/handler/i_s.cc
@@ -161,7 +161,7 @@ field_store_time_t(
my_time.time_type = MYSQL_TIMESTAMP_DATETIME;
#endif
- return(field->store_time(&my_time, MYSQL_TIMESTAMP_DATETIME));
+ return(field->store_time(&my_time));
}
/*******************************************************************//**
diff --git a/storage/xtradb/handler/ha_innodb.cc b/storage/xtradb/handler/ha_innodb.cc
index c37bfe6a2c4..c4e6fa0df0d 100644
--- a/storage/xtradb/handler/ha_innodb.cc
+++ b/storage/xtradb/handler/ha_innodb.cc
@@ -4492,10 +4492,7 @@ get_innobase_type_from_mysql_type(
case MYSQL_TYPE_LONG_BLOB:
return(DATA_BLOB);
case MYSQL_TYPE_NULL:
- /* MySQL currently accepts "NULL" datatype, but will
- reject such datatype in the next release. We will cope
- with it and not trigger assertion failure in 5.1 */
- break;
+ return(DATA_FIXBINARY);
default:
ut_error;
}
diff --git a/storage/xtradb/handler/i_s.cc b/storage/xtradb/handler/i_s.cc
index f6160614686..d989ce87aa3 100644
--- a/storage/xtradb/handler/i_s.cc
+++ b/storage/xtradb/handler/i_s.cc
@@ -168,7 +168,7 @@ field_store_time_t(
my_time.time_type = MYSQL_TIMESTAMP_DATETIME;
#endif
- return(field->store_time(&my_time, MYSQL_TIMESTAMP_DATETIME));
+ return(field->store_time(&my_time));
}
/*******************************************************************//**