MonetDB: jitudf - Smaller decimals in tests for non-hge systems.

2017-06-26 Thread Mark Raasveldt
Changeset: 6ebfa942608f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6ebfa942608f
Modified Files:
sql/backends/monet5/UDF/capi/Tests/capi11.sql
Branch: jitudf
Log Message:

Smaller decimals in tests for non-hge systems.


diffs (12 lines):

diff --git a/sql/backends/monet5/UDF/capi/Tests/capi11.sql 
b/sql/backends/monet5/UDF/capi/Tests/capi11.sql
--- a/sql/backends/monet5/UDF/capi/Tests/capi11.sql
+++ b/sql/backends/monet5/UDF/capi/Tests/capi11.sql
@@ -21,7 +21,7 @@ CREATE FUNCTION capi11(inp DECIMAL) RETU
 }
 };
 
-CREATE TABLE decimals(d DECIMAL(20,3));
+CREATE TABLE decimals(d DECIMAL(18,3));
 INSERT INTO decimals VALUES (10.3), (10.5), (NULL), (10.7);
 
 SELECT capi11(d) FROM decimals;
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: jitudf - Make non-deterministic tests deterministic.

2017-06-26 Thread Mark Raasveldt
Changeset: f277a120089d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f277a120089d
Modified Files:
sql/backends/monet5/UDF/capi/Tests/capi03.sql
sql/backends/monet5/UDF/capi/Tests/capi03.stable.err
sql/backends/monet5/UDF/capi/Tests/capi03.stable.out
sql/backends/monet5/UDF/capi/Tests/capi04.sql
sql/backends/monet5/UDF/capi/Tests/capi04.stable.err
sql/backends/monet5/UDF/capi/Tests/capi10.sql
sql/backends/monet5/UDF/capi/Tests/capi10.stable.err
Branch: jitudf
Log Message:

Make non-deterministic tests deterministic.


diffs (152 lines):

