1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

- XML and INI tables now return NULL when a node does not exist in a row (XML)

or if the key is missing in a section (INI)

modified:
  mysql-test/suite/connect/r/ini.result
  mysql-test/suite/connect/r/xml.result
  storage/connect/tabsys.cpp
  storage/connect/tabxml.cpp

- Do a sub-storage cleanup on info commands and fix a limit of column number
  in ODBCColumns. This was doing a crash for unexpected longjmp when many info
  commands were executed in a row.

modified:
  storage/connect/ha_connect.cc
  storage/connect/odbconn.cpp
This commit is contained in:
Olivier Bertrand
2013-03-10 15:10:00 +01:00
parent c7b95cb9df
commit 7a30ec7231
6 changed files with 85 additions and 62 deletions

View File

@@ -258,8 +258,9 @@ PQRYRES ODBCColumns(PGLOBAL g, char *dsn, char *table,
if (ocp->Open(dsn, 2) < 1) // 2 is openReadOnly
return NULL;
// We fix a MySQL limit because some data sources return 32767
n = ocp->GetMaxValue(SQL_MAX_COLUMNS_IN_TABLE);
maxres = (n) ? (int)n : 250;
maxres = (n) ? min(n, 4096) : 4096;
n = ocp->GetMaxValue(SQL_MAX_QUALIFIER_NAME_LEN);
length[0] = (n) ? (n + 1) : 128;
n = ocp->GetMaxValue(SQL_MAX_USER_NAME_LEN);