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
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list