diff --git a/sql/backends/monet5/UDF/capi/Tests/capi03.sql 
b/sql/backends/monet5/UDF/capi/Tests/capi03.sql
--- a/sql/backends/monet5/UDF/capi/Tests/capi03.sql
+++ b/sql/backends/monet5/UDF/capi/Tests/capi03.sql
@@ -50,37 +50,3 @@ INSERT INTO integers VALUES (1), (2), (3
 SELECT capi03(i) FROM integers;
 
 ROLLBACK;
-
-START TRANSACTION;
-
-# Modify input data
-CREATE FUNCTION capi03(inp INTEGER) RETURNS INTEGER LANGUAGE C {
-size_t i;
-inp.data[0] = 10;
-result->initialize(result, inp.count);
-for(i = 0; i < inp.count; i++) {
-result->data[i] = inp.data[i] * 2;
-}
-};
-
-CREATE TABLE integers(i INTEGER);
-INSERT INTO integers VALUES (1), (2), (3), (4), (5);
-
-SELECT capi03(i) FROM integers;
-
-ROLLBACK;
-
-START TRANSACTION;
-
-# Trigger a segfault
-CREATE FUNCTION capi03(inp INTEGER) RETURNS INTEGER LANGUAGE C {
-int x = *((int*)NULL);
-};
-
-CREATE TABLE integers(i INTEGER);
-INSERT INTO integers VALUES (1), (2), (3), (4), (5);
-
-SELECT capi03(i) FROM integers;
-
-ROLLBACK;
-
diff --git a/sql/backends/monet5/UDF/capi/Tests/capi03.stable.err 
b/sql/backends/monet5/UDF/capi/Tests/capi03.stable.err
--- a/sql/backends/monet5/UDF/capi/Tests/capi03.stable.err
+++ b/sql/backends/monet5/UDF/capi/Tests/capi03.stable.err
@@ -36,12 +36,6 @@ ERROR = !No data returned.
 MAPI  = (monetdb) /var/tmp/mtest-2836/.s.monetdb.35915
 QUERY = SELECT capi03(i) FROM integers;
 ERROR = !Something went wrong!
-MAPI  = (monetdb) /var/tmp/mtest-25067/.s.monetdb.39212
-QUERY = SELECT capi03(i) FROM integers;
-ERROR = !Attempting to write to the input or triggered a segfault/bus error
-MAPI  = (monetdb) /var/tmp/mtest-25067/.s.monetdb.39212
-QUERY = SELECT capi03(i) FROM integers;
-ERROR = !Attempting to write to the input or triggered a segfault/bus error
 
 # 17:24:55 >  
 # 17:24:55 >  "Done."
diff --git a/sql/backends/monet5/UDF/capi/Tests/capi03.stable.out 
b/sql/backends/monet5/UDF/capi/Tests/capi03.stable.out
--- a/sql/backends/monet5/UDF/capi/Tests/capi03.stable.out
+++ b/sql/backends/monet5/UDF/capi/Tests/capi03.stable.out
@@ -87,26 +87,6 @@ Ready.
 #INSERT INTO integers VALUES (1), (2), (3), (4), (5);
 [ 5]
 #ROLLBACK;
-#START TRANSACTION;
-#CREATE FUNCTION capi03(inp INTEGER) RETURNS INTEGER LANGUAGE C {
-#  inp.data[0] = 10;
-#  result->initialize(result, inp.count);
-#  for(size_t i = 0; i < inp.count; i++) {
-#  result->data[i] = inp.data[i] * 2;
-#  }
-#};
-#CREATE TABLE integers(i INTEGER);
-#INSERT INTO integers VALUES (1), (2), (3), (4), (5);
-[ 5]
-#ROLLBACK;
-#START TRANSACTION;
-#CREATE FUNCTION capi03(inp INTEGER) RETURNS INTEGER LANGUAGE C {
-#  int x = *((int*)NULL);
-#};
-#CREATE TABLE integers(i INTEGER);
-#INSERT INTO integers VALUES (1), (2), (3), (4), (5);
-[ 5]
-#ROLLBACK;
 
 # 17:24:55 >  
 # 17:24:55 >  "Done."
diff --git a/sql/backends/monet5/UDF/capi/Tests/capi04.sql 
b/sql/backends/monet5/UDF/capi/Tests/capi04.sql
--- a/sql/backends/monet5/UDF/capi/Tests/capi04.sql
+++ b/sql/backends/monet5/UDF/capi/Tests/capi04.sql
@@ -25,16 +25,6 @@ SELECT capi04(i) FROM strings;
 
 DROP FUNCTION capi04;
 
-# try to modify one of the input strings
-CREATE FUNCTION capi04(inp STRING) RETURNS STRING LANGUAGE C {
-size_t i;
-result->initialize(result, inp.count);
-for(i = 0; i < inp.count; i++) {
-result->data[i][0] = 'h';
-}
-};
-
-SELECT capi04(i) FROM strings;
 ROLLBACK;
 
 START TRANSACTION;
diff --git a/sql/backends/monet5/UDF/capi/Tests/capi04.stable.err 
b/sql/backends/monet5/UDF/capi/Tests/capi04.stable.err
--- a/sql/backends/monet5/UDF/capi/Tests/capi04.stable.err
+++ b/sql/backends/monet5/UDF/capi/Tests/capi04.stable.err
@@ -27,9 +27,6 @@ stderr of test 'capi04` in directory 'sq
 # 15:50:30 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-20003" "--port=32751"
 # 15:50:30 >  
 
-MAPI  = (monetdb) /var/tmp/mtest-20003/.s.monetdb.32751
-QUERY = SELECT capi04(i) FROM strings;
-ERROR = !Attempting to write to the input or triggered a segfault/bus error
 
 # 15:50:31 >  
 # 15:50:31 >  "Done."
diff --git a/sql/backends/monet5/UDF/capi/Tests/capi10.sql 
b/sql/backends/monet5/UDF/capi/Tests/capi10.sql
--- a/sql/backends/monet5/UDF/capi/Tests/capi10.sql
+++ b/sql/backends/monet5/UDF/capi/Tests/capi10.sql
@@ -31,15 +31,4 @@ SELECT capi10(i) FROM blobs;
 
 DROP FUNCTION capi10;
 

MonetDB: jitudf - Merge with default.

2017-06-26 Thread Mark Raasveldt
Changeset: b375ba69e94c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b375ba69e94c
Added Files:

sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.err.Windows

sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.out.Windows
sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.err
sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.out
sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.sql

sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.err

sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.out

sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.sql

sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.stable.err

sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.stable.out
sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.sql

sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.stable.err

sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.stable.out
sql/test/malloc_fail/Tests/setmemorylimit-fail2.stable.err
sql/test/malloc_fail/Tests/setmemorylimit-fail2.stable.out
Modified Files:
NT/mkgeomwxs.py
NT/mkodbcwxs.py
NT/mksqlwxs.py
buildtools/conf/monetdb.ico
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
clients/mapiclient/dump.c
clients/mapiclient/mclient.c
clients/mapiclient/mhelp.c
clients/mapiclient/mhelp.h
clients/mapiclient/tomograph.c
clients/odbc/driver/SQLColumnPrivileges.c
clients/odbc/driver/SQLColumns.c
clients/odbc/driver/SQLExecute.c
clients/odbc/driver/SQLSpecialColumns.c
gdk/gdk_bbp.c
gdk/gdk_join.c
gdk/gdk_logger.c
gdk/gdk_private.h
gdk/gdk_search.c
gdk/gdk_select.c
geom/monetdb5/geom_upgrade.c
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_parser.c
monetdb5/modules/mal/00_language_hge.mal
monetdb5/modules/mal/manifold.c
monetdb5/modules/mal/manifold.h
monetdb5/optimizer/Tests/inline06.stable.out
monetdb5/optimizer/opt_costModel.c
monetdb5/optimizer/opt_dataflow.c
monetdb5/optimizer/opt_evaluate.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_multiplex.c
monetdb5/optimizer/opt_support.c
sql/backends/monet5/Tests/pyapi19.stable.err
sql/backends/monet5/Tests/pyapi19.stable.out
sql/backends/monet5/Tests/pyapi25.stable.err
sql/backends/monet5/Tests/pyapi25.stable.err.Windows
sql/backends/monet5/Tests/pyapi25.stable.out
sql/backends/monet5/Tests/pyapi29.stable.err
sql/backends/monet5/Tests/pyapi29.stable.out
sql/backends/monet5/UDF/pyapi/connection.c
sql/backends/monet5/UDF/pyapi/pyapi.c
sql/backends/monet5/UDF/pyapi/pyapi.mal
sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_19.stable.err
sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_19.stable.out
sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_25.stable.err
sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_25.stable.out
sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_29.stable.err
sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_29.stable.out
sql/backends/monet5/UDF/pyapi3/pyapi3.mal
sql/backends/monet5/sql_assert.c
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_statistics.c
sql/backends/monet5/sql_upgrades.c
sql/common/sql_types.c
sql/storage/store.c
sql/test/BugTracker-2010/Tests/count-and-not.Bug-2663.stable.out
sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out

sql/test/BugTracker-2010/Tests/not-in-union-except-union.Bug-2577.stable.out
sql/test/BugTracker-2017/Tests/All
sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.sql
sql/test/BugTracker-2017/Tests/nestedoperators.Bug-6292.stable.err
sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/check.stable.out
sql/test/emptydb-upgrade-chain/Tests/check.stable.out.32bit
sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128
sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/check.stable.out
sql/test/emptydb-up

MonetDB: jitudf - Approve exports.

2017-06-26 Thread Mark Raasveldt
Changeset: 55bdba4efc8f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=55bdba4efc8f
Modified Files:
clients/Tests/exports.stable.out
Branch: jitudf
Log Message:

Approve exports.


diffs (37 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -1446,6 +1446,8 @@ str MTIMEepilogue(void *ret);
 str MTIMEepoch2int(int *res, const timestamp *ts);
 str MTIMEepoch2lng(lng *res, const timestamp *ts);
 str MTIMEepoch_bulk(bat *ret, bat *bid);
+void MTIMEfromdate(date n, int *d, int *m, int *y);
+void MTIMEfromtime(daytime n, int *hour, int *min, int *sec, int *msec);
 str MTIMElocal_timezone(lng *res);
 str MTIMEmonth_from_str(int *ret, const char *const *month);
 str MTIMEmonth_to_str(str *ret, const int *month);
@@ -1514,6 +1516,8 @@ str MTIMEtimestamp_to_str(str *s, const 
 str MTIMEtimestamp_year(int *ret, const timestamp *t);
 str MTIMEtimestamplng(timestamp *ret, const lng *sec);
 str MTIMEtimezone(tzone *z, const char *const *name);
+date MTIMEtodate(int day, int month, int year);
+daytime MTIMEtotime(int hour, int min, int sec, int msec);
 str MTIMEtzone_create(tzone *ret, const int *minutes);
 str MTIMEtzone_create_dst(tzone *ret, const int *minutes, const rule *start, 
const rule *end);
 str MTIMEtzone_create_lng(tzone *ret, const lng *minutes);
@@ -1954,6 +1958,7 @@ void batBeforeCall(ValPtr v, ValPtr bak)
 str batRef;
 str batalgebraRef;
 str batcalcRef;
+str batcapiRef;
 str batmalRef;
 str batmmathRef;
 str batmtimeRef;
@@ -1982,6 +1987,7 @@ str bstream_read_wrapwrap(int *res, Bstr
 str calcRef;
 str callMAL(Client cntxt, MalBlkPtr mb, MalStkPtr *glb, ValPtr argv[], char 
debug);
 int callString(Client c, str s, int listing);
+str capiRef;
 str catalogRef;
 str catchKernelException(Client cntxt, str ret);
 void chkDeclarations(stream *out, MalBlkPtr mb);
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: jitudf - Solaris fix.

2017-06-26 Thread Mark Raasveldt
Changeset: b6d92a2fee99 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b6d92a2fee99
Modified Files:
sql/backends/monet5/UDF/capi/capi.c
Branch: jitudf
Log Message:

Solaris fix.


diffs (12 lines):

diff --git a/sql/backends/monet5/UDF/capi/capi.c 
b/sql/backends/monet5/UDF/capi/capi.c
--- a/sql/backends/monet5/UDF/capi/capi.c
+++ b/sql/backends/monet5/UDF/capi/capi.c
@@ -401,7 +401,7 @@ static str CUDFeval(Client cntxt, MalBlk
size_t volatile input_count = 0;
void ** volatile outputs = NULL;
size_t volatile output_count = 0;
-   BAT **input_bats = NULL;
+   BAT ** volatile input_bats = NULL;
mprotected_region *regions = NULL, *region_iter = NULL;
 
lng initial_output_count = -1;
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: jitudf - Fix memory leak in non-grouped aggregate.

2017-06-26 Thread Mark Raasveldt
Changeset: 7412c6606722 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7412c6606722
Modified Files:
sql/backends/monet5/UDF/capi/capi.c
Branch: jitudf
Log Message:

Fix memory leak in non-grouped aggregate.


diffs (35 lines):

diff --git a/sql/backends/monet5/UDF/capi/capi.c 
b/sql/backends/monet5/UDF/capi/capi.c
--- a/sql/backends/monet5/UDF/capi/capi.c
+++ b/sql/backends/monet5/UDF/capi/capi.c
@@ -246,6 +246,15 @@ static void *wrapped_GDK_malloc_nojump(s
return add_allocated_region(ptr);
 }
 
+static void *wrapped_GDK_zalloc_nojump(size_t size)
+{
+   void *ptr = GDKzalloc(size + sizeof(allocated_region));
+   if (!ptr) {
+   return NULL;
+   }
+   return add_allocated_region(ptr);
+}
+
 #define GENERATE_BASE_HEADERS(type, tpename)   
\
static int tpename##_is_null(type value);   
   \
static void tpename##_initialize(struct cudf_data_struct_##tpename 
*self,  \
@@ -1132,9 +1141,13 @@ static str CUDFeval(Client cntxt, MalBlk
if (non_grouped_aggregate) {
GENERATE_BAT_INPUT_BASE(oid);
bat_data->count = input_size;
+   bat_data->null_value = oid_nil;
bat_data->data =
-   GDKzalloc(bat_data->count * 
sizeof(bat_data->null_value));
-   bat_data->null_value = oid_nil;
+   wrapped_GDK_zalloc_nojump(bat_data->count * 
sizeof(bat_data->null_value));
+   if (!bat_data->data) {
+   msg = createException(MAL, "cudf.eval", 
MAL_MALLOC_FAIL);
+   goto wrapup;
+   }
}
 
argnode = sqlfun ? sqlfun->res->h : NULL;
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: data-vaults - Merge with default

2017-06-26 Thread Panagiotis Koutsourakis
Changeset: bd366cf395c6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bd366cf395c6
Added Files:

sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.err.Windows

sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.out.Windows
sql/test/BugTracker-2017/Tests/coalesc-limit.Bug-6316.stable.err
sql/test/BugTracker-2017/Tests/coalesc-limit.Bug-6316.stable.out
sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.sql
sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.err
sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.out
sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.sql

sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.err

sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.out

sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.sql

sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.stable.err

sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.stable.out
sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.sql

sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.err

sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.out
sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.stable.err
sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.stable.out
sql/test/BugTracker-2017/Tests/lateral.Bug-6310.stable.err
sql/test/BugTracker-2017/Tests/lateral.Bug-6310.stable.out
sql/test/BugTracker-2017/Tests/lateral02.Bug-6314.stable.err
sql/test/BugTracker-2017/Tests/lateral02.Bug-6314.stable.out
sql/test/BugTracker-2017/Tests/limit.bug-6322.sql
sql/test/BugTracker-2017/Tests/limit_clause.Bug-6312.stable.err
sql/test/BugTracker-2017/Tests/limit_clause.Bug-6312.stable.out
sql/test/BugTracker-2017/Tests/push_subslice.Bug-6322.sql
sql/test/BugTracker-2017/Tests/push_subslice.Bug-6322.stable.err
sql/test/BugTracker-2017/Tests/push_subslice.Bug-6322.stable.out
sql/test/BugTracker-2017/Tests/simplify_math.Bug-6324.sql
sql/test/BugTracker-2017/Tests/simplify_math.Bug-6324.stable.err
sql/test/BugTracker-2017/Tests/simplify_math.Bug-6324.stable.out
sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.sql

sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.stable.err

sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.stable.out

sql/test/BugTracker-2017/Tests/type-resolution-error.Bugs-6313.stable.err

sql/test/BugTracker-2017/Tests/type-resolution-error.Bugs-6313.stable.out
sql/test/Tests/ifexists-views.sql
sql/test/Tests/ifexists-views.stable.err
sql/test/Tests/ifexists-views.stable.out
sql/test/malloc_fail/Tests/setmemorylimit-fail2.stable.err
sql/test/malloc_fail/Tests/setmemorylimit-fail2.stable.out
Modified Files:
.hgtags
MonetDB.spec
NT/mkgeomwxs.py
NT/mkodbcwxs.py
NT/mksqlwxs.py
buildtools/conf/monetdb.ico
clients/ChangeLog.Dec2016
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
clients/mapiclient/dump.c
clients/mapiclient/mclient.c
clients/mapiclient/mhelp.c
clients/mapiclient/mhelp.h
clients/mapiclient/tomograph.c
clients/odbc/driver/SQLColumnPrivileges.c
clients/odbc/driver/SQLColumns.c
clients/odbc/driver/SQLExecute.c
clients/odbc/driver/SQLSpecialColumns.c
clients/odbc/driver/SQLTables.c
common/stream/stream.c
debian/changelog
gdk/gdk_atoms.c
gdk/gdk_bat.c
gdk/gdk_bbp.c
gdk/gdk_heap.c
gdk/gdk_join.c
gdk/gdk_logger.c
gdk/gdk_private.h
gdk/gdk_search.c
gdk/gdk_select.c
gdk/gdk_utils.c
geom/monetdb5/geom_upgrade.c
libversions
monetdb5/mal/mal_debugger.c
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_instruction.h
monetdb5/mal/mal_parser.c
monetdb5/modules/kernel/status.c
monetdb5/modules/mal/00_language_hge.mal
monetdb5/modules/mal/bbp.c
monetdb5/modules/mal/clients.c
monetdb5/modules/mal/inspect.c
monetdb5/modules/mal/manifold.c
monetdb5/modules/mal/manifold.h
monetdb5/modules/mal/mdb.c
monetdb5/optimizer/Tests/inline06.stable.out
monetdb5/optimizer/opt_costModel.c
monetdb5/optimizer/opt_dataflow.c
monetdb5/optimizer/opt_evaluate.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_multiplex

MonetDB: default - Merge with Jul2017 branch.

2017-06-26 Thread Sjoerd Mullender
Changeset: b4de79f8108f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b4de79f8108f
Modified Files:
monetdb5/optimizer/opt_mergetable.c
sql/server/rel_exp.c
sql/server/rel_exp.h
sql/server/rel_optimizer.c
sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out
sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.err
sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.out

sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.err

sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.out
sql/test/BugTracker-2017/Tests/nestedoperators.Bug-6292.stable.err
Branch: default
Log Message:

Merge with Jul2017 branch.


diffs (truncated from 304 to 300 lines):

diff --git a/monetdb5/optimizer/opt_mergetable.c 
b/monetdb5/optimizer/opt_mergetable.c
--- a/monetdb5/optimizer/opt_mergetable.c
+++ b/monetdb5/optimizer/opt_mergetable.c
@@ -112,8 +112,13 @@ mat_add_var(matlist_t *ml, InstrPtr q, I
dst->pm = parentmat;
dst->packed = 0;
dst->pushed = pushed;
-   if (ml->vars[var] < 0)
+   if (ml->vars[var] < 0 || dst->type != mat_ext) {
+   if (ml->vars[var] >= 0) {
+   ml->v[ml->vars[var]].packed = 1;
+   ml->v[ml->vars[var]].pushed = 1;
+   }
ml->vars[var] = ml->top;
+   }
++ml->top;
 }
 
diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c
--- a/sql/server/rel_exp.c
+++ b/sql/server/rel_exp.c
@@ -1300,6 +1300,19 @@ exp_is_zero(mvc *sql, sql_exp *e)
 }
 
 int
+exp_is_not_null(mvc *sql, sql_exp *e) 
+{
+   if (e->type == e_atom) {
+   if (e->l) {
+   return !(atom_null(e->l));
+   } else if(sql->emode == m_normal && sql->argc > e->flag && 
EC_COMPUTE(exp_subtype(e)->type->eclass)) {
+   return !atom_null(sql->args[e->flag]);
+   }
+   }
+   return 0;
+}
+
+int
 exp_is_atom( sql_exp *e )
 {
switch (e->type) {
diff --git a/sql/server/rel_exp.h b/sql/server/rel_exp.h
--- a/sql/server/rel_exp.h
+++ b/sql/server/rel_exp.h
@@ -119,6 +119,7 @@ extern int exp_is_correlation(sql_exp *e
 extern int exp_is_join_exp(sql_exp *e);
 extern int exp_is_atom(sql_exp *e);
 extern int exp_is_zero(mvc *sql, sql_exp *e);
+extern int exp_is_not_null(mvc *sql, sql_exp *e);
 extern int exps_are_atoms(list *exps);
 extern int exp_has_func(sql_exp *e);
 extern int exp_unsafe(sql_exp *e);
diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -2695,13 +2695,13 @@ exp_simplify_math( mvc *sql, sql_exp *e,
sql_exp *le = l->h->data;
sql_exp *re = l->h->next->data;
/* 0*a = 0 */
-   if (exp_is_atom(le) && exp_is_zero(sql, le)) {
+   if (exp_is_atom(le) && exp_is_zero(sql, le) && 
exp_is_not_null(sql, re)) {
(*changes)++;
exp_setname(sql->sa, le, exp_relname(e), 
exp_name(e));
return le;
}
/* a*0 = 0 */
-   if (exp_is_atom(re) && exp_is_zero(sql, re)) {
+   if (exp_is_atom(re) && exp_is_zero(sql, re) && 
exp_is_not_null(sql, le)) {
(*changes)++;
exp_setname(sql->sa, re, exp_relname(e), 
exp_name(e));
return re;
diff --git 
a/sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out 
b/sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out
--- a/sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out
+++ b/sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out
@@ -108,7 +108,7 @@ Ready.
 % sys.tbls,sys.tbls,   sys.tbls,   sys.tbls,   sys.tbls,   
sys.tbls,   sys.tbls,   sys.tbls # table_name
 % name,schema_id,  query,  type,   system, commit_action,  
readonly,   temporary # name
 % varchar, int,varchar,smallint,   boolean,
smallint,   boolean,smallint # type
-% 12,  4,  379,1,  5,  1,  5,  1 # length
+% 12,  4,  169,1,  5,  1,  5,  1 # length
 [ "schemas",   2000,   NULL,   0,  true,   0,  false,  0   ]
 [ "types", 2000,   NULL,   0,  true,   0,  false,  0   ]
 [ "functions", 2000,   NULL,   0,  true,   0,  false,  0   ]
diff --git a/sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.err 
b/sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.err
--- a/sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.err
+++ b/sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.err
@@ 

MonetDB: Jul2017 - We no longer need updatecodes.py.

2017-06-26 Thread Sjoerd Mullender
Changeset: 8c6080e3b54d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8c6080e3b54d
Removed Files:
NT/updatecodes.py
Branch: Jul2017
Log Message:

We no longer need updatecodes.py.


diffs (43 lines):

diff --git a/NT/updatecodes.py b/NT/updatecodes.py
deleted file mode 100755
--- a/NT/updatecodes.py
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/python
-
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0.  If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-# Copyright 1997 - July 2008 CWI, August 2008 - 2017 MonetDB B.V.
-
-import subprocess
-import re
-
-prcdre = re.compile('"ProductCode" = "8:{(.*)}"')
-pacdre = re.compile('"PackageCode" = "8:{(.*)}"')
-
-def update(f):
-p = subprocess.Popen(['uuidgen'], stdout = subprocess.PIPE,
- universal_newlines = True)
-u, e = p.communicate()
-productcode = u.strip('\n').upper()
-p = subprocess.Popen(['uuidgen'], stdout = subprocess.PIPE,
- universal_newlines = True)
-u, e = p.communicate()
-packagecode = u.strip('\n').upper()
-fp = open(f)
-data = fp.read()
-fp.close()
-repl = '"ProductCode" = "8:{%s}"' % productcode
-data = prcdre.sub(repl, data)
-repl = '"PackageCode" = "8:{%s}"' % packagecode
-data = pacdre.sub(repl, data)
-fp = open(f, 'w')
-fp.write(data)
-fp.close()
-
-if __name__ == '__main__':
-import sys
-for f in sys.argv[1:]:
-update(f)
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: timetrails - Added 'START CONTINUOUS PROCEDURE qname', ...

2017-06-26 Thread Pedro Ferreira
Changeset: 6bd0c0fd359a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6bd0c0fd359a
Modified Files:
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_cquery.c
sql/backends/monet5/sql_cquery.h
sql/backends/monet5/sqlcatalog.mal
sql/include/sql_catalog.h
sql/server/rel_psm.c
sql/server/rel_semantic.c
sql/server/sql_mvc.c
sql/server/sql_mvc.h
sql/server/sql_parser.h
sql/server/sql_parser.y
sql/server/sql_scan.c
sql/storage/sql_storage.h
sql/storage/store.c
Branch: timetrails
Log Message:

Added 'START CONTINUOUS PROCEDURE qname', 'INTERRUPT CONTINUOUS PROCEDURE 
qname' and 'HALT CONTINUOUS PROCEDURE qname' SQL statements. For now we use 
INTERRUPT and HALT instead of PAUSE and STOP respectively, because these words 
are used in the system functions sys.pause and sys.stop


diffs (truncated from 912 to 300 lines):

diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c
--- a/sql/backends/monet5/sql_cat.c
+++ b/sql/backends/monet5/sql_cat.c
@@ -24,6 +24,7 @@
 #include "opt_prelude.h"
 #include "querylog.h"
 #include "mal_builder.h"
+#include "mal_client.h"
 #include "mal_debugger.h"
 
 #include 
@@ -48,7 +49,7 @@ static char *
 SaveArgReference(MalStkPtr stk, InstrPtr pci, int arg)
 {   
 char *val = *getArgReference_str(stk, pci, arg);
-
+
 if (val && strcmp(val, str_nil) == 0)
 val = NULL;
 return val;
@@ -712,36 +713,58 @@ continuous_procedure(mvc *sql, char *sna
 {
sql_schema *s = NULL;
char *F;
+   Client cntxt;
+   str petrinetResponse = MAL_SUCCEED;
 
switch (action) {
case START_CONTINUOUS_PROCEDURE:
F = "START CONTINUOUS PROCEDURE";
break;
-   case PAUSE_CONTINUOUS_PROCEDURE:
-   F = "PAUSE CONTINUOUS PROCEDURE";
+   case INTERRUPT_CONTINUOUS_PROCEDURE:
+   F = "INTERRUPT CONTINUOUS PROCEDURE";
break;
-   case STOP_CONTINUOUS_PROCEDURE:
-   F = "STOP CONTINUOUS PROCEDURE";
+   case HALT_CONTINUOUS_PROCEDURE:
+   F = "HALT CONTINUOUS PROCEDURE";
break;
}
 
if (sname && !(s = mvc_bind_schema(sql, sname)))
-   return sql_message("3F000!%s CONTINUOUS PROCEDURE: no such 
schema '%s'", F, sname);
+   return sql_message("3F000!%s: no such schema '%s'", F, sname);
if (!s)
s = cur_schema(sql);
if (fid >= 0) {
node *n = find_sql_func_node(s, fid);
if (n) {
sql_func *func = n->data;
-
if (!mvc_schema_privs(sql, s)) {
-   return sql_message("%s: access denied for %s to 
schema ;'%s'", F, stack_get_string(sql, "current_user"), s->base.name);
+   return sql_message("3F000!%s: access denied for 
%s to schema ;'%s'", F, stack_get_string(sql, "current_user"), s->base.name);
}
-
-   mvc_continuous_procedure(sql, s, func, action);
+   switch (action) {
+   case START_CONTINUOUS_PROCEDURE: {
+   if(!CQlocate(sname, cpname)) { 
//if the continuous procedure is not registered in the catalog then we register 
it
+   cntxt = 
MCgetClient(sql->clientid);
+   petrinetResponse = 
CQregisterInternal(cntxt, sname, cpname);
+   }
+   if(!petrinetResponse) {
+   petrinetResponse = 
CQresumeInternal(sname, cpname);
+   }
+   }
+   break;
+   case INTERRUPT_CONTINUOUS_PROCEDURE:
+   petrinetResponse = 
CQpauseInternal(sname, cpname);
+   break;
+   case HALT_CONTINUOUS_PROCEDURE:
+   petrinetResponse = 
CQderegisterInternal(sname, cpname);
+   break;
+   }
+   if(petrinetResponse) {
+   return sql_message("3F000!%s: internal error: 
%s", F, petrinetResponse);
+   } else {
+   mvc_continuous_procedure(sql, s, func);
+   }
}
} else {
-   return sql_message("3F000!%s CONTINUOUS PROCEDURE: could not 
find continuous procedure %s in the c

MonetDB: timetrails - Drop continuous procedures

2017-06-26 Thread Pedro Ferreira
Changeset: 70ccd3d3f174 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=70ccd3d3f174
Modified Files:
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_cquery.c
sql/server/sql_parser.y
Branch: timetrails
Log Message:

Drop continuous procedures


diffs (100 lines):

diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c
--- a/sql/backends/monet5/sql_cat.c
+++ b/sql/backends/monet5/sql_cat.c
@@ -448,7 +448,7 @@ static str
 drop_func(mvc *sql, char *sname, char *name, int fid, int type, int action)
 {
sql_schema *s = NULL;
-   char *F, *f;
+   char *F, *f, *err;
char *KF = type == F_FILT ? "FILTER " : type == F_UNION ? "UNION " : "";
char *kf = type == F_FILT ? "filter " : type == F_UNION ? "union " : "";
 
@@ -484,6 +484,13 @@ drop_func(mvc *sql, char *sname, char *n
}
if (!action && mvc_check_dependency(sql, func->base.id, 
!IS_PROC(func) ? FUNC_DEPENDENCY : PROC_DEPENDENCY, NULL))
return sql_message("DROP %s%s: there are 
database objects dependent on %s%s %s;", KF, F, kf, f, func->base.name);
+   //if it is a continuous procedure we must remove it 
first from the Petrinet
+   if(type == F_CONTINUOUS_PROCEDURE && CQlocate(sname, 
func->base.name)) {
+   err = CQderegisterInternal(sname, 
func->base.name);
+   if(err) {
+   return sql_message("DROP %s%s: internal 
error on %s%s %s: %s", KF, F, kf, f, func->base.name, err);
+   }
+   }
 
mvc_drop_func(sql, s, func, action);
}
@@ -502,6 +509,13 @@ drop_func(mvc *sql, char *sname, char *n
list_destroy(list_func);
return sql_message("DROP %s%s: there are 
database objects dependent on %s%s %s;", KF, F, kf, f, func->base.name);
}
+   //if it is a continuous procedure we must remove it 
first from the Petrinet
+   if(type == F_CONTINUOUS_PROCEDURE && CQlocate(sname, 
func->base.name)) {
+   err = CQderegisterInternal(sname, 
func->base.name);
+   if(err) {
+   return sql_message("DROP %s%s: internal 
error on %s%s %s: %s", KF, F, kf, f, func->base.name, err);
+   }
+   }
}
mvc_drop_all_func(sql, s, list_func, action);
list_destroy(list_func);
diff --git a/sql/backends/monet5/sql_cquery.c b/sql/backends/monet5/sql_cquery.c
--- a/sql/backends/monet5/sql_cquery.c
+++ b/sql/backends/monet5/sql_cquery.c
@@ -703,7 +703,7 @@ CQderegisterInternal(str modnme, str fcn
 
idx = CQlocate(modnme, fcnnme);
if( idx == pnettop)
-   throw(SQL,"cquery.deregister","Continuous query %s.%s not 
accessible\n",modnme,fcnnme);
+   throw(SQL,"cquery.deregister","Continuous procedure %s.%s not 
accessible\n",modnme,fcnnme);
return CQderegisterInternalRanges(idx, idx+1);
 }
 
diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -1973,14 +1973,13 @@ func_def:
append_int(f, $1);
  $$ = _symbol_create_list( SQL_CREATE_FUNC, f ); }
   | create_or_replace CONTINUOUS PROCEDURE qname
-   '(' opt_paramlist ')'
 routine_body
{ dlist *f = L();
append_list(f, $4);/* 
continuous query name */
-   append_list(f, $6);/* no 
parameters for now :( */
+   append_list(f, NULL);  /* no 
parameters */
append_symbol(f, NULL);/* no 
result */
append_list(f, NULL);  /* no 
external name */
-   append_list(f, $8);/* 
continuous query body */
+   append_list(f, $5);/* 
continuous query body */
append_int(f, F_CONTINUOUS_PROCEDURE); /* 
continuous query identifier */
append_int(f, FUNC_LANG_SQL);  /* for 
now only SQL */
append_int(f, $1); /* 
create or replace feature */
@@ -2453,6 +2452,12 @@ routine_designator:
  append_list(l, $3 );
  append_int(l, F_PROC );
  $$ = l; }
+ | CONTINUOUS PROCEDURE qname
+   { dlist *l = L();
+ append_list(l, $3 );
+ append_list(l, NULL );
+ append_int(l, F_CONTIN