Changeset: 79d7e2d0c99f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=79d7e2d0c99f
Modified Files:
        sql/backends/monet5/UDF/Tests/All
        sql/backends/monet5/UDF/Tests/udf-fuse.sql
        sql/backends/monet5/UDF/Tests/udf-fuse.stable.err
        sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
        sql/backends/monet5/UDF/Tests/udf-reverse.sql
        sql/backends/monet5/UDF/Tests/udf-reverse.stable.err
        sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
Branch: default
Log Message:

UDF: added examples as tests


diffs (truncated from 467 to 300 lines):

diff --git a/sql/backends/monet5/UDF/Tests/All 
b/sql/backends/monet5/UDF/Tests/All
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/UDF/Tests/All
@@ -0,0 +1,2 @@
+udf-reverse
+udf-fuse
diff --git a/sql/backends/monet5/UDF/Tests/udf-fuse.sql 
b/sql/backends/monet5/UDF/Tests/udf-fuse.sql
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/UDF/Tests/udf-fuse.sql
@@ -0,0 +1,22 @@
+explain select fuse(1,2);
+select fuse(1,2);
+
+explain select fuse(1000,2000);
+select fuse(1000,2000);
+
+explain select fuse(1000000,2000000);
+select fuse(1000000,2000000);
+
+create table udf_fuse ( a tinyint , b tinyint , c smallint , d smallint , e 
integer , f integer );
+insert into udf_fuse values  (1,2,1000,2000,1000000,2000000);
+insert into udf_fuse values  (3,4,3000,4000,3000000,4000000);
+insert into udf_fuse values  (5,6,5000,6000,5000000,6000000);
+insert into udf_fuse values  (7,8,7000,8000,7000000,8000000);
+select * from udf_fuse;
+
+explain select fuse(a,b) from udf_fuse;
+explain select fuse(c,d) from udf_fuse;
+explain select fuse(e,f) from udf_fuse;
+select fuse(a,b) from udf_fuse;
+select fuse(c,d) from udf_fuse;
+select fuse(e,f) from udf_fuse;
diff --git a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.err 
b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.err
@@ -0,0 +1,37 @@
+stderr of test 'udf-fuse` in directory 'backends/monet5/UDF` itself:
+
+
+# 18:49:07 >  
+# 18:49:07 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"gdk_dbfarm=/ufs/manegold/_/Monet/HG/default/prefix/--disable-debug_--enable-optimize_--disable-assert/var/MonetDB"
 "--set" "mapi_open=true" "--set" "mapi_port=31089" "--set" "monet_prompt=" 
"--trace" "--forcemito" "--set" "mal_listing=2" 
"--dbname=mTests_backends_monet5_UDF" "--set" "mal_listing=0"
+# 18:49:07 >  
+
+# builtin opt  gdk_dbname = demo
+# builtin opt  gdk_dbfarm = 
/ufs/manegold/_/Monet/HG/default/prefix/--disable-debug_--enable-optimize_--disable-assert/var/monetdb5/dbfarm
+# builtin opt  gdk_debug = 0
+# builtin opt  gdk_alloc_map = no
+# builtin opt  gdk_vmtrim = yes
+# 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  gdk_dbfarm = 
/ufs/manegold/_/Monet/HG/default/prefix/--disable-debug_--enable-optimize_--disable-assert/var/MonetDB
+# cmdline opt  mapi_open = true
+# cmdline opt  mapi_port = 31089
+# cmdline opt  monet_prompt = 
+# cmdline opt  mal_listing = 2
+# cmdline opt  gdk_dbname = mTests_backends_monet5_UDF
+# cmdline opt  mal_listing = 0
+
+# 18:49:07 >  
+# 18:49:07 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=rome" 
"--port=31089"
+# 18:49:07 >  
+
+
+# 18:49:07 >  
+# 18:49:07 >  "Done."
+# 18:49:07 >  
+
diff --git a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out 
b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
@@ -0,0 +1,207 @@
+stdout of test 'udf-fuse` in directory 'backends/monet5/UDF` itself:
+
+
+# 18:49:07 >  
+# 18:49:07 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"gdk_dbfarm=/ufs/manegold/_/Monet/HG/default/prefix/--disable-debug_--enable-optimize_--disable-assert/var/MonetDB"
 "--set" "mapi_open=true" "--set" "mapi_port=31089" "--set" "monet_prompt=" 
