Changeset: 44f0b8d3db68 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=44f0b8d3db68
Added Files:
        sql/backends/monet5/generator/90_generator.mal
        sql/backends/monet5/generator/90_generator.sql
        sql/backends/monet5/generator/Makefile.ag
        sql/backends/monet5/generator/Tests/All
        sql/backends/monet5/generator/Tests/generator00.sql
        sql/backends/monet5/generator/Tests/generator00.stable.err
        sql/backends/monet5/generator/Tests/generator00.stable.out
        sql/backends/monet5/generator/Tests/generator01.sql
        sql/backends/monet5/generator/Tests/generator01.stable.err
        sql/backends/monet5/generator/Tests/generator01.stable.out
        sql/backends/monet5/generator/Tests/generator02.sql
        sql/backends/monet5/generator/Tests/generator02.stable.err
        sql/backends/monet5/generator/Tests/generator02.stable.out
        sql/backends/monet5/generator/Tests/generator03.sql
        sql/backends/monet5/generator/Tests/generator03.stable.err
        sql/backends/monet5/generator/Tests/generator03.stable.out
        sql/backends/monet5/generator/Tests/joins00.sql
        sql/backends/monet5/generator/Tests/joins00.stable.err
        sql/backends/monet5/generator/Tests/joins00.stable.out
        sql/backends/monet5/generator/generator.c
        sql/backends/monet5/generator/generator.h
        sql/backends/monet5/generator/generator.mal
        sql/test/json/Tests/aggregate01.sql
        sql/test/json/Tests/aggregate01.stable.err
        sql/test/json/Tests/aggregate01.stable.out
        sql/test/pg_regress/Tests/abstime.sql
        sql/test/pg_regress/Tests/aggregates.sql
        sql/test/pg_regress/Tests/alter_table.sql
        sql/test/pg_regress/Tests/arrays.sql
        sql/test/pg_regress/Tests/bit.sql
        sql/test/pg_regress/Tests/boolean.sql
        sql/test/pg_regress/Tests/box.sql
        sql/test/pg_regress/Tests/btree_index.sql
        sql/test/pg_regress/Tests/case.sql
        sql/test/pg_regress/Tests/char.sql
        sql/test/pg_regress/Tests/circle.sql
        sql/test/pg_regress/Tests/cluster.sql
        sql/test/pg_regress/Tests/comments.sql
        sql/test/pg_regress/Tests/conversion.sql
        sql/test/pg_regress/Tests/copy2.sql
        sql/test/pg_regress/Tests/create_aggregate.sql
        sql/test/pg_regress/Tests/create_index.sql
        sql/test/pg_regress/Tests/create_misc.sql
        sql/test/pg_regress/Tests/create_operator.sql
        sql/test/pg_regress/Tests/create_table.sql
        sql/test/pg_regress/Tests/create_type.sql
        sql/test/pg_regress/Tests/create_view.sql
        sql/test/pg_regress/Tests/date.sql
        sql/test/pg_regress/Tests/domain.sql
        sql/test/pg_regress/Tests/drop.sql
        sql/test/pg_regress/Tests/errors.sql
        sql/test/pg_regress/Tests/float4.sql
        sql/test/pg_regress/Tests/float8.sql
        sql/test/pg_regress/Tests/foreign_key.sql
        sql/test/pg_regress/Tests/geometry.sql
        sql/test/pg_regress/Tests/hash_index.sql
        sql/test/pg_regress/Tests/horology.sql
        sql/test/pg_regress/Tests/inet.sql
        sql/test/pg_regress/Tests/inherit.sql
        sql/test/pg_regress/Tests/insert.sql
        sql/test/pg_regress/Tests/int2.sql
        sql/test/pg_regress/Tests/int4.sql
        sql/test/pg_regress/Tests/int8.sql
        sql/test/pg_regress/Tests/interval.sql
        sql/test/pg_regress/Tests/join.sql
        sql/test/pg_regress/Tests/limit.sql
        sql/test/pg_regress/Tests/lseg.sql
        sql/test/pg_regress/Tests/mule_internal.sql
        sql/test/pg_regress/Tests/name.sql
        sql/test/pg_regress/Tests/namespace.sql
        sql/test/pg_regress/Tests/numeric.sql
        sql/test/pg_regress/Tests/numeric_big.sql
        sql/test/pg_regress/Tests/numerology.sql
        sql/test/pg_regress/Tests/oid.sql
        sql/test/pg_regress/Tests/oidjoins.sql
        sql/test/pg_regress/Tests/opr_sanity.sql
        sql/test/pg_regress/Tests/path.sql
        sql/test/pg_regress/Tests/plpgsql.sql
        sql/test/pg_regress/Tests/point.sql
        sql/test/pg_regress/Tests/polygon.sql
        sql/test/pg_regress/Tests/polymorphism.sql
        sql/test/pg_regress/Tests/portals.sql
        sql/test/pg_regress/Tests/portals_p2.sql
        sql/test/pg_regress/Tests/prepare.sql
        sql/test/pg_regress/Tests/privileges.sql
        sql/test/pg_regress/Tests/random.sql
        sql/test/pg_regress/Tests/rangefuncs.sql
        sql/test/pg_regress/Tests/reltime.sql
        sql/test/pg_regress/Tests/rowtypes.sql
        sql/test/pg_regress/Tests/rules.sql
        sql/test/pg_regress/Tests/sanity_check.sql
        sql/test/pg_regress/Tests/select.sql
        sql/test/pg_regress/Tests/select_distinct.sql
        sql/test/pg_regress/Tests/select_distinct_on.sql
        sql/test/pg_regress/Tests/select_having.sql
        sql/test/pg_regress/Tests/select_implicit.sql
        sql/test/pg_regress/Tests/select_into.sql
        sql/test/pg_regress/Tests/select_views.sql
        sql/test/pg_regress/Tests/sequence.sql
        sql/test/pg_regress/Tests/sql_ascii.sql
        sql/test/pg_regress/Tests/stats.sql
        sql/test/pg_regress/Tests/strings.sql
        sql/test/pg_regress/Tests/strings_cast.sql
        sql/test/pg_regress/Tests/strings_concat.sql
        sql/test/pg_regress/Tests/strings_like.sql
        sql/test/pg_regress/Tests/subselect.sql
        sql/test/pg_regress/Tests/temp.sql
        sql/test/pg_regress/Tests/text.sql
        sql/test/pg_regress/Tests/time.sql
        sql/test/pg_regress/Tests/timestamp.sql
        sql/test/pg_regress/Tests/timestamptz.sql
        sql/test/pg_regress/Tests/timetz.sql
        sql/test/pg_regress/Tests/tinterval.sql
        sql/test/pg_regress/Tests/transactions.sql
        sql/test/pg_regress/Tests/triggers.sql
        sql/test/pg_regress/Tests/truncate.sql
        sql/test/pg_regress/Tests/type_sanity.sql
        sql/test/pg_regress/Tests/union.sql
        sql/test/pg_regress/Tests/update.sql
        sql/test/pg_regress/Tests/vacuum.sql
        sql/test/pg_regress/Tests/varchar.sql
        sql/test/pg_regress/Tests/without_oid.sql
