Changeset: 182935f581c6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=182935f581c6
Added Files:
        sql/backends/monet5/Tests/pyloader01.sql
        sql/backends/monet5/Tests/pyloader01.stable.err
        sql/backends/monet5/Tests/pyloader01.stable.out
        sql/backends/monet5/Tests/pyloader02.sql
        sql/backends/monet5/Tests/pyloader02.stable.err
        sql/backends/monet5/Tests/pyloader02.stable.out
        sql/backends/monet5/Tests/pyloader03.sql
        sql/backends/monet5/Tests/pyloader03.stable.err
        sql/backends/monet5/Tests/pyloader03.stable.out
Removed Files:
        sql/backends/monet5/Tests/pyapi30.sql
        sql/backends/monet5/Tests/pyapi31.sql
        sql/backends/monet5/Tests/pyapi32.sql
Modified Files:
        sql/backends/monet5/Tests/All
Branch: pythonloader
Log Message:

Add new testcases and rename loader testcases to pyloader.


diffs (truncated from 1097 to 300 lines):

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,9 +50,10 @@ HAVE_LIBPY?pyapi26
 HAVE_LIBPY?pyapi27
 HAVE_LIBPY?pyapi28
 HAVE_LIBPY?pyapi29
-HAVE_LIBPY?pyapi30
-HAVE_LIBPY?pyapi31
-HAVE_LIBPY?pyapi32
+
+HAVE_LIBPY?pyloader01
+HAVE_LIBPY?pyloader02
+HAVE_LIBPY?pyloader03
 
 
 # should this work?