"--trace" "--forcemito" "--set" "mal_listing=2" 
"--dbname=mTests_backends_monet5_UDF" "--set" "mal_listing=0"
+# 18:49:07 >  
+
+# MonetDB 5 server v11.8.0
+# This is an unreleased version
+# Serving database 'mTests_backends_monet5_UDF', using 8 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically 
linked
+# Found 15.630 GiB available main-memory.
+# Copyright (c) 1993-July 2008 CWI.
+# Copyright (c) August 2008-2012 MonetDB B.V., all rights reserved
+# Visit http://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://rome.ins.cwi.nl:31089/
+# MonetDB/GIS module loaded
+# MonetDB/SQL module loaded
+
+Ready.
+
+# 18:49:07 >  
+# 18:49:07 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=rome" 
"--port=31089"
+# 18:49:07 >  
+
+#explain select fuse(1,2);
+% .explain # table_name
+% mal # name
+% clob # type
+% 76 # length
+function user.s1_1{autoCommit=true}(A0:bte,A1:bte):void;
+    X_5 := udf.fuse(A0,A1);
+    sql.exportValue(1,".","fuse_single_value":str,"smallint",16,0,6,X_5,"");
+end s1_1;
+#select fuse(1,2);
+% . # table_name
+% fuse_single_value # name
+% smallint # type
+% 3 # length
+[ 258  ]
+#explain select fuse(1000,2000);
+% .explain # table_name
+% mal # name
+% clob # type
+% 71 # length
+function user.s3_1{autoCommit=true}(A0:sht,A1:sht):void;
+    X_5 := udf.fuse(A0,A1);
+    sql.exportValue(1,".","fuse_single_value":str,"int",32,0,6,X_5,"");
+end s3_1;
+#select fuse(1000,2000);
+% . # table_name
+% fuse_single_value # name
+% int # type
+% 8 # length
+[ 65538000     ]
+#explain select fuse(1000000,2000000);
+% .explain # table_name
+% mal # name
+% clob # type
+% 74 # length
+function user.s5_1{autoCommit=true}(A0:int,A1:int):void;
+    X_5 := udf.fuse(A0,A1);
+    sql.exportValue(1,".","fuse_single_value":str,"bigint",64,0,6,X_5,"");
+end s5_1;
+#select fuse(1000000,2000000);
+% . # table_name
+% fuse_single_value # name
+% bigint # type
+% 16 # length
+[ 4294967298000000     ]
+#create table udf_fuse ( a tinyint , b tinyint , c smallint , d smallint , e 
integer , f integer );
+#insert into udf_fuse values  (1,2,1000,2000,1000000,2000000);
+[ 1    ]
+#insert into udf_fuse values  (3,4,3000,4000,3000000,4000000);
+[ 1    ]
+#insert into udf_fuse values  (5,6,5000,6000,5000000,6000000);
+[ 1    ]
+#insert into udf_fuse values  (7,8,7000,8000,7000000,8000000);
+[ 1    ]
+#select * from udf_fuse;
+% sys.udf_fuse,        sys.udf_fuse,   sys.udf_fuse,   sys.udf_fuse,   
sys.udf_fuse,   sys.udf_fuse # table_name
+% a,   b,      c,      d,      e,      f # name
+% tinyint,     tinyint,        smallint,       smallint,       int,    int # 
type
+% 1,   1,      4,      4,      7,      7 # length
+[ 1,   2,      1000,   2000,   1000000,        2000000 ]
+[ 3,   4,      3000,   4000,   3000000,        4000000 ]
+[ 5,   6,      5000,   6000,   5000000,        6000000 ]
+[ 7,   8,      7000,   8000,   7000000,        8000000 ]
+#explain select fuse(a,b) from udf_fuse;
+% .explain # table_name
+% mal # name
+% clob # type
+% 65 # length
+function user.s12_1{autoCommit=true}():void;
+    X_2 := sql.mvc();
+    X_12:bat[:oid,:bte]  := sql.bind(X_2,"sys","udf_fuse","a",0);
+    X_10:bat[:oid,:bte]  := sql.bind(X_2,"sys","udf_fuse","a",2);
+    X_14 := algebra.kdifference(X_12,X_10);
+    X_15 := algebra.kunion(X_14,X_10);
+    X_9:bat[:oid,:bte]  := sql.bind(X_2,"sys","udf_fuse","a",1);
+    X_16 := algebra.kunion(X_15,X_9);
+    X_5:bat[:oid,:oid]  := sql.bind_dbat(X_2,"sys","udf_fuse",1);
+    X_8 := bat.reverse(X_5);
+    X_17 := algebra.kdifference(X_16,X_8);
+    X_21:bat[:oid,:bte]  := sql.bind(X_2,"sys","udf_fuse","b",0);
+    X_20:bat[:oid,:bte]  := sql.bind(X_2,"sys","udf_fuse","b",2);
+    X_22 := algebra.kdifference(X_21,X_20);
+    X_23 := algebra.kunion(X_22,X_20);
+    X_19:bat[:oid,:bte]  := sql.bind(X_2,"sys","udf_fuse","b",1);
+    X_24 := algebra.kunion(X_23,X_19);
+    X_25 := algebra.kdifference(X_24,X_8);
+    X_26:bat[:oid,:sht]  := batudf.fuse(X_17,X_25);
+    X_27 := sql.resultSet(1,1,X_26);
+    sql.rsColumn(X_27,"sys.","fuse_a":str,"smallint",16,0,X_26);
+    X_33 := io.stdout();
+    sql.exportResult(X_33,X_27);
+end s12_1;
+#explain select fuse(c,d) from udf_fuse;
+% .explain # table_name
+% mal # name
+% clob # type
+% 65 # length
+function user.s13_1{autoCommit=true}():void;
+    X_2 := sql.mvc();
+    X_12:bat[:oid,:sht]  := sql.bind(X_2,"sys","udf_fuse","c",0);
+    X_10:bat[:oid,:sht]  := sql.bind(X_2,"sys","udf_fuse","c",2);
+    X_14 := algebra.kdifference(X_12,X_10);
+    X_15 := algebra.kunion(X_14,X_10);
+    X_9:bat[:oid,:sht]  := sql.bind(X_2,"sys","udf_fuse","c",1);
+    X_16 := algebra.kunion(X_15,X_9);
+    X_5:bat[:oid,:oid]  := sql.bind_dbat(X_2,"sys","udf_fuse",1);
+    X_8 := bat.reverse(X_5);
+    X_17 := algebra.kdifference(X_16,X_8);
+    X_21:bat[:oid,:sht]  := sql.bind(X_2,"sys","udf_fuse","d",0);
+    X_20:bat[:oid,:sht]  := sql.bind(X_2,"sys","udf_fuse","d",2);
+    X_22 := algebra.kdifference(X_21,X_20);
+    X_23 := algebra.kunion(X_22,X_20);
+    X_19:bat[:oid,:sht]  := sql.bind(X_2,"sys","udf_fuse","d",1);
+    X_24 := algebra.kunion(X_23,X_19);
+    X_25 := algebra.kdifference(X_24,X_8);
+    X_26:bat[:oid,:int]  := batudf.fuse(X_17,X_25);
+    X_27 := sql.resultSet(1,1,X_26);
+    sql.rsColumn(X_27,"sys.","fuse_c":str,"int",32,0,X_26);
+    X_33 := io.stdout();
+    sql.exportResult(X_33,X_27);
+end s13_1;
+#explain select fuse(e,f) from udf_fuse;
+% .explain # table_name
+% mal # name
+% clob # type
+% 65 # length
+function user.s14_1{autoCommit=true}():void;
+    X_2 := sql.mvc();
+    X_12:bat[:oid,:int]  := sql.bind(X_2,"sys","udf_fuse","e",0);
+    X_10:bat[:oid,:int]  := sql.bind(X_2,"sys","udf_fuse","e",2);
+    X_14 := algebra.kdifference(X_12,X_10);
+    X_15 := algebra.kunion(X_14,X_10);
+    X_9:bat[:oid,:int]  := sql.bind(X_2,"sys","udf_fuse","e",1);
+    X_16 := algebra.kunion(X_15,X_9);
+    X_5:bat[:oid,:oid]  := sql.bind_dbat(X_2,"sys","udf_fuse",1);
+    X_8 := bat.reverse(X_5);
+    X_17 := algebra.kdifference(X_16,X_8);
+    X_21:bat[:oid,:int]  := sql.bind(X_2,"sys","udf_fuse","f",0);
+    X_20:bat[:oid,:int]  := sql.bind(X_2,"sys","udf_fuse","f",2);
+    X_22 := algebra.kdifference(X_21,X_20);
+    X_23 := algebra.kunion(X_22,X_20);
+    X_19:bat[:oid,:int]  := sql.bind(X_2,"sys","udf_fuse","f",1);
+    X_24 := algebra.kunion(X_23,X_19);
+    X_25 := algebra.kdifference(X_24,X_8);
+    X_26:bat[:oid,:lng]  := batudf.fuse(X_17,X_25);
+    X_27 := sql.resultSet(1,1,X_26);
+    sql.rsColumn(X_27,"sys.","fuse_e":str,"bigint",64,0,X_26);
+    X_33 := io.stdout();
+    sql.exportResult(X_33,X_27);
+end s14_1;
+#select fuse(a,b) from udf_fuse;
+% sys. # table_name
+% fuse_a # name
+% smallint # type
+% 4 # length
+[ 258  ]
+[ 772  ]
+[ 1286 ]
+[ 1800 ]
+#select fuse(c,d) from udf_fuse;
+% sys. # table_name
+% fuse_c # name
+% int # type
+% 9 # length
+[ 65538000     ]
+[ 196612000    ]
+[ 327686000    ]
+[ 458760000    ]
+#select fuse(e,f) from udf_fuse;
+% sys. # table_name
+% fuse_e # name
+% bigint # type
+% 17 # length
+[ 4294967298000000     ]
+[ 12884901892000000    ]
+[ 21474836486000000    ]
+[ 30064771080000000    ]
+
+# 18:49:07 >  
+# 18:49:07 >  "Done."
+# 18:49:07 >  
+
diff --git a/sql/backends/monet5/UDF/Tests/udf-reverse.sql 
b/sql/backends/monet5/UDF/Tests/udf-reverse.sql
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/UDF/Tests/udf-reverse.sql
@@ -0,0 +1,12 @@
+explain select reverse('MonetDB');
+select reverse('MonetDB');
+
+create table udf_reverse ( x string );
+insert into udf_reverse values ('MonetDB');
+insert into udf_reverse values ('Database Architecture');
+insert into udf_reverse values ('Information Systems');
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to