Removed Files:
        sql/test/pg_regress/monetdb/abstime.sql
        sql/test/pg_regress/monetdb/aggregates.sql
        sql/test/pg_regress/monetdb/alter_table.sql
        sql/test/pg_regress/monetdb/arrays.sql
        sql/test/pg_regress/monetdb/bit.sql
        sql/test/pg_regress/monetdb/boolean.sql
        sql/test/pg_regress/monetdb/box.sql
        sql/test/pg_regress/monetdb/btree_index.sql
        sql/test/pg_regress/monetdb/case.sql
        sql/test/pg_regress/monetdb/char.sql
        sql/test/pg_regress/monetdb/circle.sql
        sql/test/pg_regress/monetdb/cluster.sql
        sql/test/pg_regress/monetdb/comments.sql
        sql/test/pg_regress/monetdb/conversion.sql
        sql/test/pg_regress/monetdb/copy2.sql
        sql/test/pg_regress/monetdb/create_aggregate.sql
        sql/test/pg_regress/monetdb/create_index.sql
        sql/test/pg_regress/monetdb/create_misc.sql
        sql/test/pg_regress/monetdb/create_operator.sql
        sql/test/pg_regress/monetdb/create_table.sql
        sql/test/pg_regress/monetdb/create_type.sql
        sql/test/pg_regress/monetdb/create_view.sql
        sql/test/pg_regress/monetdb/date.sql
        sql/test/pg_regress/monetdb/domain.sql
        sql/test/pg_regress/monetdb/drop.sql
        sql/test/pg_regress/monetdb/errors.sql
        sql/test/pg_regress/monetdb/float4.sql
        sql/test/pg_regress/monetdb/float8.sql
        sql/test/pg_regress/monetdb/foreign_key.sql
        sql/test/pg_regress/monetdb/geometry.sql
        sql/test/pg_regress/monetdb/hash_index.sql
        sql/test/pg_regress/monetdb/horology.sql
        sql/test/pg_regress/monetdb/inet.sql
        sql/test/pg_regress/monetdb/inherit.sql
        sql/test/pg_regress/monetdb/insert.sql
        sql/test/pg_regress/monetdb/int2.sql
        sql/test/pg_regress/monetdb/int4.sql
        sql/test/pg_regress/monetdb/int8.sql
        sql/test/pg_regress/monetdb/interval.sql
        sql/test/pg_regress/monetdb/join.sql
        sql/test/pg_regress/monetdb/limit.sql
        sql/test/pg_regress/monetdb/lseg.sql
        sql/test/pg_regress/monetdb/mule_internal.sql
        sql/test/pg_regress/monetdb/name.sql
        sql/test/pg_regress/monetdb/namespace.sql
        sql/test/pg_regress/monetdb/numeric.sql
        sql/test/pg_regress/monetdb/numeric_big.sql
        sql/test/pg_regress/monetdb/numerology.sql
        sql/test/pg_regress/monetdb/oid.sql
        sql/test/pg_regress/monetdb/oidjoins.sql
        sql/test/pg_regress/monetdb/opr_sanity.sql
        sql/test/pg_regress/monetdb/path.sql
        sql/test/pg_regress/monetdb/plpgsql.sql
        sql/test/pg_regress/monetdb/point.sql
        sql/test/pg_regress/monetdb/polygon.sql
        sql/test/pg_regress/monetdb/polymorphism.sql
        sql/test/pg_regress/monetdb/portals.sql
        sql/test/pg_regress/monetdb/portals_p2.sql
        sql/test/pg_regress/monetdb/prepare.sql
        sql/test/pg_regress/monetdb/privileges.sql
        sql/test/pg_regress/monetdb/random.sql
        sql/test/pg_regress/monetdb/rangefuncs.sql
        sql/test/pg_regress/monetdb/reltime.sql
        sql/test/pg_regress/monetdb/rowtypes.sql
        sql/test/pg_regress/monetdb/rules.sql
        sql/test/pg_regress/monetdb/sanity_check.sql
        sql/test/pg_regress/monetdb/select.sql
        sql/test/pg_regress/monetdb/select_distinct.sql
        sql/test/pg_regress/monetdb/select_distinct_on.sql
        sql/test/pg_regress/monetdb/select_having.sql
        sql/test/pg_regress/monetdb/select_implicit.sql
        sql/test/pg_regress/monetdb/select_into.sql
        sql/test/pg_regress/monetdb/select_views.sql
        sql/test/pg_regress/monetdb/sequence.sql
        sql/test/pg_regress/monetdb/sql_ascii.sql
        sql/test/pg_regress/monetdb/stats.sql
        sql/test/pg_regress/monetdb/strings.sql
        sql/test/pg_regress/monetdb/strings_cast.sql
        sql/test/pg_regress/monetdb/strings_concat.sql
        sql/test/pg_regress/monetdb/strings_like.sql
        sql/test/pg_regress/monetdb/subselect.sql
        sql/test/pg_regress/monetdb/temp.sql
        sql/test/pg_regress/monetdb/text.sql
        sql/test/pg_regress/monetdb/time.sql
        sql/test/pg_regress/monetdb/timestamp.sql
        sql/test/pg_regress/monetdb/timestamptz.sql
        sql/test/pg_regress/monetdb/timetz.sql
        sql/test/pg_regress/monetdb/tinterval.sql
        sql/test/pg_regress/monetdb/transactions.sql
        sql/test/pg_regress/monetdb/triggers.sql
        sql/test/pg_regress/monetdb/truncate.sql
        sql/test/pg_regress/monetdb/type_sanity.sql
        sql/test/pg_regress/monetdb/union.sql
        sql/test/pg_regress/monetdb/update.sql
        sql/test/pg_regress/monetdb/vacuum.sql
        sql/test/pg_regress/monetdb/varchar.sql
        sql/test/pg_regress/monetdb/without_oid.sql
