Changeset: cdbf20f8d15d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cdbf20f8d15d
Added Files:
        sql/test/BugTracker-2013/Tests/copy-into-compressed.Bug-3351.sql.in
        sql/test/BugTracker-2013/Tests/copy-into-compressed.Bug-3351.stable.err
        sql/test/BugTracker-2013/Tests/copy-into-compressed.Bug-3351.stable.out
        sql/test/BugTracker-2013/Tests/median.Bug-3352.sql
        sql/test/BugTracker-2013/Tests/median.Bug-3352.stable.err
        sql/test/BugTracker-2013/Tests/median.Bug-3352.stable.out
        sql/test/BugTracker-2013/Tests/test3351.csv
        sql/test/BugTracker-2013/Tests/test3351.csv.bz2
        sql/test/BugTracker-2013/Tests/test3351.csv.gz
Modified Files:
        clients/odbc/driver/ODBCConvert.c
        clients/odbc/driver/ODBCGlobal.h
        clients/odbc/driver/ODBCUtil.c
        clients/odbc/driver/ODBCUtil.h
        clients/odbc/driver/SQLBindParameter.c
        clients/odbc/driver/SQLBrowseConnect.c
        clients/odbc/driver/SQLColAttribute.c
        clients/odbc/driver/SQLColAttributes.c
        clients/odbc/driver/SQLColumnPrivileges.c
        clients/odbc/driver/SQLColumns.c
        clients/odbc/driver/SQLConnect.c
        clients/odbc/driver/SQLDataSources.c
        clients/odbc/driver/SQLDescribeCol.c
        clients/odbc/driver/SQLDriverConnect.c
        clients/odbc/driver/SQLDrivers.c
        clients/odbc/driver/SQLError.c
        clients/odbc/driver/SQLExecDirect.c
        clients/odbc/driver/SQLExecute.c
        clients/odbc/driver/SQLForeignKeys.c
        clients/odbc/driver/SQLGetConnectAttr.c
        clients/odbc/driver/SQLGetConnectOption.c
        clients/odbc/driver/SQLGetCursorName.c
        clients/odbc/driver/SQLGetDescField.c
        clients/odbc/driver/SQLGetDescRec.c
        clients/odbc/driver/SQLGetDiagField.c
        clients/odbc/driver/SQLGetDiagRec.c
        clients/odbc/driver/SQLGetInfo.c
        clients/odbc/driver/SQLGetStmtAttr.c
        clients/odbc/driver/SQLGetTypeInfo.c
        clients/odbc/driver/SQLNativeSql.c
        clients/odbc/driver/SQLPrepare.c
        clients/odbc/driver/SQLPrimaryKeys.c
        clients/odbc/driver/SQLProcedureColumns.c
        clients/odbc/driver/SQLProcedures.c
        clients/odbc/driver/SQLSetConnectAttr.c
        clients/odbc/driver/SQLSetConnectOption.c
        clients/odbc/driver/SQLSetCursorName.c
        clients/odbc/driver/SQLSetDescField.c
        clients/odbc/driver/SQLSetStmtAttr.c
        clients/odbc/driver/SQLSpecialColumns.c
        clients/odbc/driver/SQLStatistics.c
        clients/odbc/driver/SQLTablePrivileges.c
        clients/odbc/driver/SQLTables.c
        common/stream/stream.c
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
        monetdb5/mal/Tests/tst1200.mal
        monetdb5/mal/Tests/tst1200.stable.out
        monetdb5/mal/Tests/tst1201.mal
        monetdb5/mal/Tests/tst1201.stable.out
        monetdb5/mal/Tests/tst1202.mal
        monetdb5/mal/Tests/tst1202.stable.out
        monetdb5/mal/Tests/tst1205.mal
        monetdb5/mal/Tests/tst1205.stable.out
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/mtime.h
        monetdb5/modules/atoms/mtime.mal
        sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
        sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql_statement.c
        sql/common/sql_hash.c
        sql/common/sql_list.c
        sql/common/sql_types.c
        sql/include/sql_list.h
        sql/server/rel_exp.c
        sql/server/rel_optimizer.c
        sql/server/rel_psm.c
        sql/server/rel_select.c
        sql/server/rel_updates.c
        sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
        sql/test/BugTracker-2009/Tests/ambiguous_order_by.SF-2827916.stable.err
        sql/test/BugTracker-2009/Tests/ambiguous_view.stable.err
        sql/test/BugTracker-2009/Tests/assert_in_update.SF-2807336.stable.err
        
sql/test/BugTracker-2009/Tests/copy_into_error_off_by_one.SF-2833696.stable.err
        sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.err
        
sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.stable.err
        
