summaryrefslogtreecommitdiff
path: root/storage/connect/myutil.cpp
diff options
context:
space:
mode:
authorOlivier Bertrand <bertrandop@gmail.com>2013-11-06 18:22:09 +0100
committerOlivier Bertrand <bertrandop@gmail.com>2013-11-06 18:22:09 +0100
commit056f35d0c136af4437344d4fbce80172e6d96817 (patch)
tree954befda500a4f7b1fb3b6d5b1e814a7077c3d96 /storage/connect/myutil.cpp
parentf1325549e9eca1311435255854da0a93923eff9b (diff)
downloadmariadb-git-056f35d0c136af4437344d4fbce80172e6d96817.tar.gz
- Move all enum AMT definitions in one place (plgdbsem.h)
modified: storage/connect/filamtxt.h storage/connect/filamzip.h storage/connect/myconn.h storage/connect/plgdbsem.h storage/connect/taboccur.h storage/connect/tabutil.h storage/connect/tabxcl.h - Add the possibility to execute several commands in one query of an EXECSRC tables (using ...where command in (cmd list);) modified: storage/connect/ha_connect.cc storage/connect/odbconn.cpp storage/connect/odbconn.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabtbl.cpp storage/connect/tabwmi.cpp storage/connect/xtable.h - Enhance retrieving column definitions in discovery: From SRCDEF adding LIMIT 0 to the executed query Testing if type, length, and precision are compatible Making the distinction between CHAR and VARCHAR modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/mysql.result storage/connect/mysql-test/connect/r/odbc_sqlite3.result storage/connect/mysql-test/connect/r/odbc_sqlite3_grant.result storage/connect/myutil.h storage/connect/myutil.h storage/connect/odbconn.cpp storage/connect/value.h
Diffstat (limited to 'storage/connect/myutil.cpp')
-rw-r--r--storage/connect/myutil.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/storage/connect/myutil.cpp b/storage/connect/myutil.cpp
index b266b7b79c1..ecea6a0eada 100644
--- a/storage/connect/myutil.cpp
+++ b/storage/connect/myutil.cpp
@@ -29,7 +29,7 @@
/************************************************************************/
/* Convert from MySQL type name to PlugDB type number */
/************************************************************************/
-int MYSQLtoPLG(char *typname)
+int MYSQLtoPLG(char *typname, char *var)
{
int type;
@@ -56,6 +56,10 @@ int MYSQLtoPLG(char *typname)
else
type = TYPE_ERROR;
+ // This is to make the difference between CHAR and VARCHAR
+ if (var && type == TYPE_STRING && stricmp(typname, "char"))
+ *var = 'V';
+
return type;
} // end of MYSQLtoPLG
@@ -98,14 +102,14 @@ enum enum_field_types PLGtoMYSQL(int type, bool dbf)
/************************************************************************/
/* Convert from PlugDB type to MySQL type name */
/************************************************************************/
-const char *PLGtoMYSQLtype(int type, bool dbf)
+const char *PLGtoMYSQLtype(int type, bool dbf, char var)
{
switch (type) {
case TYPE_INT: return "INT";
case TYPE_SHORT: return "SMALLINT";
case TYPE_FLOAT: return "DOUBLE";
case TYPE_DATE: return dbf ? "DATE" : "DATETIME";
- case TYPE_STRING: return "VARCHAR";
+ case TYPE_STRING: return var ? "VARCHAR" : "CHAR";
case TYPE_BIGINT: return "BIGINT";
case TYPE_TINY: return "TINYINT";
default: return "CHAR(0)";