Modified Files:
        .hgtags
        MonetDB.spec
        NT/installer32/MonetDB-ODBC-Installer.vdproj
        NT/installer32/MonetDB5-Geom-Module.vdproj
        NT/installer32/MonetDB5-SQL-Installer.vdproj
        NT/installer64/MonetDB-ODBC-Installer.vdproj
        NT/installer64/MonetDB5-Geom-Module.vdproj
        NT/installer64/MonetDB5-SQL-Installer.vdproj
        NT/monetdb_config.h.in
        NT/rules.msc
        bootstrap
        clients/mapilib/mapi.rc
        clients/odbc/driver/ODBCUtil.c
        clients/odbc/driver/SQLGetInfo.c
        clients/odbc/driver/driver.rc
        clients/odbc/winsetup/setup.rc
        clients/python2/setup.py
        clients/python2/test/capabilities.py
        clients/python3/setup.py
        clients/python3/test/capabilities.py
        common/stream/stream.c
        configure.ag
        debian/changelog
        debian/control
        gdk/gdk.h
        gdk/gdk_imprints.c
        gdk/libbat.rc
        java/src/nl/cwi/monetdb/jdbc/MonetResultSet.java
        libversions
        monetdb5/modules/atoms/json.c
        monetdb5/modules/atoms/json.mal
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/kernel/algebra.h
        monetdb5/modules/kernel/algebra.mal
        monetdb5/modules/mal/batExtensions.c
        monetdb5/modules/mal/batExtensions.h
        monetdb5/modules/mal/batExtensions.mal
        monetdb5/modules/mal/tablet.c
        monetdb5/tools/libmonetdb5.rc
        sql/backends/monet5/Makefile.ag
        sql/scripts/40_json.sql
        sql/server/rel_select.c
        sql/server/sql_parser.y
        sql/test/json/Tests/All
        sql/test/json/Tests/aggregate00.sql
        sql/test/json/Tests/aggregate00.stable.out
        sql/test/pg_regress/Tests/All
        testing/Mtest.py.in
        vertoo.data
