Changeset: c63c1546b944 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c63c1546b944
Added Files:
        sql/test/BugTracker-2014/Tests/uppercaseboolean.Bug-3519.sql
        sql/test/BugTracker-2014/Tests/uppercaseboolean.Bug-3519.stable.err
        sql/test/BugTracker-2014/Tests/uppercaseboolean.Bug-3519.stable.out
Removed Files:
        sql/test/Skyserver/Skyserver_dropMath.sql
        sql/test/Skyserver/Skyserver_dropMs_functions.sql
Modified Files:
        clients/R/MonetDB.R/DESCRIPTION
        clients/R/MonetDB.R/NEWS
        clients/R/MonetDB.R/R/monetdb.R
        common/stream/stream.c
        gdk/gdk_atoms.c
        sql/scripts/15_querylog.sql
        sql/scripts/16_tracelog.sql
        sql/scripts/22_clients.sql
        sql/scripts/25_debug.sql
        sql/scripts/26_sysmon.sql
        sql/scripts/75_storagemodel.sql
        sql/scripts/80_statistics.sql
        sql/scripts/99_system.sql
        sql/test/Skyserver/Skyserver_functions.sql
        sql/test/Skyserver/Skyserver_functions_v6.sql
        sql/test/Skyserver/Tests/Skyserver.SQL.py
        sql/test/Skyserver/Tests/Skyserver_v6.SQL.py
Branch: bamloader
Log Message:

Merge with default branch.


diffs (truncated from 1341 to 300 lines):

diff --git a/clients/R/MonetDB.R/DESCRIPTION b/clients/R/MonetDB.R/DESCRIPTION
--- a/clients/R/MonetDB.R/DESCRIPTION
+++ b/clients/R/MonetDB.R/DESCRIPTION
@@ -1,6 +1,5 @@
 Package: MonetDB.R
