mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-5343 ConnectSE: ODBC: CATFUNC=Tables and CATFUNC=Columns crash when
running against a data source with many tables
This commit is contained in:
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -77,3 +77,14 @@ DROP TABLE t1;
|
||||
--eval CREATE TABLE t1 ENGINE=CONNECT CATFUNC=Tables TABNAME='t1' TABLE_TYPE=ODBC CONNECTION='Driver=SQLite3 ODBC Driver;Database=$Database;NoWCHAR=yes' CHARSET=utf8 DATA_CHARSET=utf8
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||
--eval CREATE TABLE t1 ENGINE=CONNECT CATFUNC=Columns TABLE_TYPE=ODBC CONNECTION='Driver=SQLite3 ODBC Driver;Database=$Database;NoWCHAR=yes' CHARSET=utf8 DATA_CHARSET=utf8
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--replace_result $MTR_SUITE_DIR MTR_SUITE_DIR
|
||||
--eval CREATE TABLE t1 ENGINE=CONNECT CATFUNC=Tables TABLE_TYPE=ODBC CONNECTION='Driver=SQLite3 ODBC Driver;Database=$Database;NoWCHAR=yes' CHARSET=utf8 DATA_CHARSET=utf8
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
@@ -226,10 +226,10 @@ static CATPARM *AllocCatInfo(PGLOBAL g, CATINFO fid, char *tab, PQRYRES qrp)
|
||||
cap->Id = fid;
|
||||
cap->Qrp = qrp;
|
||||
cap->Tab = (PUCHAR)tab;
|
||||
cap->Vlen = (SQLLEN* *)PlugSubAlloc(g, NULL, n * sizeof(SDWORD *));
|
||||
cap->Vlen = (SQLLEN* *)PlugSubAlloc(g, NULL, n * sizeof(SQLLEN *));
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
cap->Vlen[i] = (SQLLEN *)PlugSubAlloc(g, NULL, m * sizeof(SDWORD));
|
||||
cap->Vlen[i] = (SQLLEN *)PlugSubAlloc(g, NULL, m * sizeof(SQLLEN));
|
||||
|
||||
cap->Status = (UWORD *)PlugSubAlloc(g, NULL, m * sizeof(UWORD));
|
||||
return cap;
|
||||
|
Reference in New Issue
Block a user