Branch: bloomfilters
Log Message:

Merge with default branch.


diffs (truncated from 41836 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -564,3 +564,6 @@ fa6872e2a8cf8bb3b4fb25a3b356946316f52a6b
 242fe4b4960f54c339f7a6fb79aedd8f3b5e217a Jan2014_SP1_release
 c91c4d792dee1074ce6f489e94ce4bfc480edfb3 Jan2014_15
 13e1b24f442791f5ab790fa77453d3bd4e88a9c8 Jan2014_SP2_release
+c3051f066a9eea814487dfb0b7cf7070ae16cd21 Jan2014_17
+13e1b24f442791f5ab790fa77453d3bd4e88a9c8 Jan2014_SP2_release
+389f5f0d4c43ab689e31c28e01b43c8b7ba8de9c Jan2014_SP2_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -800,6 +800,10 @@ mv $RPM_BUILD_ROOT%{_datadir}/doc/MonetD
 rm -fr $RPM_BUILD_ROOT
 
 %changelog
+* Wed May 14 2014 Sjoerd Mullender <sjo...@acm.org> - 11.17.17-20140514
+- Rebuilt.
+- BZ#3482: Crossproduct error
+
 * Thu May 08 2014 Sjoerd Mullender <sjo...@acm.org> - 11.17.15-20140508
 - Rebuilt.
 - BZ#3424: numeric values at the front of strings determines whether
diff --git a/bootstrap b/bootstrap
--- a/bootstrap
+++ b/bootstrap
@@ -29,6 +29,17 @@ type -P glibtoolize > /dev/null \
        && libtoolize=glibtoolize \
        || libtoolize=libtoolize
 
+# cope with systems where aclocal is known as aclocal-1.10 (and
+# automake as automake-1.10), e.g. OpenIndiana
+amv=
+if ! type -P aclocal > /dev/null; then
+    if type -P aclocal-1.11 > /dev/null; then
+       amv=-1.11
+    elif type -P aclocal-1.10 > /dev/null; then
+       amv=-1.10
+    fi
+fi
+
 _m4_extra_dirs=
 if [[ -n ${M4DIRS} ]] ; then
        for d in ${M4DIRS} ; do
@@ -52,9 +63,9 @@ while read f; do [ -x $f.in ] && echo "A
 sed '1,/^AC_CONFIG_FILES/d' configure.ag
 ) > configure.ac &&
 $libtoolize -c -f  &&
