mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL.
modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
This commit is contained in:
@@ -58,12 +58,8 @@ int MYSQLtoPLG(char *typname, char *var)
|
||||
type = TYPE_ERROR;
|
||||
|
||||
if (var) {
|
||||
// This is to make the difference between CHAR and VARCHAR
|
||||
if (type == TYPE_STRING && stricmp(typname, "char"))
|
||||
*var = 'V';
|
||||
|
||||
// This is to make the difference between temporal values
|
||||
if (type == TYPE_DATE) {
|
||||
// This is to make the difference between temporal values
|
||||
if (!stricmp(typname, "date"))
|
||||
*var = 'D';
|
||||
else if (!stricmp(typname, "datetime"))
|
||||
@@ -75,7 +71,11 @@ int MYSQLtoPLG(char *typname, char *var)
|
||||
else if (!stricmp(typname, "year"))
|
||||
*var = 'Y';
|
||||
|
||||
} // endif type
|
||||
} else if (type == TYPE_STRING && stricmp(typname, "char"))
|
||||
// This is to make the difference between CHAR and VARCHAR
|
||||
*var = 'V';
|
||||
else
|
||||
*var = 0;
|
||||
|
||||
} // endif var
|
||||
|
||||
@@ -200,7 +200,6 @@ int MYSQLtoPLG(int mytype, char *var)
|
||||
case MYSQL_TYPE_TINY_BLOB:
|
||||
case MYSQL_TYPE_MEDIUM_BLOB:
|
||||
case MYSQL_TYPE_LONG_BLOB:
|
||||
if (var) *var = 'V';
|
||||
case MYSQL_TYPE_STRING:
|
||||
type = TYPE_STRING;
|
||||
break;
|
||||
@@ -208,6 +207,25 @@ int MYSQLtoPLG(int mytype, char *var)
|
||||
type = TYPE_ERROR;
|
||||
} // endswitch mytype
|
||||
|
||||
if (var) switch (mytype) {
|
||||
// This is to make the difference between CHAR and VARCHAR
|
||||
case MYSQL_TYPE_VAR_STRING:
|
||||
#if !defined(ALPHA)
|
||||
case MYSQL_TYPE_VARCHAR:
|
||||
#endif // !ALPHA)
|
||||
case MYSQL_TYPE_BLOB:
|
||||
case MYSQL_TYPE_TINY_BLOB:
|
||||
case MYSQL_TYPE_MEDIUM_BLOB:
|
||||
case MYSQL_TYPE_LONG_BLOB: *var = 'V'; break;
|
||||
// This is to make the difference between temporal values
|
||||
case MYSQL_TYPE_TIMESTAMP: *var = 'S'; break;
|
||||
case MYSQL_TYPE_DATE: *var = 'D'; break;
|
||||
case MYSQL_TYPE_DATETIME: *var = 'A'; break;
|
||||
case MYSQL_TYPE_YEAR: *var = 'Y'; break;
|
||||
case MYSQL_TYPE_TIME: *var = 'T'; break;
|
||||
default: *var = 0;
|
||||
} // endswitch mytype
|
||||
|
||||
return type;
|
||||
} // end of MYSQLtoPLG
|
||||
|
||||
|
Reference in New Issue
Block a user