Changeset: a61788b3ccd5 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a61788b3ccd5 Modified Files: monetdb5/modules/mal/mal_init.mx sql/storage/store.c Branch: sciql Log Message:
Merge with default branch. diffs (truncated from 1741 to 300 lines): diff --git a/NT/installer32/MonetDB5-SQL-Installer.vdproj b/NT/installer32/MonetDB5-SQL-Installer.vdproj --- a/NT/installer32/MonetDB5-SQL-Installer.vdproj +++ b/NT/installer32/MonetDB5-SQL-Installer.vdproj @@ -267,12 +267,6 @@ } "Entry" { - "MsmKey" = "8:_42926A9FCCE04738A23BD54972BE73E5" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_455196B50BC54D958DEFB4D1603A7D23" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -519,12 +513,6 @@ } "Entry" { - "MsmKey" = "8:_756EFB7E9A6C4F0591F4237A9E50E44A" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_75A9D2F132214C66865F35074A8EE9EA" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -2057,26 +2045,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_42926A9FCCE04738A23BD54972BE73E5" - { - "SourcePath" = "8:lib\\monetdb5\\opt_tarantula.mal" - "TargetName" = "8:opt_tarantula.mal" - "Tag" = "8:" - "Folder" = "8:_B593DAA0787744D6A44D17884E0C3951" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_455196B50BC54D958DEFB4D1603A7D23" { "SourcePath" = "8:lib\\monetdb5\\opt_selcrack.mal" @@ -2897,26 +2865,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_756EFB7E9A6C4F0591F4237A9E50E44A" - { - "SourcePath" = "8:lib\\monetdb5\\run_tarantula.mal" - "TargetName" = "8:run_tarantula.mal" - "Tag" = "8:" - "Folder" = "8:_B593DAA0787744D6A44D17884E0C3951" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_75A9D2F132214C66865F35074A8EE9EA" { "SourcePath" = "8:lib\\monetdb5\\batmtime.mal" diff --git a/NT/installer64/MonetDB5-SQL-Installer.vdproj b/NT/installer64/MonetDB5-SQL-Installer.vdproj --- a/NT/installer64/MonetDB5-SQL-Installer.vdproj +++ b/NT/installer64/MonetDB5-SQL-Installer.vdproj @@ -267,12 +267,6 @@ } "Entry" { - "MsmKey" = "8:_42926A9FCCE04738A23BD54972BE73E5" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_455196B50BC54D958DEFB4D1603A7D23" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -519,12 +513,6 @@ } "Entry" { - "MsmKey" = "8:_756EFB7E9A6C4F0591F4237A9E50E44A" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_75A9D2F132214C66865F35074A8EE9EA" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -2057,26 +2045,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_42926A9FCCE04738A23BD54972BE73E5" - { - "SourcePath" = "8:lib\\monetdb5\\opt_tarantula.mal" - "TargetName" = "8:opt_tarantula.mal" - "Tag" = "8:" - "Folder" = "8:_B593DAA0787744D6A44D17884E0C3951" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_455196B50BC54D958DEFB4D1603A7D23" { "SourcePath" = "8:lib\\monetdb5\\opt_selcrack.mal" @@ -2897,26 +2865,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_756EFB7E9A6C4F0591F4237A9E50E44A" - { - "SourcePath" = "8:lib\\monetdb5\\run_tarantula.mal" - "TargetName" = "8:run_tarantula.mal" - "Tag" = "8:" - "Folder" = "8:_B593DAA0787744D6A44D17884E0C3951" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_75A9D2F132214C66865F35074A8EE9EA" { "SourcePath" = "8:lib\\monetdb5\\batmtime.mal" diff --git a/java/src/nl/cwi/monetdb/jdbc/MonetResultSet.java b/java/src/nl/cwi/monetdb/jdbc/MonetResultSet.java --- a/java/src/nl/cwi/monetdb/jdbc/MonetResultSet.java +++ b/java/src/nl/cwi/monetdb/jdbc/MonetResultSet.java @@ -1674,10 +1674,18 @@ } if (pdate == null) { // parsing failed - addWarning("parsing failed," + - " found: '" + monetDate.charAt(ppos.getErrorIndex()) + "'" + - " in: \"" + monetDate + "\"" + - " at pos: " + ppos.getErrorIndex()); + int epos = ppos.getErrorIndex(); + if (epos == -1) { + addWarning("parsing '" + monetDate + "' failed"); + } else if (epos < monetDate.length()) { + addWarning("parsing failed," + + " found: '" + monetDate.charAt(epos) + "'" + + " in: \"" + monetDate + "\"" + + " at pos: " + ppos.getErrorIndex()); + } else { + addWarning("parsing failed, expected more data after '" + + monetDate + "'"); + } // default value cal.clear(); nanos = 0; diff --git a/java/tests/Test_Rtimedate.java b/java/tests/Test_Rtimedate.java --- a/java/tests/Test_Rtimedate.java +++ b/java/tests/Test_Rtimedate.java @@ -45,48 +45,93 @@ rs = stmt.executeQuery("SELECT * FROM table_Test_Rtimedate"); rs.next(); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); // the next three should all go well System.out.println("1. " + rs.getString("id") + ", " + rs.getString("ts") + ", " + rs.getTimestamp("ts")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); System.out.println("2. " + rs.getString("id") + ", " + rs.getString("ts") + ", " + rs.getTime("ts")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); System.out.println("3. " + rs.getString("id") + ", " + rs.getString("ts") + ", " + rs.getDate("ts")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); rs.next(); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); // the next two should go fine System.out.println("4. " + rs.getString("id") + ", " + rs.getString("t") + ", " + rs.getTimestamp("t")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); System.out.println("5. " + rs.getString("id") + ", " + rs.getString("t") + ", " + rs.getTime("t")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); // this one should return 0 System.out.println("6. " + rs.getString("id") + ", " + rs.getString("t") + ", " + rs.getDate("t")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); rs.next(); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); // the next one passes System.out.println("7. " + rs.getString("id") + ", " + rs.getString("d") + ", " + rs.getTimestamp("d")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); // this one should return 0 System.out.println("8. " + rs.getString("id") + ", " + rs.getString("d") + ", " + rs.getTime("d")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); // and this one should pass again System.out.println("9. " + rs.getString("id") + ", " + rs.getString("d") + ", " + rs.getDate("d")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); // in the tests below a bare string is parsed // everything will fail except the ones commented on rs.next(); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); // timestamp -> timestamp should go System.out.println("1. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTimestamp("vc")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); System.out.println("2. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTime("vc")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); // timestamp -> date goes because the begin is the same System.out.println("3. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getDate("vc")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); rs.next(); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); System.out.println("4. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTimestamp("vc")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); // time -> time should fit System.out.println("5. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTime("vc")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); System.out.println("6. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getDate("vc")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); rs.next(); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); System.out.println("7. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTimestamp("vc")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); System.out.println("8. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTime("vc")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); // date -> date should be fine System.out.println("9. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getDate("vc")); + readWarnings(rs.getWarnings()); + rs.clearWarnings(); - SQLWarning w = con.getWarnings(); - while (w != null) { - System.out.println("warning: " + w.toString()); - w = w.getNextWarning(); - } + readWarnings(stmt.getWarnings()); + readWarnings(con.getWarnings()); } catch (SQLException e) { System.out.println("failed :( "+ e.getMessage()); System.out.println("ABORTING TEST!!!"); @@ -95,4 +140,11 @@ con.rollback(); con.close(); } + + private static void readWarnings(SQLWarning w) { _______________________________________________ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list