From: Carlos G. A. <car...@te...> - 2003-04-30 07:34:14
|
Hello: >>retrieving revision 1.5 >>diff -u -r1.5 IscResultSet.cpp >>--- IscResultSet.cpp 26 Mar 2003 10:51:49 -0000 1.5 >>+++ IscResultSet.cpp 29 Apr 2003 21:58:49 -0000 >>@@ -124,8 +124,8 @@ >> if (id < 1 || id > numberColumns) >> throw SQLEXCEPTION (RUNTIME_ERROR, "invalid column index for result > > set"); > >>- /*if (conversions [id - 1]) >>- return conversions [id - 1];*/ >>+ if (conversions [id - 1]) >>+ return conversions [id - 1]; >> > I am sorry, this my opinion. > > Variable conversions is used only in a class IscResultSet and serves > temporary > By the buffer care of the data to the client. > > This buffer is cleaned before everyone of call next()! I know, well the two lines that are commented in IscResultet.cpp are part of original driver code, i commented them some time ago because i get problems using Micorosft OdbcTest application, here is a sample of resultet obtained with the lines uncommented ( for SqlColumns ODBC function ): <Null>, <Null>, "ALBCB", "EMPRESA", 1, "CHAR", 4, 4, <Null>, <Null>, 0, <Null>, "", 1, <Null>, 4, 1, "NO" <Null>, <Null>, "ALBCB", "ALMACEN", 1, "CHAR", 4, 4, <Null>, <Null>, <Null>, <Null>, "", 1, <Null>, <Null>, <Null>, "NO" <Null>, <Null>, "ALBCB", "TIPO", 1, "CHAR", 4, 4, <Null>, <Null>, <Null>, <Null>, "", 1, <Null>, <Null>, <Null>, "NO" <Null>, <Null>, "ALBCB", "NUMERO", 1, "CHAR", 4, 4, <Null>, <Null>, <Null>, <Null>, "", 1, <Null>, <Null>, <Null>, "NO" And here is a correct sample: "TABLE_CAT", "TABLE_SCHEM", "TABLE_NAME", "COLUMN_NAME", "DATA_TYPE", "TYPE_NAME", "COLUMN_SIZE", "BUFFER_LENGTH", "DECIMAL_DIGITS", "NUM_PREC_RADIX", "NULLABLE", "REMARKS", "COLUMN_DEF", "SQL_DATA_TYPE", "SQL_DATETIME_SUB", "CHAR_OCTET_LENGTH", "ORDINAL_POSITION", "IS_NULLABLE" <Null>, <Null>, "ALBCB", "EMPRESA", 1, "CHAR", 4, 4, <Null>, <Null>, 0, <Null>, "", 1, <Null>, 4, 1, "NO" <Null>, <Null>, "ALBCB", "ALMACEN", 1, "CHAR", 4, 4, <Null>, <Null>, 0, <Null>, "", 1, <Null>, 4, 2, "NO" <Null>, <Null>, "ALBCB", "TIPO", 1, "CHAR", 1, 1, <Null>, <Null>, 0, <Null>, "", 1, <Null>, 1, 3, "NO" <Null>, <Null>, "ALBCB", "NUMERO", 1, "CHAR", 11, 11, <Null>, <Null>, 0, <Null>, "", 1, <Null>, 11, 4, "NO" Now reviewing this, if i add the next two lines: reset(); allocConversions(); to the beginning of IscColumnsResultSet::next i obtain correct results, but i'm not sure if this is correct because the call resultset->next() already make this, if we add this probably will be nedded to review all IscResultSet based classes. -- Best regards Carlos Guzmán Álvarez Vigo-Spain "No tengo dones especiales.Sólo soy apasionadamente curioso" Albert Einstein, científico. |