Changeset: 79cdb25f69c5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=79cdb25f69c5
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
clients/mapiclient/mclient.c
gdk/ChangeLog
gdk/gdk.h
gdk/gdk_bbp.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
monetdb5/modules/atoms/str.c
monetdb5/optimizer/opt_emptybind.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/backends/monet5/sql_cast.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_optimizer.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/convert-function-test.Bug-3460.sql
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err.int128
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
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: jit
Log Message:
Merge with default
diffs (truncated from 10515 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
@@ -177,11 +177,9 @@ BAT *BATunique(BAT *b, BAT *s);
BBPrec *BBP[N_BBPINIT];
void BBPaddfarm(const char *dirname, int rolemask);
void BBPclear(bat bid);
-void BBPcold(bat b);
int BBPcurstamp(void);
int BBPdecref(bat b, int logical);
BAT *BBPdescriptor(bat b);
-void BBPhot(bat b);
int BBPin;
int BBPincref(bat b, int logical);
bat BBPindex(const char *nme);
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -1078,7 +1078,7 @@ TESTrenderer(MapiHdl hdl)
strlen(s) < l ||
/* start or end with white space? */
my_isspace(*s) ||
- my_isspace(s[l - 1]) ||
+ (l > 0 && my_isspace(s[l - 1])) ||
/* timezone can have embedded comma */
strcmp(tp, "timezone") == 0 ||
/* a bunch of geom types */
diff --git a/gdk/ChangeLog b/gdk/ChangeLog
--- a/gdk/ChangeLog
+++ b/gdk/ChangeLog
@@ -1,6 +1,9 @@
# ChangeLog file for MonetDB
# This file is updated with Maddlog
+* Fri Jul 22 2016 Sjoerd Mullender <[email protected]>
+- Removed unused functions BBPhot and BBPcold.
+
* Wed Jul 6 2016 Sjoerd Mullender <[email protected]>
- Removed BATderiveTailProps and BATderiveProps. Just set the properties
you know about, or use BATsettrivprop.
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1620,10 +1620,6 @@ gdk_export void GDKqsort_rev(void *h, vo
* @tab BBPincref (bat bi, int logical)
* @item int
* @tab BBPdecref (bat bi, int logical)
- * @item void
- * @tab BBPhot (bat bi)
- * @item void
- * @tab BBPcold (bat bi)
* @item str
* @tab BBPname (bat bi)
* @item bat
@@ -1724,8 +1720,6 @@ gdk_export int BBPcurstamp(void);
gdk_export void BBPlock(void);
-gdk_export void BBPhot(bat b);
-gdk_export void BBPcold(bat b);
gdk_export void BBPunlock(void);
gdk_export str BBPlogical(bat b, str buf);
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -3229,45 +3229,6 @@ BBPtrim(size_t target)
MT_lock_unset(&GDKtrimLock(i));
}
-void
-BBPhot(bat i)
-{
- if (BBPcheck(i, "BBPhot")) {
- int lock = locked_by ? MT_getpid() != locked_by : 1;
-
- if (lock)
- MT_lock_set(&GDKswapLock(i));
- BBP_lastused(i) = BBPLASTUSED(BBPstamp() + 30000);
- if (lock)
- MT_lock_unset(&GDKswapLock(i));
- }
-}
-
-void
-BBPcold(bat i)
-{
- if (BBPcheck(i, "BBPcold")) {
- MT_Id pid = MT_getpid();
- int idx = threadmask(pid);
- int lock = locked_by ? pid != locked_by : 1;
-
- MT_lock_set(&GDKtrimLock(idx));
- if (lock)
- MT_lock_set(&GDKswapLock(i));
- /* make very cold and insert on top of trim list */
- BBP_lastused(i) = 0;
- if (BBP_cache(i) && bbptrimlast < bbptrimmax) {
- lastused[--bbptrimmax] = 0;
- bbptrim[bbptrimmax].bid = i;
- bbptrim[bbptrimmax].next = bbptrimfirst;
- bbptrimfirst = bbptrimmax;
- }
- if (lock)
- MT_lock_unset(&GDKswapLock(i));
- MT_lock_unset(&GDKtrimLock(idx));
- }
-}
-
/*
* BBPquickdesc loads a BAT descriptor without loading the entire BAT,
* of which the result be used only for a *limited* number of
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_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/monetdb5/modules/atoms/str.c b/monetdb5/modules/atoms/str.c
--- a/monetdb5/modules/atoms/str.c
+++ b/monetdb5/modules/atoms/str.c
@@ -1586,7 +1586,7 @@ STRConcat(str *res, const str *val1, con
str
STRLength(int *res, const str *arg1)
{
- size_t l;
+ int l;
const char *s = *arg1;
if (strNil(s)) {
@@ -1595,7 +1595,7 @@ STRLength(int *res, const str *arg1)
}
l = UTF8_strlen(s);
assert(l <INT_MAX);
- *res = (int) l;
+ *res = l;
return MAL_SUCCEED;
}
@@ -1620,9 +1620,7 @@ STRTail(str *res, const str *arg1, const
*res = GDKstrdup(str_nil);
} else {
if (off < 0) {
- size_t l = UTF8_strlen(s);
- int len = (int) l;
- assert(l < INT_MAX);
+ int len = UTF8_strlen(s);
if (len == int_nil) {
*res = GDKstrdup(str_nil);
diff --git a/monetdb5/optimizer/opt_emptybind.h
b/monetdb5/optimizer/opt_emptybind.h
--- a/monetdb5/optimizer/opt_emptybind.h
+++ b/monetdb5/optimizer/opt_emptybind.h
@@ -24,7 +24,7 @@
mal_export int OPTemptybindImplementation(Client cntxt, MalBlkPtr mb,
MalStkPtr stk, InstrPtr p);
-//#define OPTDEBUGemptybind if ( optDebug & ((lng) 1 <<DEBUG_OPT_EMPTYBIND) )
-#define OPTDEBUGemptybind if (1)
+#define OPTDEBUGemptybind if ( optDebug & ((lng) 1 <<DEBUG_OPT_EMPTYBIND) )
+//#define OPTDEBUGemptybind if (1)
#endif
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 >
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list