-Version: 0.9.4
-Date: 2013-07-18
+Version: 0.9.5
 Title: Connect MonetDB to R
 Authors@R: c(person("Hannes Muehleisen", role = c("aut", "cre"),email = 
"han...@cwi.nl"),
        person("Thomas Lumley", role = "ctb"),
diff --git a/clients/R/MonetDB.R/NEWS b/clients/R/MonetDB.R/NEWS
--- a/clients/R/MonetDB.R/NEWS
+++ b/clients/R/MonetDB.R/NEWS
@@ -1,3 +1,7 @@
+0.9.5
+- Fixed package date (Thanks, Dimitar)
+- Added sys. schema name to internal queries, so SET SCHEMA xx would not break 
things (Thanks again, Dimitar)
+
 0.9.4
 - dbWriteTable overhaul (thanks, Anthony)
 - Fix for dbListTables for MonetDB versions after Jan2014
diff --git a/clients/R/MonetDB.R/R/monetdb.R b/clients/R/MonetDB.R/R/monetdb.R
--- a/clients/R/MonetDB.R/R/monetdb.R
+++ b/clients/R/MonetDB.R/R/monetdb.R
@@ -21,7 +21,7 @@ MonetR <- MonetDB <- MonetDBR <- MonetDB
 
 setMethod("dbGetInfo", "MonetDBDriver", def=function(dbObj, ...)
   list(name="MonetDBDriver", 
-       driver.version="0.9.4", 
+       driver.version="0.9.5", 
        DBI.version="0.2-7", 
        client.version=NA, 
        max.connections=NA)
@@ -135,7 +135,7 @@ setClass("MonetDBConnection", representa
                                              connenv="environment", 
fetchSize="integer", Id="integer"))
 
 setMethod("dbGetInfo", "MonetDBConnection", def=function(dbObj, ...) {
-  envdata <- dbGetQuery(dbObj, "SELECT name, value from env()")
+  envdata <- dbGetQuery(dbObj, "SELECT name, value from sys.env()")
   ll <- as.list(envdata$value)
   names(ll) <- envdata$name
   ll$name <- "MonetDBConnection"
@@ -148,7 +148,7 @@ setMethod("dbDisconnect", "MonetDBConnec
 })
 
 setMethod("dbListTables", "MonetDBConnection", def=function(conn, ..., 
sys_tables=F, schema_names=F, quote=F) {
-  q <- "select schemas.name as sn, tables.name as tn from tables join schemas 
on tables.schema_id=schemas.id"
+  q <- "select schemas.name as sn, tables.name as tn from tables join 
sys.schemas on tables.schema_id=schemas.id"
   if (!sys_tables) q <- paste0(q, " where tables.system=false")
   df <- dbGetQuery(conn, q)
   if (quote) {
@@ -185,7 +185,7 @@ setMethod("dbRollback", "MonetDBConnecti
 setMethod("dbListFields", "MonetDBConnection", def=function(conn, name, ...) {
   if (!dbExistsTable(conn, name))
     stop(paste0("Unknown table: ", name));
-  df <- dbGetQuery(conn, paste0("select columns.name as name from columns join 
tables on \
+  df <- dbGetQuery(conn, paste0("select columns.name as name from sys.columns 
join sys.tables on \
     columns.table_id=tables.id where tables.name='", name, "';"))      
   df$name
 })
diff --git a/common/stream/stream.c b/common/stream/stream.c
--- a/common/stream/stream.c
+++ b/common/stream/stream.c
@@ -781,6 +781,26 @@ stream_gzread(stream *s, void *buf, size
                        s->errnr = MNSTR_READ_ERROR;
                        return -1;
                }
+#ifdef WIN32
+               /* on Windows when in text mode, convert \r\n line
+                * endings to \n */
+               if (s->type == ST_ASCII) {
+                       char *p1, *p2, *pe;
+
+                       p1 = buf;
+                       pe = p1 + size;
+                       while (p1 < pe && *p1 != '\r')
+                               p1++;
+                       p2 = p1;
+                       while (p1 < pe) {
+                               if (*p1 == '\r' && p1[1] == '\n')
+                                       size--;
+                               else
+                                       *p2++ = *p1;
+                               p1++;
+                       }
+               }
+#endif
                return (ssize_t) (size / elmsize);
        }
        return 0;
@@ -996,6 +1016,26 @@ stream_bzread(stream *s, void *buf, size
                s->errnr = MNSTR_READ_ERROR;
                return -1;
        }
+#ifdef WIN32
+       /* on Windows when in text mode, convert \r\n line endings to
+        * \n */
+       if (s->type == ST_ASCII) {
+               char *p1, *p2, *pe;
+
+               p1 = buf;
+               pe = p1 + size;
+               while (p1 < pe && *p1 != '\r')
+                       p1++;
+               p2 = p1;
+               while (p1 < pe) {
+                       if (*p1 == '\r' && p1[1] == '\n')
+                               size--;
+                       else
+                               *p2++ = *p1;
+                       p1++;
+               }
+       }
+#endif
        return size / elmsize;
 }
 
diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c
--- a/gdk/gdk_atoms.c
+++ b/gdk/gdk_atoms.c
@@ -450,9 +450,15 @@ bitFromStr(const char *src, int *len, bi
        } else if (p[0] == 't' && p[1] == 'r' && p[2] == 'u' && p[3] == 'e') {
                **dst = TRUE;
                p += 4;
+       } else if (p[0] == 'T' && p[1] == 'R' && p[2] == 'U' && p[3] == 'E') {
+               **dst = TRUE;
+               p += 4;
        } else if (p[0] == 'f' && p[1] == 'a' && p[2] == 'l' && p[3] == 's' && 
p[4] == 'e') {
                **dst = FALSE;
                p += 5;
+       } else if (p[0] == 'F' && p[1] == 'A' && p[2] == 'L' && p[3] == 'S' && 
p[4] == 'E') {
+               **dst = FALSE;
+               p += 5;
        } else if (p[0] == 'n' && p[1] == 'i' && p[2] == 'l') {
                p += 3;
        } else {
diff --git a/sql/scripts/15_querylog.sql b/sql/scripts/15_querylog.sql
--- a/sql/scripts/15_querylog.sql
+++ b/sql/scripts/15_querylog.sql
@@ -69,11 +69,6 @@ select qd.*, ql."start",ql."stop", ql.ar
 from sys.querylog_catalog() qd, sys.querylog_calls() ql
 where qd.id = ql.id and qd.owner = user;
 
-update sys._tables
-    set system = true
-    where name in ('querylog_history', 'querylog_calls', 'querylog_catalog')
-        and schema_id = (select id from sys.schemas where name = 'sys');
-
 -- reset history for a particular user
 create procedure sys.querylog_empty()
 external name sql.querylog_empty;
diff --git a/sql/scripts/16_tracelog.sql b/sql/scripts/16_tracelog.sql
--- a/sql/scripts/16_tracelog.sql
+++ b/sql/scripts/16_tracelog.sql
@@ -34,7 +34,3 @@ create function sys.tracelog()
        external name sql.dump_trace;
 
 create view sys.tracelog as select * from sys.tracelog();
-update sys._tables
-    set system = true
-    where name = 'tracelog'
-        and schema_id = (select id from sys.schemas where name = 'sys');
diff --git a/sql/scripts/22_clients.sql b/sql/scripts/22_clients.sql
--- a/sql/scripts/22_clients.sql
+++ b/sql/scripts/22_clients.sql
@@ -23,10 +23,6 @@ create function sys.sessions()
 returns table("user" string, "login" timestamp, "sessiontimeout" bigint, 
"lastcommand" timestamp, "querytimeout" bigint, "active" bool)
 external name sql.sessions;
 create view sys.sessions as select * from sys.sessions();
-update sys._tables
-    set system = true
-    where name = 'sessions'
-        and schema_id = (select id from sys.schemas where name = 'sys');
 
 create procedure sys.shutdown(delay tinyint) 
 external name sql.shutdown;
diff --git a/sql/scripts/25_debug.sql b/sql/scripts/25_debug.sql
--- a/sql/scripts/25_debug.sql
+++ b/sql/scripts/25_debug.sql
@@ -45,11 +45,6 @@ create function sys.environment()
        external name sql.sql_environment;
 create view sys.environment as select * from sys.environment();
 
-update sys._tables
-    set system = true
-    where name in ( 'environment', 'optimizers')
-        and schema_id = (select id from sys.schemas where name = 'sys');
-
 -- The BAT buffer pool overview
 create function sys.bbp () 
        returns table (id int, name string, htype string, 
diff --git a/sql/scripts/26_sysmon.sql b/sql/scripts/26_sysmon.sql
--- a/sql/scripts/26_sysmon.sql
+++ b/sql/scripts/26_sysmon.sql
@@ -32,10 +32,6 @@ returns table(
 external name sql.sysmon_queue;
 
 create view sys.queue as select * from sys.queue();
-update sys._tables
-    set system = true
-    where name = 'queue'
-        and schema_id = (select id from sys.schemas where name = 'sys');
 
 -- operations to manipulate the state of havoc queries
 create procedure sys.pause(tag int)
diff --git a/sql/scripts/75_storagemodel.sql b/sql/scripts/75_storagemodel.sql
--- a/sql/scripts/75_storagemodel.sql
+++ b/sql/scripts/75_storagemodel.sql
@@ -49,10 +49,6 @@ create table sys.storagemodelinput(
        "reference" boolean,-- used as foreign key reference
        "sorted" boolean        -- if set there is no need for an index
 );
-update sys._tables
-       set system = true
-       where name = 'storagemodelinput'
-               and schema_id = (select id from sys.schemas where name = 'sys');
 -- this table can be adjusted to reflect the anticipated final database size
 
 -- The model input can be derived from the current database using
@@ -181,8 +177,3 @@ as select "schema","table",max(count) as
        sum(imprints) as imprints,
        sum(case when sorted = false then 8 * count else 0 end) as auxillary
 from sys.storagemodel() group by "schema","table";
-
-update sys._tables
-       set system = true
-       where name in ('tablestoragemodel', 'storagemodel', 'storage')
-               and schema_id = (select id from sys.schemas where name = 'sys');
diff --git a/sql/scripts/80_statistics.sql b/sql/scripts/80_statistics.sql
--- a/sql/scripts/80_statistics.sql
+++ b/sql/scripts/80_statistics.sql
@@ -35,11 +35,6 @@ CREATE TABLE sys.statistics(
        maxval string,
        sorted boolean);
 
-update sys._tables
-       set system = true
-       where name = 'statistics'
-               and schema_id = (select id from sys.schemas where name = 'sys');
-
 create procedure analyze()
 external name sql.analyze;
 
diff --git a/sql/scripts/99_system.sql b/sql/scripts/99_system.sql
--- a/sql/scripts/99_system.sql
+++ b/sql/scripts/99_system.sql
@@ -15,13 +15,13 @@
 -- Copyright August 2008-2014 MonetDB B.V.
 -- All Rights Reserved.
 
+-- only system functions until now
 create table systemfunctions (function_id)
        as (select id from functions) with data;
 grant select on systemfunctions to public;
-update _tables
-       set system = true
-       where name = 'systemfunctions'
-               and schema_id = (select id from schemas where name = 'sys');
 
--- sofar only system schemas
+-- only system tables until now
+update _tables set system = true;
+
+-- only system schemas until now
 update schemas set system = true;
diff --git a/sql/test/BugTracker-2014/Tests/uppercaseboolean.Bug-3519.sql 
b/sql/test/BugTracker-2014/Tests/uppercaseboolean.Bug-3519.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2014/Tests/uppercaseboolean.Bug-3519.sql
@@ -0,0 +1,22 @@
+start transaction;
+create table bug3519(a boolean);
+-- works
+insert into bug3519 values (true),(false),(TRUE),(FALSE);
+insert into bug3519 values ('true'),('false');
+insert into bug3519 values (1),(0),(NULL),('1'),('0');
+COPY 5 RECORDS INTO bug3519 FROM stdin NULL as '';
+true
+false
+1
+0
+
+select * from bug3519;
+
+-- does not work
+insert into bug3519 values ('TRUE'),('FALSE');
+COPY 2 RECORDS INTO bug3519 FROM stdin;
+TRUE
+FALSE
+
+select * from bug3519;
+rollback;
diff --git 
a/sql/test/BugTracker-2014/Tests/uppercaseboolean.Bug-3519.stable.err 
b/sql/test/BugTracker-2014/Tests/uppercaseboolean.Bug-3519.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2014/Tests/uppercaseboolean.Bug-3519.stable.err
@@ -0,0 +1,36 @@
+stderr of test 'uppercaseboolean.Bug-3519` in directory 
'sql/test/BugTracker-2014` itself:
+
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to