Changeset: 04a5ee75ed95 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=04a5ee75ed95
Added Files:
        sql/test/BugTracker-2016/Tests/NULLtinyintBAT.bin
        
sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.sql
        
sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.stable.err
        
sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.stable.out
        sql/test/BugTracker-2016/Tests/noNULLtinyintBAT.bin
        
sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937-prepare.bat
        
sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937-prepare.sh
        
sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937-prepare.stable.err
        
sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937-prepare.stable.out
        
sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937-prepare.stable.out.Windows
        
sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937.reqtests
        
sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937.sql.in
        
sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937.stable.err
        
sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937.stable.out
Modified Files:
        MonetDB.spec
        clients/Tests/SQL-dump.stable.out.int128
        gdk/gdk_bat.c
        sql/backends/monet5/sql_statistics.c
        sql/common/sql_types.c
        sql/server/rel_updates.c
        sql/storage/bat/bat_utils.c
        
sql/test/BugDay_2005-11-09_2.9.3/Tests/date_functions.SF-967145.stable.out
        sql/test/BugTracker-2016/Tests/All
        sql/test/VOC/Tests/median.Bug-3096.stable.out
        sql/test/bugs/Tests/default_with_cast.SF-1334486.stable.out
        sql/test/pg_regress/Tests/date.stable.out
Branch: default
Log Message:

Merge with Jul2015 branch.