-aclocal ${_m4_extra_dirs} &&
+aclocal$amv ${_m4_extra_dirs} &&
 autoheader  &&
-automake --add-missing --copy --foreign  &&
+automake$amv --add-missing --copy --foreign  &&
 autoconf
 if [ -f buildtools/conf/install-sh -a ! -x buildtools/conf/install-sh ]; then
     chmod +x buildtools/conf/install-sh
diff --git a/clients/odbc/driver/ODBCUtil.c b/clients/odbc/driver/ODBCUtil.c
--- a/clients/odbc/driver/ODBCUtil.c
+++ b/clients/odbc/driver/ODBCUtil.c
@@ -290,7 +290,7 @@ static struct scalars {
 } scalars[] = {
        {"ascii", 1, "\"ascii\"(\1)", },
        {"bit_length", 1, NULL, },
-       {"char", 1, NULL, },
+       {"char", 1, "\"code\"(\1)", },
        {"char_length", 1, "\"char_length\"(\1)", },
        {"character_length", 1, "\"character_length\"(\1)", },
        {"concat", 2, "\"concat\"(\1,\2)", },
@@ -356,6 +356,7 @@ static struct scalars {
        {"now", 0, "\"now\"()", },
        {"quarter", 1, "((\"month\"(\1) - 1) / 3 + 1)", },
        {"second", 1, "\"second\"(\1)", },
+       {"timestampadd", 3, NULL, },
        {"timestampdiff", 3, NULL, },
        {"week", 1, "\"week\"(\1)", },
        {"year", 1, "\"year\"(\1)", },
@@ -402,7 +403,7 @@ static struct convert {
        { "SQL_TIMESTAMP", "timestamp", },
        { "SQL_TINYINT", "tinyint", },
        { "SQL_VARBINARY", "binary large object", },
-       { "SQL_VARCHAR", "character large object", },
+       { "SQL_VARCHAR", "character varying", },
        { "SQL_WCHAR", "character", },
        { "SQL_WLONGVARCHAR", "character large object", },
        { "SQL_WVARCHAR", "character large object", },
@@ -565,7 +566,7 @@ ODBCTranslateSQL(ODBCDbc *dbc, const SQL
                        while (*p == ' ')
                                p++;
                        proc = p;
-                       while (*p && isascii(*p) && isalnum(*p))
+                       while (*p && isascii(*p) && (*p == '_' || isalnum(*p)))
                                p++;
                        if (p == proc ||
                            (isascii(*proc) && !isalpha(*proc)))
@@ -619,7 +620,7 @@ ODBCTranslateSQL(ODBCDbc *dbc, const SQL
                        while (*p == ' ')
                                p++;
                        scalarfunc = p;
-                       while (*p && isascii(*p) && isalnum(*p))
+                       while (*p && isascii(*p) && (*p == '_' || isalnum(*p)))
                                p++;
                        if (p == scalarfunc ||
                            (isascii(*scalarfunc) && !isalpha(*scalarfunc)))
diff --git a/clients/odbc/driver/SQLGetInfo.c b/clients/odbc/driver/SQLGetInfo.c
--- a/clients/odbc/driver/SQLGetInfo.c
+++ b/clients/odbc/driver/SQLGetInfo.c
@@ -51,7 +51,7 @@ SQLGetInfo_(ODBCDbc *dbc,
        int nValue = 0;
        char buf[64];
        const char *sValue = NULL;      /* iff non-NULL, return string value */
-       int len = 0;
+       int len = sizeof(SQLUINTEGER);  /* most common size to return */
 
        /* For some info types an active connection is needed */
        if (!dbc->Connected &&
@@ -66,10 +66,10 @@ SQLGetInfo_(ODBCDbc *dbc,
 
        switch (InfoType) {
        case SQL_ACCESSIBLE_PROCEDURES:
-               sValue = "Y";
+               sValue = "Y";   /* "N" */
                break;
        case SQL_ACCESSIBLE_TABLES:
-               sValue = "N";
+               sValue = "N";   /* "Y" */
                break;
        case SQL_ACTIVE_ENVIRONMENTS:
                nValue = 0;     /* 0 = no limit */
@@ -83,10 +83,8 @@ SQLGetInfo_(ODBCDbc *dbc,
                        SQL_AF_MAX |
                        SQL_AF_MIN |
                        SQL_AF_SUM;
-               len = sizeof(SQLUINTEGER);
                break;
        case SQL_ALTER_DOMAIN:
-               nValue = 0;
                /* SQL_AD_ADD_CONSTRAINT_DEFERRABLE |
                 * SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED |
                 * SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE |
@@ -96,114 +94,133 @@ SQLGetInfo_(ODBCDbc *dbc,
                 * SQL_AD_CONSTRAINT_NAME_DEFINITION |
                 * SQL_AD_DROP_DOMAIN_CONSTRAINT |
                 * SQL_AD_DROP_DOMAIN_DEFAULT */
-               len = sizeof(SQLUINTEGER);
                break;
        case SQL_ALTER_TABLE:
-               nValue = SQL_AT_ADD_COLUMN_DEFAULT |
+               nValue = SQL_AT_ADD_COLUMN | /* ODBC 2.0, deprecated value */
+                       SQL_AT_ADD_COLUMN_DEFAULT |
                        SQL_AT_ADD_COLUMN_SINGLE |
                        SQL_AT_ADD_CONSTRAINT |
                        SQL_AT_ADD_TABLE_CONSTRAINT |
                        SQL_AT_CONSTRAINT_NAME_DEFINITION |
+                       SQL_AT_DROP_COLUMN | /* ODBC 2.0, deprecated value */
+                       SQL_AT_DROP_COLUMN_CASCADE |
+                       SQL_AT_DROP_COLUMN_DEFAULT |
                        SQL_AT_DROP_COLUMN_RESTRICT |
+                       SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE |
                        SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT |
                        SQL_AT_SET_COLUMN_DEFAULT;
-               /* SQL_AT_ADD_COLUMN_SINGLE |
-                * SQL_AT_ADD_COLUMN_COLLATION |
-                * SQL_AT_ADD_COLUMN_DEFAULT |
-                * SQL_AT_ADD_TABLE_CONSTRAINT |
-                * SQL_AT_ADD_TABLE_CONSTRAINT |
+               /* SQL_AT_ADD_COLUMN_COLLATION |
                 * SQL_AT_CONSTRAINT_DEFERRABLE |
                 * SQL_AT_CONSTRAINT_INITIALLY_DEFERRED |
                 * SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE |
-                * SQL_AT_CONSTRAINT_NAME_DEFINITION |
-                * SQL_AT_DROP_COLUMN_CASCADE |
-                * SQL_AT_DROP_COLUMN_DEFAULT |
-                * SQL_AT_DROP_COLUMN_RESTRICT |
-                * SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE |
-                * SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT |
-                * SQL_AT_SET_COLUMN_DEFAULT |
                 * SQL_AT_CONSTRAINT_NON_DEFERRABLE */
-               len = sizeof(SQLUINTEGER);
                break;
+#ifdef SQL_ASYNC_DBC_FUNCTIONS
+       case SQL_ASYNC_DBC_FUNCTIONS:
+               nValue = SQL_ASYNC_DBC_NOT_CAPABLE;
+               /* SQL_ASYNC_DBC_CAPABLE */
+               break;
+#endif
        case SQL_ASYNC_MODE:
                nValue = SQL_AM_NONE;
                /* SQL_AM_CONNECTION, SQL_AM_STATEMENT */
-               len = sizeof(SQLUINTEGER);
                break;
+#ifdef SQL_ASYNC_NOTIFICATION
+       case SQL_ASYNC_NOTIFICATION:
+               nValue = SQL_ASYNC_NOTIFICATION_NOT_CAPABLE;
+               /* SQL_ASYNC_NOTIFICATION_CAPABLE */
+               break;
+#endif
        case SQL_BATCH_ROW_COUNT:
                nValue = SQL_BRC_EXPLICIT;
                /* SQL_BRC_PROCEDURES | SQL_BRC_ROLLED_UP */
-               len = sizeof(SQLUINTEGER);
                break;
        case SQL_BATCH_SUPPORT:
                nValue = SQL_BS_ROW_COUNT_EXPLICIT | SQL_BS_SELECT_EXPLICIT;
                /* SQL_BS_ROW_COUNT_PROC |
                 * SQL_BS_SELECT_PROC */
-               len = sizeof(SQLUINTEGER);
                break;
        case SQL_BOOKMARK_PERSISTENCE:
-               nValue = 0;     /* bookmarks not supported */
                /* SQL_BP_CLOSE |
                 * SQL_BP_DELETE |
                 * SQL_BP_DROP |
                 * SQL_BP_OTHER_HSTMT |
                 * SQL_BP_TRANSACTION |
                 * SQL_BP_UPDATE */
-               len = sizeof(SQLUINTEGER);
                break;
        case SQL_CATALOG_LOCATION:
-               nValue = 0;     /* catalogs not supported */
                /* SQL_CL_END, SQL_CL_START */
                len = sizeof(SQLUSMALLINT);
                break;
        case SQL_CATALOG_NAME:
-               sValue = "N";
+               sValue = "N";   /* "Y" */
                break;
        case SQL_CATALOG_NAME_SEPARATOR:
        case SQL_CATALOG_TERM:
                sValue = "";
                break;
        case SQL_CATALOG_USAGE:
-               nValue = 0;
                /* SQL_CU_DML_STATEMENTS |
                 * SQL_CU_INDEX_DEFINITION |
                 * SQL_CU_PRIVILEGE_DEFINITION |
                 * SQL_CU_PROCEDURE_INVOCATION |
                 * SQL_CU_TABLE_DEFINITION */
-               len = sizeof(SQLUINTEGER);
                break;
        case SQL_COLLATION_SEQ:
                sValue = "UTF-8";
                break;
        case SQL_COLUMN_ALIAS:
-               sValue = "Y";
+               sValue = "Y";   /* "N" */
                break;
        case SQL_CONCAT_NULL_BEHAVIOR:
                nValue = SQL_CB_NULL;
                /* SQL_CB_NON_NULL */
                len = sizeof(SQLUSMALLINT);
                break;
+       case SQL_CONVERT_TINYINT:
+       case SQL_CONVERT_SMALLINT:
+       case SQL_CONVERT_INTEGER:
        case SQL_CONVERT_BIGINT:
+               nValue = SQL_CVT_BIGINT |
+                       SQL_CVT_BIT |
+                       SQL_CVT_CHAR |
+                       SQL_CVT_DECIMAL |
+                       SQL_CVT_DOUBLE |
+                       SQL_CVT_FLOAT |
+                       SQL_CVT_INTEGER |
+                       SQL_CVT_INTERVAL_DAY_TIME |
+                       SQL_CVT_INTERVAL_YEAR_MONTH |
+                       SQL_CVT_LONGVARCHAR |
+                       SQL_CVT_NUMERIC |
+                       SQL_CVT_REAL |
+                       SQL_CVT_SMALLINT |
+                       SQL_CVT_TINYINT |
+                       SQL_CVT_VARCHAR;
+               break;
        case SQL_CONVERT_BINARY:
+       case SQL_CONVERT_LONGVARBINARY:
+       case SQL_CONVERT_VARBINARY:
+               nValue = SQL_CVT_BINARY |
+                       SQL_CVT_CHAR |
+                       SQL_CVT_LONGVARBINARY |
+                       SQL_CVT_LONGVARCHAR |
+                       SQL_CVT_VARBINARY |
+                       SQL_CVT_VARCHAR;
+               /* SQL_CVT_GUID */
+               break;
        case SQL_CONVERT_BIT:
+               nValue = SQL_CVT_BIGINT |
+                       SQL_CVT_BIT |
+                       SQL_CVT_CHAR |
+                       SQL_CVT_INTEGER |
+                       SQL_CVT_LONGVARCHAR |
+                       SQL_CVT_SMALLINT |
+                       SQL_CVT_TINYINT |
+                       SQL_CVT_VARCHAR;
+               break;
        case SQL_CONVERT_CHAR:
-       case SQL_CONVERT_DATE:
-       case SQL_CONVERT_DECIMAL:
-       case SQL_CONVERT_DOUBLE:
-       case SQL_CONVERT_FLOAT:
-       case SQL_CONVERT_INTEGER:
-       case SQL_CONVERT_INTERVAL_DAY_TIME:
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to