Changeset: 0a3c2c95de98 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/0a3c2c95de98
Modified Files:
clients/Tests/MAL-signatures-hge.test
clients/Tests/MAL-signatures.test
sql/backends/monet5/copy.c
sql/backends/monet5/copy_convert.c
sql/backends/monet5/copy_convert_num.h
sql/backends/monet5/rel_copy.c
Branch: pp_hashjoin
Log Message:
removed the extra Pipeline *p parameter from the copy into functions
diffs (truncated from 458 to 300 lines):
diff --git a/clients/Tests/MAL-signatures-hge.test
b/clients/Tests/MAL-signatures-hge.test
--- a/clients/Tests/MAL-signatures-hge.test
+++ b/clients/Tests/MAL-signatures-hge.test
@@ -45725,67 +45725,67 @@ COPYnew
Create resource for shared reading from stream
copy
parse_decimal
-pattern copy.parse_decimal(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:int,
X_4:int, X_5:bte, X_6:bat[:oid], X_7:int, X_8:str, X_9:str, X_10:str):bat[:bte]
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int,
X_4:bte, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:bte]
COPYparse_decimal_bte
Parse as a decimal
copy
parse_decimal
-pattern copy.parse_decimal(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:int,
X_4:int, X_5:hge, X_6:bat[:oid], X_7:int, X_8:str, X_9:str, X_10:str):bat[:hge]
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int,
X_4:hge, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:hge]
COPYparse_decimal_hge
Parse as a decimal
copy
parse_decimal
-pattern copy.parse_decimal(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:int,
X_4:int, X_5:int, X_6:bat[:oid], X_7:int, X_8:str, X_9:str, X_10:str):bat[:int]
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int,
X_4:int, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:int]
COPYparse_decimal_int
Parse as a decimal
copy
parse_decimal
-pattern copy.parse_decimal(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:int,
X_4:int, X_5:lng, X_6:bat[:oid], X_7:int, X_8:str, X_9:str, X_10:str):bat[:lng]
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int,
X_4:lng, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:lng]
COPYparse_decimal_lng
Parse as a decimal
copy
parse_decimal
-pattern copy.parse_decimal(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:int,
X_4:int, X_5:sht, X_6:bat[:oid], X_7:int, X_8:str, X_9:str, X_10:str):bat[:sht]
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int,
X_4:sht, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:sht]
COPYparse_decimal_sht
Parse as a decimal
copy
parse_float
-pattern copy.parse_float(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:any_1,
X_4:bat[:oid], X_5:int, X_6:str, X_7:str, X_8:str):bat[:any_1]
+pattern copy.parse_float(X_0:bat[:bte], X_1:bat[:int], X_2:any_1,
X_3:bat[:oid], X_4:int, X_5:str, X_6:str, X_7:str):bat[:any_1]
COPYparse_float
Parse using GDK's atomFromStr, handle optional seperator and skip char
copy
parse_generic
-pattern copy.parse_generic(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:any_1,
X_4:bat[:oid], X_5:int, X_6:str):bat[:any_1]
+pattern copy.parse_generic(X_0:bat[:bte], X_1:bat[:int], X_2:any_1,
X_3:bat[:oid], X_4:int, X_5:str):bat[:any_1]
COPYparse_generic
Parse using GDK's atomFromStr
copy
parse_integer
-pattern copy.parse_integer(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:bte,
X_4:bat[:oid], X_5:int, X_6:str):bat[:bte]
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:bte,
X_3:bat[:oid], X_4:int, X_5:str):bat[:bte]
COPYparse_integer_bte
Parse as an integer
copy
parse_integer
-pattern copy.parse_integer(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:hge,
X_4:bat[:oid], X_5:int, X_6:str):bat[:hge]
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:hge,
X_3:bat[:oid], X_4:int, X_5:str):bat[:hge]
COPYparse_integer_hge
Parse as an integer
copy
parse_integer
-pattern copy.parse_integer(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:int,
X_4:bat[:oid], X_5:int, X_6:str):bat[:int]
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:int,
X_3:bat[:oid], X_4:int, X_5:str):bat[:int]
COPYparse_integer_int
Parse as an integer
copy
parse_integer
-pattern copy.parse_integer(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:lng,
X_4:bat[:oid], X_5:int, X_6:str):bat[:lng]
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:lng,
X_3:bat[:oid], X_4:int, X_5:str):bat[:lng]
COPYparse_integer_lng
Parse as an integer
copy
parse_integer
-pattern copy.parse_integer(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:sht,
X_4:bat[:oid], X_5:int, X_6:str):bat[:sht]
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:sht,
X_3:bat[:oid], X_4:int, X_5:str):bat[:sht]
COPYparse_integer_sht
Parse as an integer
copy
parse_string
-pattern copy.parse_string(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:int,
X_4:bat[:oid], X_5:int, X_6:str):bat[:str]
+pattern copy.parse_string(X_0:bat[:bte], X_1:bat[:int], X_2:int,
X_3:bat[:oid], X_4:int, X_5:str):bat[:str]
COPYparse_string
Parse as a string with given max width
copy
@@ -45830,7 +45830,7 @@ COPYset_blocksize
set the COPY block size
copy
splitlines
-pattern copy.splitlines(X_0:bat[:bte], X_1:bat[:oid], X_2:ptr):bat[:int]...
+pattern copy.splitlines(X_0:bat[:bte], X_1:bat[:oid]):bat[:int]...
COPYsplitlines
Find the fields of the individual columns
csv
diff --git a/clients/Tests/MAL-signatures.test
b/clients/Tests/MAL-signatures.test
--- a/clients/Tests/MAL-signatures.test
+++ b/clients/Tests/MAL-signatures.test
@@ -34265,57 +34265,57 @@ COPYnew
Create resource for shared reading from stream
copy
parse_decimal
-pattern copy.parse_decimal(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:int,
X_4:int, X_5:bte, X_6:bat[:oid], X_7:int, X_8:str, X_9:str, X_10:str):bat[:bte]
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int,
X_4:bte, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:bte]
COPYparse_decimal_bte
Parse as a decimal
copy
parse_decimal
-pattern copy.parse_decimal(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:int,
X_4:int, X_5:int, X_6:bat[:oid], X_7:int, X_8:str, X_9:str, X_10:str):bat[:int]
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int,
X_4:int, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:int]
COPYparse_decimal_int
Parse as a decimal
copy
parse_decimal
-pattern copy.parse_decimal(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:int,
X_4:int, X_5:lng, X_6:bat[:oid], X_7:int, X_8:str, X_9:str, X_10:str):bat[:lng]
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int,
X_4:lng, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:lng]
COPYparse_decimal_lng
Parse as a decimal
copy
parse_decimal
-pattern copy.parse_decimal(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:int,
X_4:int, X_5:sht, X_6:bat[:oid], X_7:int, X_8:str, X_9:str, X_10:str):bat[:sht]
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int,
X_4:sht, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:sht]
COPYparse_decimal_sht
Parse as a decimal
copy
parse_float
-pattern copy.parse_float(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:any_1,
X_4:bat[:oid], X_5:int, X_6:str, X_7:str, X_8:str):bat[:any_1]
+pattern copy.parse_float(X_0:bat[:bte], X_1:bat[:int], X_2:any_1,
X_3:bat[:oid], X_4:int, X_5:str, X_6:str, X_7:str):bat[:any_1]
COPYparse_float
Parse using GDK's atomFromStr, handle optional seperator and skip char
copy
parse_generic
-pattern copy.parse_generic(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:any_1,
X_4:bat[:oid], X_5:int, X_6:str):bat[:any_1]
+pattern copy.parse_generic(X_0:bat[:bte], X_1:bat[:int], X_2:any_1,
X_3:bat[:oid], X_4:int, X_5:str):bat[:any_1]
COPYparse_generic
Parse using GDK's atomFromStr
copy
parse_integer
-pattern copy.parse_integer(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:bte,
X_4:bat[:oid], X_5:int, X_6:str):bat[:bte]
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:bte,
X_3:bat[:oid], X_4:int, X_5:str):bat[:bte]
COPYparse_integer_bte
Parse as an integer
copy
parse_integer
-pattern copy.parse_integer(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:int,
X_4:bat[:oid], X_5:int, X_6:str):bat[:int]
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:int,
X_3:bat[:oid], X_4:int, X_5:str):bat[:int]
COPYparse_integer_int
Parse as an integer
copy
parse_integer
-pattern copy.parse_integer(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:lng,
X_4:bat[:oid], X_5:int, X_6:str):bat[:lng]
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:lng,
X_3:bat[:oid], X_4:int, X_5:str):bat[:lng]
COPYparse_integer_lng
Parse as an integer
copy
parse_integer
-pattern copy.parse_integer(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:sht,
X_4:bat[:oid], X_5:int, X_6:str):bat[:sht]
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:sht,
X_3:bat[:oid], X_4:int, X_5:str):bat[:sht]
COPYparse_integer_sht
Parse as an integer
copy
parse_string
-pattern copy.parse_string(X_0:bat[:bte], X_1:ptr, X_2:bat[:int], X_3:int,
X_4:bat[:oid], X_5:int, X_6:str):bat[:str]
+pattern copy.parse_string(X_0:bat[:bte], X_1:bat[:int], X_2:int,
X_3:bat[:oid], X_4:int, X_5:str):bat[:str]
COPYparse_string
Parse as a string with given max width
copy
@@ -34355,7 +34355,7 @@ COPYset_blocksize
set the COPY block size
copy
splitlines
-pattern copy.splitlines(X_0:bat[:bte], X_1:bat[:oid], X_2:ptr):bat[:int]...
+pattern copy.splitlines(X_0:bat[:bte], X_1:bat[:oid]):bat[:int]...
COPYsplitlines
Find the fields of the individual columns
csv
diff --git a/sql/backends/monet5/copy.c b/sql/backends/monet5/copy.c
--- a/sql/backends/monet5/copy.c
+++ b/sql/backends/monet5/copy.c
@@ -510,10 +510,10 @@ COPYsplitlines(Client cntxt, MalBlkPtr m
.escape_pending = false,
};
- assert(pci->argc == pci->retc + 3);
+ assert(pci->argc == pci->retc + 2);
bat block_bat_id = *getArgReference_bat(stk, pci, pci->retc + 0);
bat rows_bat_id = *getArgReference_bat(stk, pci, pci->retc + 1);
- Pipeline *p = (Pipeline*)*getArgReference_ptr(stk, pci, pci->retc + 2);
+ Pipeline *p = pipeline_get_thread_private_pipeline();
reader *r = NULL;
copy_init_error_handling(&errors, cntxt, 0, -1, NULL, rows_bat_id);
@@ -813,65 +813,65 @@ static mel_func copy_init_funcs[] = {
batarg("", oid)
)),
pattern("copy", "splitlines", COPYsplitlines, false, "Find the fields of the
individual columns",
- args(1, 4,
+ args(1, 3,
batvararg("", int),
- batarg("block", bte), batarg("rows", oid), arg("pipeline", ptr)
+ batarg("block", bte), batarg("rows", oid)
)),
- pattern("copy", "parse_generic", COPYparse_generic, false, "Parse using GDK's
atomFromStr", args(1, 8,
+ pattern("copy", "parse_generic", COPYparse_generic, false, "Parse using GDK's
atomFromStr", args(1, 7,
batargany("", 1),
- batarg("block", bte), arg("pipeline", ptr), batarg("offsets", int),
argany("type", 1), batarg("rows", oid), arg("colno", int), arg("colname", str)
+ batarg("block", bte), batarg("offsets", int), argany("type", 1),
batarg("rows", oid), arg("colno", int), arg("colname", str)
)),
- pattern("copy", "parse_float", COPYparse_float, false, "Parse using GDK's
atomFromStr, handle optional seperator and skip char", args(1, 10,
+ pattern("copy", "parse_float", COPYparse_float, false, "Parse using GDK's
atomFromStr, handle optional seperator and skip char", args(1, 9,
batargany("", 1),
- batarg("block", bte), arg("pipeline", ptr), batarg("offsets", int),
argany("type", 1), batarg("rows", oid), arg("colno", int), arg("colname", str),
arg("sep", str), arg("skip", str)
+ batarg("block", bte), batarg("offsets", int), argany("type", 1),
batarg("rows", oid), arg("colno", int), arg("colname", str), arg("sep", str),
arg("skip", str)
)),
- pattern("copy", "parse_string", COPYparse_string, false, "Parse as a string
with given max width", args(1, 8,
+ pattern("copy", "parse_string", COPYparse_string, false, "Parse as a string
with given max width", args(1, 7,
batarg("", str),
- batarg("block", bte), arg("pipeline", ptr), batarg("offsets", int),
arg("maxlen", int), batarg("rows", oid), arg("colno", int), arg("colname", str)
+ batarg("block", bte), batarg("offsets", int), arg("maxlen", int),
batarg("rows", oid), arg("colno", int), arg("colname", str)
)),
- pattern("copy", "parse_decimal", COPYparse_decimal_bte, false, "Parse as a
decimal", args(1, 12,
+ pattern("copy", "parse_decimal", COPYparse_decimal_bte, false, "Parse as a
decimal", args(1, 11,
batarg("", bte),
- batarg("block", bte), arg("pipeline", ptr), batarg("offsets", int),
arg("digits", int), arg("scale", int), arg("type", bte), batarg("rows", oid),
arg("colno", int), arg("colname", str), arg("dec_sep", str), arg("dec_skip",
str)
+ batarg("block", bte), batarg("offsets", int), arg("digits", int),
arg("scale", int), arg("type", bte), batarg("rows", oid), arg("colno", int),
arg("colname", str), arg("dec_sep", str), arg("dec_skip", str)
)),
- pattern("copy", "parse_decimal", COPYparse_decimal_sht, false, "Parse as a
decimal", args(1, 12,
+ pattern("copy", "parse_decimal", COPYparse_decimal_sht, false, "Parse as a
decimal", args(1, 11,
batarg("", sht),
- batarg("block", bte), arg("pipeline", ptr), batarg("offsets", int),
arg("digits", int), arg("scale", int), arg("type", sht), batarg("rows", oid),
arg("colno", int), arg("colname", str), arg("dec_sep", str), arg("dec_skip",
str)
+ batarg("block", bte), batarg("offsets", int), arg("digits", int),
arg("scale", int), arg("type", sht), batarg("rows", oid), arg("colno", int),
arg("colname", str), arg("dec_sep", str), arg("dec_skip", str)
)),
- pattern("copy", "parse_decimal", COPYparse_decimal_int, false, "Parse as a
decimal", args(1, 12,
+ pattern("copy", "parse_decimal", COPYparse_decimal_int, false, "Parse as a
decimal", args(1, 11,
batarg("", int),
- batarg("block", bte), arg("pipeline", ptr), batarg("offsets", int),
arg("digits", int), arg("scale", int), arg("type", int), batarg("rows", oid),
arg("colno", int), arg("colname", str), arg("dec_sep", str), arg("dec_skip",
str)
+ batarg("block", bte), batarg("offsets", int), arg("digits", int),
arg("scale", int), arg("type", int), batarg("rows", oid), arg("colno", int),
arg("colname", str), arg("dec_sep", str), arg("dec_skip", str)
)),
- pattern("copy", "parse_decimal", COPYparse_decimal_lng, false, "Parse as a
decimal", args(1, 12,
+ pattern("copy", "parse_decimal", COPYparse_decimal_lng, false, "Parse as a
decimal", args(1, 11,
batarg("", lng),
- batarg("block", bte), arg("pipeline", ptr), batarg("offsets", int),
arg("digits", int), arg("scale", int), arg("type", lng), batarg("rows", oid),
arg("colno", int), arg("colname", str), arg("dec_sep", str), arg("dec_skip",
str)
+ batarg("block", bte), batarg("offsets", int), arg("digits", int),
arg("scale", int), arg("type", lng), batarg("rows", oid), arg("colno", int),
arg("colname", str), arg("dec_sep", str), arg("dec_skip", str)
)),
#ifdef HAVE_HGE
- pattern("copy", "parse_decimal", COPYparse_decimal_hge, false, "Parse as a
decimal", args(1, 12,
+ pattern("copy", "parse_decimal", COPYparse_decimal_hge, false, "Parse as a
decimal", args(1, 11,
batarg("", hge),
- batarg("block", bte), arg("pipeline", ptr), batarg("offsets", int),
arg("digits", int), arg("scale", int), arg("type", hge), batarg("rows", oid),
arg("colno", int), arg("colname", str), arg("dec_sep", str), arg("dec_skip",
str)
+ batarg("block", bte), batarg("offsets", int), arg("digits", int),
arg("scale", int), arg("type", hge), batarg("rows", oid), arg("colno", int),
arg("colname", str), arg("dec_sep", str), arg("dec_skip", str)
)),
#endif
- pattern("copy", "parse_integer", COPYparse_integer_bte, false, "Parse as an
integer", args(1, 8,
+ pattern("copy", "parse_integer", COPYparse_integer_bte, false, "Parse as an
integer", args(1, 7,
batarg("", bte),
- batarg("block", bte), arg("pipeline", ptr), batarg("offsets", int),
arg("type", bte), batarg("rows", oid), arg("colno", int), arg("colname", str)
+ batarg("block", bte), batarg("offsets", int), arg("type", bte),
batarg("rows", oid), arg("colno", int), arg("colname", str)
)),
- pattern("copy", "parse_integer", COPYparse_integer_sht, false, "Parse as an
integer", args(1, 8,
+ pattern("copy", "parse_integer", COPYparse_integer_sht, false, "Parse as an
integer", args(1, 7,
batarg("", sht),
- batarg("block", bte), arg("pipeline", ptr), batarg("offsets", int),
arg("type", sht), batarg("rows", oid), arg("colno", int), arg("colname", str)
+ batarg("block", bte), batarg("offsets", int), arg("type", sht),
batarg("rows", oid), arg("colno", int), arg("colname", str)
)),
- pattern("copy", "parse_integer", COPYparse_integer_int, false, "Parse as an
integer", args(1, 8,
+ pattern("copy", "parse_integer", COPYparse_integer_int, false, "Parse as an
integer", args(1, 7,
batarg("", int),
- batarg("block", bte), arg("pipeline", ptr), batarg("offsets", int),
arg("type", int), batarg("rows", oid), arg("colno", int), arg("colname", str)
+ batarg("block", bte), batarg("offsets", int), arg("type", int),
batarg("rows", oid), arg("colno", int), arg("colname", str)
)),
- pattern("copy", "parse_integer", COPYparse_integer_lng, false, "Parse as an
integer", args(1, 8,
+ pattern("copy", "parse_integer", COPYparse_integer_lng, false, "Parse as an
integer", args(1, 7,
batarg("", lng),
- batarg("block", bte), arg("pipeline", ptr), batarg("offsets", int),
arg("type", lng), batarg("rows", oid), arg("colno", int), arg("colname", str)
+ batarg("block", bte), batarg("offsets", int), arg("type", lng),
batarg("rows", oid), arg("colno", int), arg("colname", str)
)),
#ifdef HAVE_HGE
- pattern("copy", "parse_integer", COPYparse_integer_hge, false, "Parse as an
integer", args(1, 8,
+ pattern("copy", "parse_integer", COPYparse_integer_hge, false, "Parse as an
integer", args(1, 7,
batarg("", hge),
- batarg("block", bte), arg("pipeline", ptr), batarg("offsets", int),
arg("type", hge), batarg("rows", oid), arg("colno", int), arg("colname", str)
+ batarg("block", bte), batarg("offsets", int), arg("type", hge),
batarg("rows", oid), arg("colno", int), arg("colname", str)
)),
#endif
diff --git a/sql/backends/monet5/copy_convert.c
b/sql/backends/monet5/copy_convert.c
--- a/sql/backends/monet5/copy_convert.c
+++ b/sql/backends/monet5/copy_convert.c
@@ -14,6 +14,7 @@
#include "mal_exception.h"
#include "mal_interpreter.h"
#include "mal_pipelines.h"
+#include "pipeline.h"
#include "str.h"
#include "copy.h"
@@ -36,12 +37,12 @@ COPYparse_generic(Client cntxt, MalBlkPt
str msg = MAL_SUCCEED;
BAT *ret = NULL;
BAT *block = BATdescriptor(*getArgReference_bat(stk, pci, 1));
- Pipeline *p = (Pipeline*)*getArgReference_ptr(stk, pci, 2);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]