sql/test/BugTracker-2009/Tests/create_table_dup_name.SF-2879005.stable.err
        sql/test/BugTracker-2009/Tests/drop-sequence-crash.SF-2854195.stable.err
        sql/test/BugTracker-2009/Tests/except_error_wrong.SF-2808409.stable.err
        sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.err
        sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.out
        sql/test/BugTracker-2009/Tests/incomplete.SF.2536893.stable.err
        
sql/test/BugTracker-2009/Tests/insert_into_values_bug.SF-2807609.stable.err
        sql/test/BugTracker-2009/Tests/limit_in_subquery.SF-2620437.stable.err
        
sql/test/BugTracker-2009/Tests/not_invalidtable_crash.SF-2927174.stable.err
        sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.err
        sql/test/BugTracker-2009/Tests/primekeyconstraint.SF-2783425.stable.err
        sql/test/BugTracker-2009/Tests/rollback_bug.stable.err
        sql/test/BugTracker-2009/Tests/rollback_mistake.SF-2814622.stable.err
        
sql/test/BugTracker-2009/Tests/segv_for_unknown_identifier_in_subquery.SF-2874045.stable.err
        
sql/test/BugTracker-2009/Tests/select_X_where_bla_EQ_whatever.SF-282597.stable.err
        sql/test/BugTracker-2009/Tests/select_from_history.SF-2556566.stable.err
        
sql/test/BugTracker-2009/Tests/subquery_returns_table_crash.SF-2513620.stable.err
        
sql/test/BugTracker-2009/Tests/temp_table_fail_leaves_data.SF-2793286.stable.err
        
sql/test/BugTracker-2009/Tests/temporary_table_leftover.SF-2734713.stable.err
        
sql/test/BugTracker-2009/Tests/unique_constraint_on_char.SF-2873564.stable.err
        sql/test/BugTracker-2009/Tests/wrong_error_message.SF-2637051.stable.err
        
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
        
sql/test/BugTracker-2010/Tests/TypeException_with_missing_function.Bug-2674.stable.err
        
sql/test/BugTracker-2010/Tests/call_function_without_warning.Bug-2752.stable.err
        
sql/test/BugTracker-2010/Tests/copy-into-too-long-string.Bug-2358.stable.err
        
sql/test/BugTracker-2010/Tests/crash_default_unlocked.Bug-2744.stable.err
        sql/test/BugTracker-2010/Tests/crash_on_in_2.Bug-2604.stable.err
        sql/test/BugTracker-2010/Tests/crashonschema.Bug-2547.stable.err
        sql/test/BugTracker-2010/Tests/duplicate-key.Bug-2667.stable.err
        sql/test/BugTracker-2010/Tests/error-truncated.Bug-2615.stable.err
        
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
        
sql/test/BugTracker-2010/Tests/incomplete-utf8-sequence.Bug-2575.stable.err
        sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.stable.err
        
sql/test/BugTracker-2010/Tests/second_function_existing_signature.Bug-2611.stable.err
        sql/test/BugTracker-2010/Tests/select_from_seq.Bug-2730.stable.err
        sql/test/BugTracker-2010/Tests/select_star.Bug-2563.stable.err
        
sql/test/BugTracker-2010/Tests/sequence-restart-with-null.Bug-2648.stable.err
        sql/test/BugTracker-2010/Tests/subselect.Bug-2537.stable.err
        sql/test/BugTracker-2010/Tests/sum_on_date_crash.Bug-2643.stable.err
        sql/test/BugTracker-2010/Tests/times-crash.Bug-2586.stable.err
        
sql/test/BugTracker-2010/Tests/wrong_error_message_dropping_view.Bug-2713.stable.err
        sql/test/BugTracker-2012/Tests/create_function.Bug-3172.stable.err
        
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
        
sql/test/BugTracker-2012/Tests/table_function_with_column_subselects.Bug-3172.stable.err
        sql/test/BugTracker-2013/Tests/All
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out
        sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
        sql/test/Dependencies/Tests/Dependencies.stable.out
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check5.stable.out
Branch: default
Log Message:

Merge with Feb2013 branch.


diffs (truncated from 7692 to 300 lines):

diff --git a/clients/odbc/driver/ODBCConvert.c 
b/clients/odbc/driver/ODBCConvert.c
--- a/clients/odbc/driver/ODBCConvert.c
+++ b/clients/odbc/driver/ODBCConvert.c
@@ -397,13 +397,12 @@ ODBCDefaultType(ODBCDescRec *rec)
        case SQL_LONGVARCHAR:
        case SQL_DECIMAL:
        case SQL_NUMERIC:
+       case SQL_GUID:
                return SQL_C_CHAR;
-#ifdef WITH_WCHAR
        case SQL_WCHAR:
        case SQL_WVARCHAR:
        case SQL_WLONGVARCHAR:
                return SQL_C_WCHAR;
-#endif
        case SQL_BIT:
                return SQL_C_BIT;
        case SQL_TINYINT:
