Changeset: 60cddcf3e588 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=60cddcf3e588
Added Files:
        sql/backends/monet5/Tests/pyapi32.sql
        sql/backends/monet5/Tests/pyapi32.stable.err
        sql/backends/monet5/Tests/pyapi32.stable.out
        sql/test/bugs/Tests/filter_error.sql
        sql/test/bugs/Tests/filter_error.stable.err
        sql/test/bugs/Tests/filter_error.stable.out
Modified Files:
        clients/Tests/exports.stable.out
        gdk/gdk_utils.c
        monetdb5/mal/mal.h
        monetdb5/mal/mal_builder.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_instruction.h
        monetdb5/mal/mal_type.h
        sql/backends/monet5/Tests/All
        sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out
        sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out
        sql/backends/monet5/UDF/pyapi/pyapi.c
        sql/benchmarks/ssbm/Tests/01-explain.stable.out
        sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/02-explain.stable.out
        sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/03-explain.stable.out
        sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/04-explain.stable.out
        sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/05-explain.stable.out
        sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/06-explain.stable.out
        sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/07-explain.stable.out
        sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/08-explain.stable.out
        sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/09-explain.stable.out
        sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/10-explain.stable.out
        sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/11-explain.stable.out
        sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/12-explain.stable.out
        sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/13-explain.stable.out
        sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/01-explain.stable.out
        sql/benchmarks/tpch/Tests/01-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/02-explain.stable.out
        sql/benchmarks/tpch/Tests/02-plan.stable.out
        sql/benchmarks/tpch/Tests/03-explain.stable.out
        sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/04-explain.stable.out
        sql/benchmarks/tpch/Tests/05-explain.stable.out
        sql/benchmarks/tpch/Tests/05-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/06-explain.stable.out
        sql/benchmarks/tpch/Tests/06-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/07-explain.stable.out
        sql/benchmarks/tpch/Tests/07-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/08-explain.stable.out
        sql/benchmarks/tpch/Tests/08-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/09-explain.stable.out
        sql/benchmarks/tpch/Tests/09-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/09-plan.stable.out
        sql/benchmarks/tpch/Tests/09-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/10-explain.stable.out
        sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/11-explain.stable.out
        sql/benchmarks/tpch/Tests/11-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/12-explain.stable.out
        sql/benchmarks/tpch/Tests/12-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/13-explain.stable.out
        sql/benchmarks/tpch/Tests/13-plan.stable.out
        sql/benchmarks/tpch/Tests/14-explain.stable.out
        sql/benchmarks/tpch/Tests/14-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/15-explain.stable.out
        sql/benchmarks/tpch/Tests/15-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/16-explain.stable.out
        sql/benchmarks/tpch/Tests/16-plan.stable.out
        sql/benchmarks/tpch/Tests/17-explain.stable.out
        sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/18-explain.stable.out
        sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/19-explain.stable.out
        sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/19-plan.stable.out
        sql/benchmarks/tpch/Tests/20-explain.stable.out
        sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/20-plan.stable.out
        sql/benchmarks/tpch/Tests/20-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/21-explain.stable.out
        sql/benchmarks/tpch/Tests/22-explain.stable.out
        sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
        sql/scripts/26_sysmon.sql
        sql/server/rel_optimizer.c
        sql/server/rel_select.c
        sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
        
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
        
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
        sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out
        
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128
        sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out.single
        sql/test/BugTracker-2015/Tests/useless_casts.Bug-3756.stable.out
        sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out
        sql/test/BugTracker-2016/Tests/querylog.stable.err
        sql/test/BugTracker-2016/Tests/querylog.stable.out
        sql/test/BugTracker-2016/Tests/storagemodel.stable.out
        sql/test/BugTracker-2016/Tests/storagemodel.stable.out.32bit
        sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
        sql/test/bugs/Tests/All
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check5.stable.out
        sql/test/mergetables/Tests/mergequery.stable.out
        sql/test/remote/Tests/partition_elim.stable.out
        testing/listexports.py.in
