On 03/13/2014 03:52 PM, Michael Paquier wrote:
> Please find attached a patch adding regression tests for the functions
> in info.c. The following functions, that use hardcoded column names
> for their results are checked:
> - SQLGetTypeInfo
> - SQLTables
> - SQLColumns
> - SQLSpecialColumns
> - SQLStatistics
> - SQLPrimaryKeys
> - SQLForeignKeys
> - SQLProcedureColumns
> - SQLTablePrivileges
> Note that the number of columns used for some of those functions, like
> SQLGetTypeInfo, has increased since 0x0300, so those regression tests
> are not compatible with versions of odbc older than 0x0300 and would
> need an alternative output.
Hmm, that's fine as far as it goes, but surely we need to test that they
actually return correct data, not just the column names?
I envisioned the "catalogfunctions" test case to eventually cover these,
although at the moment it only tests SQLTables. The ODBC standard calls
these "catalog functions", per
http://msdn.microsoft.com/en-us/library/ms711722%28v=vs.85%29.aspx. From
that list, you're missing SQLColumnPrivileges and SQLProcedures.
> The patch attached does not have the
> alternative output for ODBCVER < 0x0300. Do we honestly need it?
Certainly not after you cleanup that removes #ifdefs :-). If we still
care for ODBCVER < 0x0300 in 9.3, we could just not merge this until the
cleanup, but I don't think we care. If someone's building with ODBCVER <
0x0300, he can just ignore the failure.
- Heikki