diff --git a/sql/backends/monet5/Tests/pyapi30.sql 
b/sql/backends/monet5/Tests/pyapi30.sql
deleted file mode 100644
--- a/sql/backends/monet5/Tests/pyapi30.sql
+++ /dev/null
@@ -1,48 +0,0 @@
-
-START TRANSACTION;
-
-CREATE TABLE mytable(a DOUBLE, d int, s STRING);
-
-CREATE LOADER myfunc() LANGUAGE PYTHON {
-       _emit.emit({'a':42,'d':1})
-};
-
-CREATE LOADER myfunc1(i integer) LANGUAGE PYTHON {
-       _emit.emit({'a':i,'d':2})
-};
-
-CREATE LOADER myfunc2(i integer, f string) LANGUAGE PYTHON {
-       _emit.emit({'a':i,'d':3})
-};
-
-CREATE LOADER myfunc3(i integer, f string, d double) LANGUAGE PYTHON {
-       _emit.emit({'a':i,'d':4, 's': 'hello'})
-};
-
-SELECT name,func,mod,language,type,side_effect,varres,vararg FROM functions 
WHERE name='myfunc';
-
-
--- there is a reason for this, functions with 0, 1, 2 and 3+ arguments are 
handled differently.
-COPY INTO mytable FROM LOADER myfunc3(46, 'asdf', 3.2);
-COPY INTO mytable FROM LOADER myfunc2(45, 'asdf');
-COPY INTO mytable FROM LOADER myfunc1(44);
-COPY INTO mytable FROM LOADER myfunc();
-
-SELECT * FROM mytable;
-
-DROP TABLE mytable;
-DROP ALL LOADER myfunc;
-
-CREATE LOADER myfunc() LANGUAGE PYTHON {
-};
-
-
-DROP LOADER myfunc;
-DROP LOADER myfunc1;
-DROP LOADER myfunc2;
-DROP LOADER myfunc3;
-
-SELECT * FROM functions WHERE name='myfunc';
-
-
-ROLLBACK;
diff --git a/sql/backends/monet5/Tests/pyapi31.sql 
b/sql/backends/monet5/Tests/pyapi31.sql
deleted file mode 100644
--- a/sql/backends/monet5/Tests/pyapi31.sql
+++ /dev/null
@@ -1,32 +0,0 @@
-
-START TRANSACTION;
-
-CREATE TABLE mytable4(a1 int, a2 int, a3 int, a4 int);
-CREATE TABLE mytable3(a1 int, a2 int, a3 int);
-CREATE TABLE mytable2(a1 int, a2 int);
-
-
-CREATE LOADER myfunc(nvalues int, ncols int) LANGUAGE PYTHON {
-       for i in range(nvalues):
-               res = dict()
-               for j in range(ncols):
-                       res['a'+str(j+1)] = (i+1)*(j+1)
-               _emit.emit(res)
-};
-
-COPY INTO mytable3 FROM LOADER myfunc(10, 3);
-COPY INTO mytable4 FROM LOADER myfunc(10, 3);
-COPY INTO mytable2 FROM LOADER myfunc(20, 2);
-
-SELECT * FROM mytable4;
-SELECT * FROM mytable3;
-SELECT * FROM mytable2;
-
-
-DROP TABLE mytable3;
-DROP TABLE mytable2;
-
-DROP LOADER myfunc;
-
-
-ROLLBACK;
diff --git a/sql/backends/monet5/Tests/pyapi32.sql 
b/sql/backends/monet5/Tests/pyapi32.sql
deleted file mode 100644
--- a/sql/backends/monet5/Tests/pyapi32.sql
+++ /dev/null
@@ -1,50 +0,0 @@
-
-START TRANSACTION;
-
-# basic insertion of a set of arrays
-CREATE TABLE restable(a1 INTEGER, a2 INTEGER, a3 INTEGER, a4 INTEGER);
-CREATE LOADER myloader(nvalues INTEGER) LANGUAGE PYTHON {
-    a1 = numpy.arange(nvalues)
-    a2 = (a1 * 2).astype(numpy.float64)
-    a3 = (a1 * 4 + 20).astype(numpy.float32)
-    a4 = ((a3 - a2) * 3).astype(numpy.int64)
-    _emit.emit({'a1': a1, 'a2': a2, 'a3': a3, 'a4': a4})
-};
-
-COPY INTO restable FROM LOADER myloader(10);
-
-SELECT * FROM restable;
-
-DROP TABLE restable;
-DROP LOADER myloader;
-
-# try list insertion and object types
-CREATE TABLE restable(a1 INTEGER, a2 BIGINT, a3 SMALLINT, a4 REAL);
-CREATE LOADER myloader() LANGUAGE PYTHON {
-    a1 = [1,2,3,4,5]
-    a2 = (numpy.array(a1) * 2).astype(numpy.object)
-    a3 = [42, 43, 44, 45, 46]
-    a4 = ["33", "44", "55", "66", "77"]
-    _emit.emit({'a1': a1, 'a2': a2, 'a3': a3, 'a4': a4})
-};
-
-COPY INTO restable FROM LOADER myloader();
-
-SELECT * FROM restable;
-
-DROP TABLE restable;
-DROP LOADER myloader;
-
-# different length arrays (this should fail)
-CREATE TABLE restable(a1 INTEGER, a2 BIGINT, a3 SMALLINT, a4 REAL);
-CREATE LOADER myloader() LANGUAGE PYTHON {
-    a1 = numpy.arange(100)
-    a2 = numpy.arange(200)
-    a3 = numpy.arange(300)
-    a4 = numpy.arange(400)
-    _emit.emit({'a1': a1, 'a2': a2, 'a3': a3, 'a4': a4})
-};
-
-COPY INTO restable FROM LOADER myloader();
-
-ROLLBACK;
diff --git a/sql/backends/monet5/Tests/pyloader01.sql 
b/sql/backends/monet5/Tests/pyloader01.sql
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/Tests/pyloader01.sql
@@ -0,0 +1,48 @@
+
+START TRANSACTION;
+
+CREATE TABLE mytable(a DOUBLE, d int, s STRING);
+
+CREATE LOADER myfunc() LANGUAGE PYTHON {
+       _emit.emit({'a':42,'d':1})
+};
+
+CREATE LOADER myfunc1(i integer) LANGUAGE PYTHON {
+       _emit.emit({'a':i,'d':2})
+};
+
+CREATE LOADER myfunc2(i integer, f string) LANGUAGE PYTHON {
+       _emit.emit({'a':i,'d':3})
+};
+
+CREATE LOADER myfunc3(i integer, f string, d double) LANGUAGE PYTHON {
+       _emit.emit({'a':i,'d':4, 's': 'hello'})
+};
+
+SELECT name,func,mod,language,type,side_effect,varres,vararg FROM functions 
WHERE name='myfunc';
+
+
+-- there is a reason for this, functions with 0, 1, 2 and 3+ arguments are 
handled differently.
+COPY INTO mytable FROM LOADER myfunc3(46, 'asdf', 3.2);
+COPY INTO mytable FROM LOADER myfunc2(45, 'asdf');
+COPY INTO mytable FROM LOADER myfunc1(44);
+COPY INTO mytable FROM LOADER myfunc();
+
+SELECT * FROM mytable;
+
+DROP TABLE mytable;
+DROP ALL LOADER myfunc;
+
+CREATE LOADER myfunc() LANGUAGE PYTHON {
+};
+
+
+DROP LOADER myfunc;
+DROP LOADER myfunc1;
+DROP LOADER myfunc2;
+DROP LOADER myfunc3;
+
+SELECT * FROM functions WHERE name='myfunc';
+
+
+ROLLBACK;
diff --git a/sql/backends/monet5/Tests/pyloader01.stable.err 
b/sql/backends/monet5/Tests/pyloader01.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/Tests/pyloader01.stable.err
@@ -0,0 +1,35 @@
+stderr of test 'pyloader01` in directory 'sql/backends/monet5` itself:
+
+
+# 13:26:39 >  
+# 13:26:39 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=37683" "--set" 
"mapi_usock=/var/tmp/mtest-30229/.s.monetdb.37683" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/home/mytherin/opt/var/MonetDB/mTests_sql_backends_monet5" "--set" 
"embedded_py=true"
+# 13:26:39 >  
+
+# builtin opt  gdk_dbpath = /home/mytherin/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 = 37683
+# cmdline opt  mapi_usock = /var/tmp/mtest-30229/.s.monetdb.37683
+# cmdline opt  monet_prompt = 
+# cmdline opt  gdk_dbpath = 
/home/mytherin/opt/var/MonetDB/mTests_sql_backends_monet5
+# cmdline opt  embedded_py = true
+# cmdline opt  gdk_debug = 536870922
+
+# 13:26:39 >  
+# 13:26:39 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-30229" "--port=37683"
+# 13:26:39 >  
+
+
+# 13:26:39 >  
+# 13:26:39 >  "Done."
+# 13:26:39 >  
+
diff --git a/sql/backends/monet5/Tests/pyloader01.stable.out 
b/sql/backends/monet5/Tests/pyloader01.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/Tests/pyloader01.stable.out
@@ -0,0 +1,82 @@
+stdout of test 'pyloader01` in directory 'sql/backends/monet5` itself:
+
+
+# 13:26:39 >  
+# 13:26:39 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=37683" "--set" 
"mapi_usock=/var/tmp/mtest-30229/.s.monetdb.37683" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/home/mytherin/opt/var/MonetDB/mTests_sql_backends_monet5" "--set" 
"embedded_py=true"
+# 13:26:39 >  
+
+# MonetDB 5 server v11.24.0
+# This is an unreleased version
+# Serving database 'mTests_sql_backends_monet5', using 8 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs and 128bit 
integers dynamically linked
+# Found 7.682 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://mytherin:37683/
+# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-30229/.s.monetdb.37683
+# MonetDB/SQL module loaded
+# MonetDB/Python module loaded
+
+Ready.
+
+# 13:26:39 >  
+# 13:26:39 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-30229" "--port=37683"
+# 13:26:39 >  
+
+#START TRANSACTION;
+#CREATE TABLE mytable(a DOUBLE, d int, s STRING);
+#CREATE LOADER myfunc() LANGUAGE PYTHON {
+#      _emit.emit({'a':42,'d':1})
+#};
+#CREATE LOADER myfunc1(i integer) LANGUAGE PYTHON {
+#      _emit.emit({'a':i,'d':2})
+#};
+#CREATE LOADER myfunc2(i integer, f string) LANGUAGE PYTHON {
+#      _emit.emit({'a':i,'d':3})
+#};
+#CREATE LOADER myfunc3(i integer, f string, d double) LANGUAGE PYTHON {
+#      _emit.emit({'a':i,'d':4, 's': 'hello'})
+#};
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to