@@ -455,8 +454,6 @@ ODBCDefaultType(ODBCDescRec *rec)
                return SQL_C_INTERVAL_HOUR_TO_SECOND;
        case SQL_INTERVAL_MINUTE_TO_SECOND:
                return SQL_C_INTERVAL_MINUTE_TO_SECOND;
-       case SQL_GUID:
-               return SQL_C_GUID;
        }
        return 0;
 }
@@ -1093,8 +1090,6 @@ ODBCFetch(ODBCStmt *stmt,
 
        /* see SQLExecute.c for possible types */
        switch (sql_type) {
-       case SQL_CHAR:
-               break;
        case SQL_DECIMAL:
        case SQL_TINYINT:
        case SQL_SMALLINT:
@@ -1215,9 +1210,7 @@ ODBCFetch(ODBCStmt *stmt,
 
        switch (type) {
        case SQL_C_CHAR:
-#ifdef WITH_WCHAR
        case SQL_C_WCHAR:
-#endif
        {
                SQLPOINTER origptr;
                SQLLEN origbuflen;
@@ -1237,20 +1230,21 @@ ODBCFetch(ODBCStmt *stmt,
 
                origbuflen = buflen;
                origlenp = lenp;
-#ifdef WITH_WCHAR
                if (type == SQL_C_WCHAR) {
                        /* allocate temporary space */
                        buflen = 511; /* should be enough for most types */
                        if (data != NULL &&
                            (sql_type == SQL_CHAR ||
                             sql_type == SQL_VARCHAR ||
-                            sql_type == SQL_LONGVARCHAR))
+                            sql_type == SQL_LONGVARCHAR ||
+                            sql_type == SQL_WCHAR ||
+                            sql_type == SQL_WVARCHAR ||
+                            sql_type == SQL_WLONGVARCHAR))
                                buflen = (SQLLEN) datalen + 1; /* but this is 
certainly enough for strings */
                        ptr = malloc(buflen);
 
                        lenp = NULL;
                }
-#endif
                switch (sql_type) {
                        SQLLEN sz;
 
@@ -1258,6 +1252,9 @@ ODBCFetch(ODBCStmt *stmt,
                case SQL_CHAR:
                case SQL_VARCHAR:
                case SQL_LONGVARCHAR:
+               case SQL_WCHAR:
+               case SQL_WVARCHAR:
+               case SQL_WLONGVARCHAR:
                        copyString(data, datalen, ptr, buflen, lenp, SQLLEN, 
addStmtError, stmt, return SQL_ERROR);
                        break;
                case SQL_BINARY:
@@ -1272,10 +1269,8 @@ ODBCFetch(ODBCStmt *stmt,
                        if (buflen < 0) {
                                /* Invalid string or buffer length */
                                addStmtError(stmt, "HY090", NULL, 0);
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        for (k = 0; k < datalen; k++) {
@@ -1289,10 +1284,8 @@ ODBCFetch(ODBCStmt *stmt,
                                        /* should not happen */
                                        /* General error */
                                        addStmtError(stmt, "HY000", "Unexpected 
data from server", 0);
-#ifdef WITH_WCHAR
                                        if (type == SQL_C_WCHAR)
                                                free(ptr);
-#endif
                                        return SQL_ERROR;
                                }
                                if (k & 1) {
@@ -1324,10 +1317,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        if (lenp)
@@ -1360,10 +1351,8 @@ ODBCFetch(ODBCStmt *stmt,
                                                 * of range */
                                                addStmtError(stmt, "22003", 
NULL, 0);
 
-#ifdef WITH_WCHAR
                                                if (type == SQL_C_WCHAR)
                                                        free(ptr);
-#endif
                                                return SQL_ERROR;
                                        }
                                        /* current precision (i) doesn't fit,
@@ -1388,10 +1377,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        data = (char *) ptr;
@@ -1413,10 +1400,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        data = (char *) ptr;
@@ -1448,10 +1433,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        if (lenp)
@@ -1487,10 +1470,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        if (lenp)
@@ -1507,10 +1488,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        if (lenp)
@@ -1527,10 +1506,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        if (lenp)
@@ -1546,10 +1523,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        if (lenp)
@@ -1566,10 +1541,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        if (lenp)
@@ -1587,10 +1560,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        if (lenp)
@@ -1613,10 +1584,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        data += sz;
@@ -1654,10 +1623,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        if (lenp)
@@ -1675,10 +1642,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        if (lenp)
@@ -1701,10 +1666,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        data += sz;
@@ -1743,10 +1706,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        if (lenp)
@@ -1769,10 +1730,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
                        data += sz;
@@ -1816,10 +1775,8 @@ ODBCFetch(ODBCStmt *stmt,
                                /* Numeric value out of range */
                                addStmtError(stmt, "22003", NULL, 0);
 
-#ifdef WITH_WCHAR
                                if (type == SQL_C_WCHAR)
                                        free(ptr);
-#endif
                                return SQL_ERROR;
                        }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to