Branch: mosaic
Log Message:

merge with default


diffs (truncated from 10794 to 300 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
@@ -263,7 +263,6 @@ gdk_return GDKreleasesem(int sem_id, str
 void GDKreset(int status);
 void GDKsetenv(str name, str value);
 void GDKsetmemorylimit(lng nbytes);
-void GDKsetmemorylimit(lng nbytes){ GDK_mallocedbytes_limit = nbytes;
 ssize_t GDKstrFromStr(unsigned char *dst, const unsigned char *src, ssize_t 
len);
 str GDKstrdup(const char *s) __attribute__((__warn_unused_result__));
 str GDKstrndup(const char *s, size_t n) 
__attribute__((__warn_unused_result__));
diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -310,7 +310,9 @@ int GDK_vm_trim = 1;
  * fall-back for other compilers. */
 #include "gdk_atomic.h"
 static volatile ATOMIC_TYPE GDK_mallocedbytes_estimate = 0;
+#ifndef NDEBUG
 static volatile lng GDK_mallocedbytes_limit = -1;
+#endif
 static volatile ATOMIC_TYPE GDK_vm_cursize = 0;
 #ifdef GDK_VM_KEEPHISTO
 volatile ATOMIC_TYPE GDK_vm_nallocs[MAX_BIT] = { 0 };
@@ -1683,8 +1685,13 @@ GDKmalloc_prefixsize(size_t size)
        return s;
 }
 
-gdk_export void GDKsetmemorylimit(lng nbytes) {
+void
+GDKsetmemorylimit(lng nbytes)
+{
+       (void) nbytes;
+#ifndef NDEBUG
        GDK_mallocedbytes_limit = nbytes;
+#endif
 }
 
 
@@ -1707,7 +1714,8 @@ GDKmallocmax(size_t size, size_t *maxsiz
        }
 #ifndef NDEBUG
        /* fail malloc for testing purposes depending on set limit */
-       if (GDK_mallocedbytes_limit >= 0 && size >(size_t) 
GDK_mallocedbytes_limit) {
+       if (GDK_mallocedbytes_limit >= 0 &&
+           size > (size_t) GDK_mallocedbytes_limit) {
                return NULL;
        }
 #endif
diff --git a/monetdb5/mal/mal.h b/monetdb5/mal/mal.h
--- a/monetdb5/mal/mal.h
+++ b/monetdb5/mal/mal.h
@@ -117,8 +117,7 @@ mal_export void mserver_reset(void);
 #define VAR_CLEANUP    16
 #define VAR_INIT       32
 #define VAR_USED       64
-#define VAR_CLIST      128     /* Candidate list variable */
-#define VAR_DISABLED   256             /* used for comments and scheduler */
+#define VAR_DISABLED   128             /* used for comments and scheduler */
 
 /* type check status is kept around to improve type checking efficiency */
 #define TYPE_ERROR      -1
diff --git a/monetdb5/mal/mal_builder.c b/monetdb5/mal/mal_builder.c
--- a/monetdb5/mal/mal_builder.c
+++ b/monetdb5/mal/mal_builder.c
@@ -110,11 +110,11 @@ newComment(MalBlkPtr mb, const char *val
        getArg(q,0) = defConstant(mb,TYPE_str,&cst);
        clrVarConstant(mb,getArg(q,0));
        setVarDisabled(mb,getArg(q,0));
-       pushInstruction(mb, q);
        if (mb->errors) {
                freeInstruction(q);
                return NULL;
        }
+       pushInstruction(mb, q);
        return q;
 }
 
diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -763,7 +763,7 @@ newVariable(MalBlkPtr mb, str name, size
                }
        }
        if( name == 0 || len == 0)
-               (void) snprintf(mb->var[n]->id, IDLENGTH,"%c%c%d", 
REFMARKER,TMPMARKER,mb->vid++);
+               (void) snprintf(mb->var[n]->id, IDLENGTH,"%c%c%d", REFMARKER, 
TMPMARKER,mb->vid++);
        else{
                (void) strncpy( mb->var[n]->id, name,len);
                mb->var[n]->id[len]=0;
diff --git a/monetdb5/mal/mal_instruction.h b/monetdb5/mal/mal_instruction.h
--- a/monetdb5/mal/mal_instruction.h
+++ b/monetdb5/mal/mal_instruction.h
@@ -84,9 +84,9 @@
 #define setVarConstant(M,I)            ((M)->var[I]->flags |= VAR_CONSTANT)
 #define isVarConstant(M,I)             ((M)->var[I]->flags & VAR_CONSTANT)
 
-#define clrVarCList(M,I)               ((M)->var[I]->flags &= ~VAR_CLIST)
-#define setVarCList(M,I)               ((M)->var[I]->flags |= VAR_CLIST)
-#define isVarCList(M,I)                ((M)->var[I]->flags & VAR_CLIST)
+#define clrVarCList(M,I)               ((M)->var[I]->id[0]= REFMARKER)
+#define setVarCList(M,I)               ((M)->var[I]->id[0]= REFMARKERC)
+#define isVarCList(M,I)                        ((M)->var[I]->id[0] == 
REFMARKERC)
 
 #define getVarConstant(M,I)    ((M)->var[I]->value)
 #define getVarValue(M,I)       VALget(&(M)->var[I]->value)
diff --git a/monetdb5/mal/mal_type.h b/monetdb5/mal/mal_type.h
--- a/monetdb5/mal/mal_type.h
+++ b/monetdb5/mal/mal_type.h
@@ -16,7 +16,6 @@
 #define TMPMARKER '_'
 #define REFMARKER 'X'
 #define REFMARKERC 'C'
-#define refMarker(M,I)  (isVarCList(M,I)? 'C':'X')
 
 #define newBatType(T)  (1<<16 |  (T & 0377) )
 #define getBatType(X)  ((X) & 0377 )
diff --git a/sql/backends/monet5/Tests/All b/sql/backends/monet5/Tests/All
--- a/sql/backends/monet5/Tests/All
+++ b/sql/backends/monet5/Tests/All
@@ -50,6 +50,7 @@ HAVE_LIBPY?pyapi26
 HAVE_LIBPY?pyapi27
 HAVE_LIBPY?pyapi28
 HAVE_LIBPY?pyapi29
+HAVE_LIBPY?pyapi32
 
 # should this work?
 #inlineUDF
diff --git a/sql/backends/monet5/Tests/pyapi32.sql 
b/sql/backends/monet5/Tests/pyapi32.sql
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/Tests/pyapi32.sql
@@ -0,0 +1,25 @@
+
+START TRANSACTION;
+
+
+CREATE FUNCTION pyapi32_gentbl() RETURNS TABLE(i TINYINT) LANGUAGE PYTHON {
+       return { 'i': numpy.arange(100) }
+};
+
+CREATE FUNCTION pyapi32_function(i INTEGER) RETURNS INTEGER LANGUAGE PYTHON {
+       return i * 2;   
+};
+
+CREATE FUNCTION pyapi32_function_mapped(i INTEGER) RETURNS INTEGER LANGUAGE 
PYTHON_MAP {
+       return i * 2;   
+};
+
+CREATE TABLE integers AS SELECT * FROM pyapi32_gentbl() WITH DATA;
+
+SELECT pyapi32_function(i) FROM integers;
+SELECT pyapi32_function(i) FROM integers WHERE i > 50;
+
+SELECT pyapi32_function_mapped(i) FROM integers;
+SELECT pyapi32_function_mapped(i) FROM integers WHERE i > 50;
+
+ROLLBACK;
diff --git a/sql/backends/monet5/Tests/pyapi32.stable.err 
b/sql/backends/monet5/Tests/pyapi32.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/Tests/pyapi32.stable.err
@@ -0,0 +1,36 @@
+stderr of test 'pyapi32` in directory 'sql/backends/monet5` itself:
+
+
+# 14:03:48 >  
+# 14:03:48 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=34523" "--set" 
"mapi_usock=/var/tmp/mtest-44806/.s.monetdb.34523" "--set" "monet_prompt=" 
"--forcemito" "--dbpath=/Users/myth/opt/var/MonetDB/mTests_sql_backends_monet5" 
"--set" "embedded_r=yes" "--set" "embedded_py=true"
+# 14:03:48 >  
+
+# builtin opt  gdk_dbpath = /Users/myth/opt/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 = 34523
+# cmdline opt  mapi_usock = /var/tmp/mtest-44806/.s.monetdb.34523
+# cmdline opt  monet_prompt = 
+# cmdline opt  gdk_dbpath = 
/Users/myth/opt/var/MonetDB/mTests_sql_backends_monet5
+# cmdline opt  embedded_r = yes
+# cmdline opt  embedded_py = true
+# cmdline opt  gdk_debug = 536870922
+
+# 14:03:49 >  
+# 14:03:49 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-44806" "--port=34523"
+# 14:03:49 >  
+
+
+# 14:03:49 >  
+# 14:03:49 >  "Done."
+# 14:03:49 >  
+
diff --git a/sql/backends/monet5/Tests/pyapi32.stable.out 
b/sql/backends/monet5/Tests/pyapi32.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/Tests/pyapi32.stable.out
@@ -0,0 +1,397 @@
+stdout of test 'pyapi32` in directory 'sql/backends/monet5` itself:
+
+
+# 14:03:48 >  
+# 14:03:48 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=34523" "--set" 
"mapi_usock=/var/tmp/mtest-44806/.s.monetdb.34523" "--set" "monet_prompt=" 
"--forcemito" "--dbpath=/Users/myth/opt/var/MonetDB/mTests_sql_backends_monet5" 
"--set" "embedded_r=yes" "--set" "embedded_py=true"
+# 14:03:48 >  
+
+# MonetDB 5 server v11.24.0
+# This is an unreleased version
+# Serving database 'mTests_sql_backends_monet5', using 4 threads
+# Compiled for x86_64-apple-darwin15.5.0/64bit with 64bit OIDs and 128bit 
integers dynamically linked
+# Found 8.000 GiB available main-memory.
+# Copyright (c) 1993-July 2008 CWI.
+# Copyright (c) August 2008-2016 MonetDB B.V., all rights reserved
+# Visit http://www.monetdb.org/ for further information
+# Listening for connection requests on 
mapi:monetdb://Marks-MacBook-Pro.local:34523/
+# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-44806/.s.monetdb.34523
+# MonetDB/SQL module loaded
+# MonetDB/Python module loaded
+# MonetDB/R   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: 18_index.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_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_profiler.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
+
+# 14:03:49 >  
+# 14:03:49 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-44806" "--port=34523"
+# 14:03:49 >  
+
+#START TRANSACTION;
+#CREATE FUNCTION pyapi32_gentbl() RETURNS TABLE(i TINYINT) LANGUAGE PYTHON {
+#      return { 'i': numpy.arange(100) }
+#};
+#CREATE FUNCTION pyapi32_function(i INTEGER) RETURNS INTEGER LANGUAGE PYTHON {
+#      return i * 2;   
+#};
+#CREATE FUNCTION pyapi32_function_mapped(i INTEGER) RETURNS INTEGER LANGUAGE 
PYTHON_MAP {
+#      return i * 2;   
+#};
+#CREATE TABLE integers AS SELECT * FROM pyapi32_gentbl() WITH DATA;
+#SELECT pyapi32_function(i) FROM integers;
+% sys.L # table_name
+% pyapi32_function_i # name
+% int # type
+% 3 # length
+[ 0    ]
+[ 2    ]
+[ 4    ]
+[ 6    ]
+[ 8    ]
+[ 10   ]
+[ 12   ]
+[ 14   ]
+[ 16   ]
+[ 18   ]
+[ 20   ]
+[ 22   ]
+[ 24   ]
+[ 26   ]
+[ 28   ]
+[ 30   ]
+[ 32   ]
+[ 34   ]
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to