diffs (truncated from 737 to 300 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -102,7 +102,7 @@ Summary: MonetDB - Monet Database Manage
 Vendor: MonetDB BV <i...@monetdb.org>
 
 Group: Applications/Databases
-License: MPL - http://www.monetdb.org/Legal/MonetDBLicense
+License: MPLv2.0
 URL: http://www.monetdb.org/
 Source: 
http://dev.monetdb.org/downloads/sources/Jul2015-SP2/%{name}-%{version}.tar.bz2
 
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -318,6 +318,11 @@ BATattach(int tt, const char *heapfile, 
        BATkey(bn, TRUE);
        BATsetcapacity(bn, cap);
        BATsetcount(bn, cap);
+       /*
+        * Unless/until we invest in a scan to check that there indeed
+        * are no NIL values, we cannot safely assume there are none.
+        */
+       bn->T->nonil = 0;
        if (cap > 1) {
                bn->tsorted = 0;
                bn->trevsorted = 0;
diff --git a/sql/backends/monet5/sql_statistics.c 
b/sql/backends/monet5/sql_statistics.c
--- a/sql/backends/monet5/sql_statistics.c
+++ b/sql/backends/monet5/sql_statistics.c
@@ -38,6 +38,7 @@ sql_analyze(Client cntxt, MalBlkPtr mb, 
        int argc = pci->argc;
        int width = 0;
        int minmax = *getArgReference_int(stk, pci, 1);
+       int sfnd = 0, tfnd = 0, cfnd = 0;
 
        if (msg != MAL_SUCCEED || (msg = checkSQLContext(cntxt)) != NULL)
                return msg;
@@ -69,6 +70,7 @@ sql_analyze(Client cntxt, MalBlkPtr mb, 
 
                if (sch && strcmp(sch, b->name))
                        continue;
+               sfnd = 1;
                if (s->tables.set)
                        for (ntab = (s)->tables.set->h; ntab; ntab = 
ntab->next) {
                                sql_base *bt = ntab->data;
@@ -76,6 +78,7 @@ sql_analyze(Client cntxt, MalBlkPtr mb, 
 
                                if (tbl && strcmp(bt->name, tbl))
                                        continue;
+                               tfnd = 1;
                                if (isTable(t) && t->columns.set)
                                        for (ncol = (t)->columns.set->h; ncol; 
ncol = ncol->next) {
                                                sql_base *bc = ncol->data;
@@ -90,6 +93,7 @@ sql_analyze(Client cntxt, MalBlkPtr mb, 
                                                if (col && strcmp(bc->name, 
col))
                                                        continue;
                                                snprintf(dquery, 8192, "delete 
from sys.statistics where \"column_id\" = %d;", c->base.id);
+                                               cfnd = 1;
                                                if (samplesize > 0) {
                                                        bsample = BATsample(bn, 
(BUN) samplesize);
                                                } else
@@ -162,5 +166,11 @@ sql_analyze(Client cntxt, MalBlkPtr mb, 
        GDKfree(query);
        GDKfree(maxval);
        GDKfree(minval);
+       if (sch && !sfnd)
+               throw(SQL, "analyze", "Schema '%s' does not exist", sch);
+       if (tbl && !tfnd)
+               throw(SQL, "analyze", "Table '%s' does not exist", tbl);
+       if (col && !cfnd)
+               throw(SQL, "analyze", "Column '%s' does not exist", col);
        return MAL_SUCCEED;
 }
diff --git a/sql/common/sql_types.c b/sql/common/sql_types.c
--- a/sql/common/sql_types.c
+++ b/sql/common/sql_types.c
@@ -1594,7 +1594,7 @@ sqltypeinit( sql_allocator *sa)
        sql_create_func(sa, "localtime", "sql", "current_time", NULL, NULL, 
TME, SCALE_NONE);
        sql_create_func(sa, "localtimestamp", "sql", "current_timestamp", NULL, 
NULL, TMESTAMP, SCALE_NONE);
 
-       sql_create_func(sa, "sql_sub", "mtime", "diff", DTE, DTE, MONINT, 
SCALE_FIX);
+       sql_create_func(sa, "sql_sub", "mtime", "diff", DTE, DTE, INT, 
SCALE_FIX);
        sql_create_func(sa, "sql_sub", "mtime", "diff", TMETZ, TMETZ, SECINT, 
SCALE_NONE);
        sql_create_func(sa, "sql_sub", "mtime", "diff", TME, TME, SECINT, 
SCALE_FIX);
        sql_create_func(sa, "sql_sub", "mtime", "diff", TMESTAMPTZ, TMESTAMPTZ, 
SECINT, SCALE_NONE);
diff --git a/sql/storage/bat/bat_utils.c b/sql/storage/bat/bat_utils.c
--- a/sql/storage/bat/bat_utils.c
+++ b/sql/storage/bat/bat_utils.c
@@ -206,7 +206,7 @@ tr_find_table( sql_trans *tr, sql_table 
                        nt = find_sql_table_id(s, t->base.id);
                else
                        nt = find_sql_table(s, t->base.name);
-               assert(nt->base.id == t->base.id);
+               assert(!nt || nt->base.id == t->base.id);
                tr = tr->parent;
        }
        return nt;
diff --git 
a/sql/test/BugDay_2005-11-09_2.9.3/Tests/date_functions.SF-967145.stable.out 
b/sql/test/BugDay_2005-11-09_2.9.3/Tests/date_functions.SF-967145.stable.out
--- a/sql/test/BugDay_2005-11-09_2.9.3/Tests/date_functions.SF-967145.stable.out
+++ b/sql/test/BugDay_2005-11-09_2.9.3/Tests/date_functions.SF-967145.stable.out
@@ -27,13 +27,13 @@ Ready.
 #select current_date - current_date;
 % .L # table_name
 % sql_sub_current_date # name
-% month_interval # type
+% int # type
 % 1 # length
 [ 0    ]
 #select current_date() - current_date();
 % .L # table_name
 % sql_sub_current_date # name
-% month_interval # type
+% int # type
 % 1 # length
 [ 0    ]
 
diff --git a/sql/test/BugTracker-2016/Tests/All 
b/sql/test/BugTracker-2016/Tests/All
--- a/sql/test/BugTracker-2016/Tests/All
+++ b/sql/test/BugTracker-2016/Tests/All
@@ -8,3 +8,6 @@ create_table_from_complex_query.Bug-3921
 projectionpath-prefix.Bug
 prepare-utf8.Bug-3930
 case-with-string-Bug.3932
+date_calculation_and_comparison_wrong_results.Bug-3940
+wrong-nonil-property-with-copy-binary-into.Bug-3937-prepare
+wrong-nonil-property-with-copy-binary-into.Bug-3937
diff --git a/sql/test/BugTracker-2016/Tests/NULLtinyintBAT.bin 
b/sql/test/BugTracker-2016/Tests/NULLtinyintBAT.bin
new file mode 100644
index 
e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ab0207c9411be9e16b479ec563687310c28e9072
GIT binary patch
literal 3
Kc${NsU;+RE1ptEp

diff --git 
a/sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.sql
 
b/sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.sql
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.sql
@@ -0,0 +1,8 @@
+CREATE TABLE foo (dat1 DATE, dat2 DATE);
+INSERT INTO foo VALUES ('2016-01-01', '2016-01-02');
+INSERT INTO foo VALUES ('2016-01-01', '2016-01-01');
+INSERT INTO foo VALUES ('2016-01-01', '2016-01-31');
+
+SELECT (dat2-dat1), (dat2-dat1) < 10 FROM foo;
+
+DROP TABLE foo;
diff --git 
a/sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.stable.err
 
b/sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.stable.err
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.stable.err
@@ -0,0 +1,36 @@
+stderr of test 'date_calculation_and_comparison_wrong_results.Bug-3940` in 
directory 'sql/test/BugTracker-2016` itself:
+
+
+# 23:40:42 >  
+# 23:40:42 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=35303" "--set" 
"mapi_usock=/var/tmp/mtest-68549/.s.monetdb.35303" "--set" "monet_prompt=" 
"--forcemito" "--set" "mal_listing=2" 
"--dbpath=/Users/jennie/scratch/monet-install/Jul2015/debug/var/MonetDB/mTests_sql_test_BugTracker-2016"
 "--set" "mal_listing=0"
+# 23:40:42 >  
+
+# builtin opt  gdk_dbpath = 
/Users/jennie/scratch/monet-install/Jul2015/debug/var/monetdb5/dbfarm/demo
+# builtin opt  gdk_debug = 0
+# builtin opt  gdk_vmtrim = no
+# builtin opt  monet_prompt = >
+# builtin opt  monet_daemon = no
+# builtin opt  mapi_port = 50000
+# builtin opt  mapi_open = false
+# builtin opt  mapi_autosense = false
+# builtin opt  sql_optimizer = default_pipe
+# builtin opt  sql_debug = 0
+# cmdline opt  gdk_nr_threads = 0
+# cmdline opt  mapi_open = true
+# cmdline opt  mapi_port = 35303
+# cmdline opt  mapi_usock = /var/tmp/mtest-68549/.s.monetdb.35303
+# cmdline opt  monet_prompt = 
+# cmdline opt  mal_listing = 2
+# cmdline opt  gdk_dbpath = 
/Users/jennie/scratch/monet-install/Jul2015/debug/var/MonetDB/mTests_sql_test_BugTracker-2016
+# cmdline opt  mal_listing = 0
+# cmdline opt  gdk_debug = 536870922
+
+# 23:40:42 >  
+# 23:40:42 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-68549" "--port=35303"
+# 23:40:42 >  
+
+
+# 23:40:42 >  
+# 23:40:42 >  "Done."
+# 23:40:42 >  
+
diff --git 
a/sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.stable.out
 
b/sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.stable.out
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.stable.out
@@ -0,0 +1,84 @@
+stdout of test 'date_calculation_and_comparison_wrong_results.Bug-3940` in 
directory 'sql/test/BugTracker-2016` itself:
+
+
+# 23:40:42 >  
+# 23:40:42 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=35303" "--set" 
"mapi_usock=/var/tmp/mtest-68549/.s.monetdb.35303" "--set" "monet_prompt=" 
"--forcemito" "--set" "mal_listing=2" 
"--dbpath=/Users/jennie/scratch/monet-install/Jul2015/debug/var/MonetDB/mTests_sql_test_BugTracker-2016"
 "--set" "mal_listing=0"
+# 23:40:42 >  
+
+# MonetDB 5 server v11.21.14
+# This is an unreleased version
+# Serving database 'mTests_sql_test_BugTracker-2016', using 4 threads
+# Compiled for x86_64-apple-darwin15.3.0/64bit with 64bit OIDs and 128bit 
integers dynamically linked
+# Found 12.000 GiB available main-memory.
+# Copyright (c) 1993-July 2008 CWI.
+# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved
+# Visit http://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://Loeki.local:35303/
+# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-68549/.s.monetdb.35303
+# MonetDB/GIS module loaded
+# Start processing logs sql/sql_logs version 52200
+# Finished processing logs sql/sql_logs
+# MonetDB/SQL module loaded
+
+Ready.
+# SQL catalog created, loading sql scripts once
+# loading sql script: 09_like.sql
+# loading sql script: 10_math.sql
+# loading sql script: 11_times.sql
+# loading sql script: 12_url.sql
+# loading sql script: 13_date.sql
+# loading sql script: 14_inet.sql
+# loading sql script: 15_querylog.sql
+# loading sql script: 16_tracelog.sql
+# loading sql script: 17_temporal.sql
+# loading sql script: 20_vacuum.sql
+# loading sql script: 21_dependency_functions.sql
+# loading sql script: 22_clients.sql
+# loading sql script: 23_skyserver.sql
+# loading sql script: 24_zorder.sql
+# loading sql script: 25_debug.sql
+# loading sql script: 26_sysmon.sql
+# loading sql script: 27_rejects.sql
+# loading sql script: 39_analytics.sql
+# loading sql script: 39_analytics_hge.sql
+# loading sql script: 40_geom.sql
+# loading sql script: 40_json.sql
+# loading sql script: 40_json_hge.sql
+# loading sql script: 41_md5sum.sql
+# loading sql script: 45_uuid.sql
+# loading sql script: 46_gsl.sql
+# loading sql script: 51_sys_schema_extension.sql
+# loading sql script: 72_fits.sql
+# loading sql script: 75_storagemodel.sql
+# loading sql script: 80_statistics.sql
+# loading sql script: 80_udf.sql
+# loading sql script: 80_udf_hge.sql
+# loading sql script: 90_generator.sql
+# loading sql script: 90_generator_hge.sql
+# loading sql script: 99_system.sql
+
+# 23:40:42 >  
+# 23:40:42 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-68549" "--port=35303"
+# 23:40:42 >  
+
+#CREATE TABLE foo (dat1 DATE, dat2 DATE);
+#INSERT INTO foo VALUES ('2016-01-01', '2016-01-02');
+[ 1    ]
+#INSERT INTO foo VALUES ('2016-01-01', '2016-01-01');
+[ 1    ]
+#INSERT INTO foo VALUES ('2016-01-01', '2016-01-31');
+[ 1    ]
+#SELECT (dat2-dat1), (dat2-dat1) < 10 FROM foo;
+% sys.L1,      sys.L1 # table_name
+% L1,  <_sql_sub_dat2 # name
+% int, boolean # type
+% 2,   5 # length
+[ 1,   true    ]
+[ 0,   true    ]
+[ 30,  false   ]
+#DROP TABLE foo;
+
+# 23:40:42 >  
+# 23:40:42 >  "Done."
+# 23:40:42 >  
+
diff --git a/sql/test/BugTracker-2016/Tests/noNULLtinyintBAT.bin 
b/sql/test/BugTracker-2016/Tests/noNULLtinyintBAT.bin
new file mode 100644
index 
e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8352675d67aed6625ece79af41c27fdb4ee2e867
GIT binary patch
literal 3
Kc${NkWC8#H2LJ>B

diff --git 
a/sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937-prepare.bat
 
b/sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937-prepare.bat
new file mode 100755
--- /dev/null
+++ 
b/sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937-prepare.bat
@@ -0,0 +1,5 @@
+@prompt # $t $g
+@echo on
+
+copy "%TSTSRCDIR%\noNULLtinyintBAT.bin" "%TSTTRGDIR%"
+copy "%TSTSRCDIR%\NULLtinyintBAT.bin"   "%TSTTRGDIR%"
diff --git 
a/sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937-prepare.sh
 
b/sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937-prepare.sh
new file mode 100755
--- /dev/null
+++ 
b/sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937-prepare.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to