Changeset: d1b446b58be9 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d1b446b58be9
Modified Files:
clients/python2/monetdb/control.py
clients/python2/monetdb/sql/converters.py
clients/python2/monetdb/sql/cursors.py
clients/python2/monetdb/sql/monetize.py
clients/python2/test/capabilities.py
clients/python2/test/control.py
clients/python2/test/dbapi20.py
clients/python3/monetdb/sql/converters.py
clients/python3/monetdb/sql/cursors.py
clients/python3/monetdb/sql/monetize.py
clients/python3/test/capabilities.py
clients/python3/test/run.sh
clients/python3/test/runtests.py
gdk/gdk_batop.c
monetdb5/ChangeLog.Feb2013
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
monetdb5/modules/mal/mal_mapi.c
monetdb5/optimizer/opt_support.c
monetdb5/optimizer/opt_wrapper.c
sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
sql/test/mapi/Tests/python2_test_monetdb_sql.stable.err
sql/test/mapi/Tests/python3_test_monetdb_sql.stable.err
Branch: default
Log Message:
Merge with Feb2013 branch.
diffs (truncated from 630 to 300 lines):
diff --git a/clients/python2/monetdb/control.py
b/clients/python2/monetdb/control.py
--- a/clients/python2/monetdb/control.py
+++ b/clients/python2/monetdb/control.py
@@ -45,6 +45,7 @@ def parse_statusline(line):
return info
+
def isempty(result):
""" raises an exception if the result is not empty"""
if result != "":
diff --git a/clients/python2/monetdb/sql/converters.py
b/clients/python2/monetdb/sql/converters.py
--- a/clients/python2/monetdb/sql/converters.py
+++ b/clients/python2/monetdb/sql/converters.py
@@ -50,4 +50,4 @@ class Monetizer:
def convert(self, data):
"""
"""
- return monetize.convert(data)
\ No newline at end of file
+ return monetize.convert(data)
diff --git a/clients/python2/monetdb/sql/monetize.py
b/clients/python2/monetdb/sql/monetize.py
--- a/clients/python2/monetdb/sql/monetize.py
+++ b/clients/python2/monetdb/sql/monetize.py
@@ -79,4 +79,4 @@ def convert(data):
try:
return mapping[type(data)](data)
except KeyError:
- raise ProgrammingError("type %s not supported as value" % type(data))
\ No newline at end of file
+ raise ProgrammingError("type %s not supported as value" % type(data))
diff --git a/clients/python2/test/capabilities.py
b/clients/python2/test/capabilities.py
--- a/clients/python2/test/capabilities.py
+++ b/clients/python2/test/capabilities.py
@@ -364,4 +364,4 @@ class DatabaseTest(unittest.TestCase):
self.cursor.execute('select * from %s; select * from %s;' %
(table1, table2))
result = self.cursor.fetchall()
- self.assertEqual(result, [(50, 50)])
\ No newline at end of file
+ self.assertEqual(result, [(50, 50)])
diff --git a/clients/python2/test/control.py b/clients/python2/test/control.py
--- a/clients/python2/test/control.py
+++ b/clients/python2/test/control.py
@@ -116,4 +116,4 @@ class TestManage(unittest.TestCase):
neighbours
if __name__ == '__main__':
- unittest.main()
\ No newline at end of file
+ unittest.main()
diff --git a/clients/python2/test/dbapi20.py b/clients/python2/test/dbapi20.py
--- a/clients/python2/test/dbapi20.py
+++ b/clients/python2/test/dbapi20.py
@@ -900,7 +900,6 @@ class DatabaseAPI20Test(unittest.TestCas
try:
cur = con.cursor()
self.executeDDL1(cur)
-
args = {'beer': unicode('\N{latin small letter a with acute}',
'unicode-escape')}
encoded = args['beer']
diff --git a/clients/python3/monetdb/sql/converters.py
b/clients/python3/monetdb/sql/converters.py
--- a/clients/python3/monetdb/sql/converters.py
+++ b/clients/python3/monetdb/sql/converters.py
@@ -50,4 +50,4 @@ class Monetizer:
def convert(self, data):
"""
"""
- return monetize.convert(data)
\ No newline at end of file
+ return monetize.convert(data)
diff --git a/clients/python3/monetdb/sql/monetize.py
b/clients/python3/monetdb/sql/monetize.py
--- a/clients/python3/monetdb/sql/monetize.py
+++ b/clients/python3/monetdb/sql/monetize.py
@@ -74,4 +74,4 @@ def convert(data):
try:
return mapping[type(data)](data)
except KeyError:
- raise ProgrammingError("type %s not supported as value" % type(data))
\ No newline at end of file
+ raise ProgrammingError("type %s not supported as value" % type(data))
diff --git a/clients/python3/test/capabilities.py
b/clients/python3/test/capabilities.py
--- a/clients/python3/test/capabilities.py
+++ b/clients/python3/test/capabilities.py
@@ -354,7 +354,7 @@ class DatabaseTest(unittest.TestCase):
self.db_module.monetize.mapping[list] = str
self.assertEqual(self.db_module.monetize.convert(t), "['list',
'test']")
- def multiple_queries(self):
+ def test_multiple_queries(self):
table1 = self.new_table_name()
table2 = table1[:-1] + 'bla"'
self.cursor.execute("create table %s (a int)" % table1)
diff --git a/clients/python3/test/run.sh b/clients/python3/test/run.sh
--- a/clients/python3/test/run.sh
+++ b/clients/python3/test/run.sh
@@ -7,3 +7,4 @@ export TSTPASSWORD="monetdb"
export TSTDEBUG="no"
nosetests ./runtests.py
+nosetests ./test_control.py
diff --git a/clients/python3/test/runtests.py b/clients/python3/test/runtests.py
--- a/clients/python3/test/runtests.py
+++ b/clients/python3/test/runtests.py
@@ -95,7 +95,7 @@ if __name__ == '__main__':
Test_Capabilities,
Test_DBAPI20,
test_pythonize.TestPythonize,
- ]
+ ]
for suite in suites:
tests = unittest.TestLoader().loadTestsFromTestCase(suite)
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -753,6 +753,7 @@ BATslice(BAT *b, BUN l, BUN h)
BUN low = l;
BAT *bn;
BATiter bni, bi = bat_iterator(b);
+ oid foid; /* first oid value if oid column */
BATcheck(b, "BATslice");
if (h > BATcount(b))
@@ -808,7 +809,9 @@ BATslice(BAT *b, BUN l, BUN h)
if (BATcount(bn) == 0) {
bn->hdense = TRUE;
BATseqbase(bn, 0);
- } else if (bn->hsorted && *(oid *) BUNhloc(bni, BUNfirst(bn)) +
BATcount(bn) - 1 == *(oid *) BUNhloc(bni, BUNlast(bn) - 1)) {
+ } else if (bn->hsorted &&
+ (foid = *(oid *) BUNhloc(bni, BUNfirst(bn))) !=
oid_nil &&
+ foid + BATcount(bn) - 1 == *(oid *) BUNhloc(bni,
BUNlast(bn) - 1)) {
bn->hdense = TRUE;
BATseqbase(bn, *(oid *) BUNhloc(bni, BUNfirst(bn)));
}
@@ -820,7 +823,9 @@ BATslice(BAT *b, BUN l, BUN h)
if (BATcount(bn) == 0) {
bn->tdense = TRUE;
BATseqbase(BATmirror(bn), 0);
- } else if (bn->tsorted && *(oid *) BUNtloc(bni, BUNfirst(bn)) +
BATcount(bn) - 1 == *(oid *) BUNtloc(bni, BUNlast(bn) - 1)) {
+ } else if (bn->tsorted &&
+ (foid = *(oid *) BUNtloc(bni, BUNfirst(bn))) !=
oid_nil &&
+ foid + BATcount(bn) - 1 == *(oid *) BUNtloc(bni,
BUNlast(bn) - 1)) {
bn->tdense = TRUE;
BATseqbase(BATmirror(bn), *(oid *) BUNtloc(bni,
BUNfirst(bn)));
}
diff --git a/monetdb5/ChangeLog.Feb2013 b/monetdb5/ChangeLog.Feb2013
--- a/monetdb5/ChangeLog.Feb2013
+++ b/monetdb5/ChangeLog.Feb2013
@@ -1,3 +1,6 @@
# ChangeLog file for MonetDB5
# This file is updated with Maddlog
+* Tue Mar 12 2013 Sjoerd Mullender <[email protected]>
+- Fixed argument parsing of mapi.reconnect() with 5 arguments.
+
diff --git
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
--- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
+++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
@@ -61,17 +61,17 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 178 # length
+% 153 # length
function user.s2_1{autoCommit=true}():void;
-barrier X_34 := language.dataflow();
+barrier X_32 := language.dataflow();
X_2 := sql.mvc();
- (X_5:bat[:oid,:int] ,X_6:bat[:oid,:int] ,X_7:bat[:oid,:int] ) :=
sql.copy_from("sys":str,"ttt":str,"|":str,"\\n":str,nil:str,"null":str,"/:\\tmp/xyz":str,-1:lng,0:lng,0:int);
-exit X_34;
- X_9 := sql.append(X_2,"sys","ttt","a",X_5);
- X_11 := sql.append(X_9,"sys","ttt","b",X_6);
- X_15 := sql.append(X_11,"sys","ttt","c",X_7);
- X_16 := aggr.count(X_7);
- sql.affectedRows(X_15,X_16,"");
+ (X_13:bat[:oid,:int] ,X_14:bat[:oid,:int] ,X_15:bat[:oid,:int] ) :=
sql.copy_from("sys","ttt","|","\\n",nil:str,"null","/:\\tmp/xyz",-1:lng,0:lng,0);
+exit X_32;
+ X_17 := sql.append(X_2,"sys","ttt","a",X_13);
+ X_19 := sql.append(X_17,"sys","ttt","b",X_14);
+ X_23 := sql.append(X_19,"sys","ttt","c",X_15);
+ X_24 := aggr.count(X_15);
+ sql.affectedRows(X_23,X_24,"");
end s2_1;
# optimizer.mitosis()
# optimizer.dataflow()
@@ -91,17 +91,17 @@ end s2_1;
% .explain # table_name
% mal # name
% clob # type
-% 178 # length
+% 153 # length
function user.s5_1{autoCommit=true}():void;
-barrier X_35 := language.dataflow();
+barrier X_33 := language.dataflow();
X_2 := sql.mvc();
- (X_5:bat[:oid,:int] ,X_6:bat[:oid,:int] ,X_7:bat[:oid,:int] ) :=
sql.copy_from("sys":str,"ttt":str,"|":str,"\\n":str,nil:str,"null":str,"/:\\tmp/xyz":str,-1:lng,0:lng,0:int);
-exit X_35;
- X_9 := sql.append(X_2,"sys","ttt","a",X_5);
- X_11 := sql.append(X_9,"sys","ttt","b",X_6);
- X_16 := aggr.count(X_7);
- X_15 := sql.append(X_11,"sys","ttt","c",X_7);
- sql.affectedRows(X_15,X_16,"");
+ (X_13:bat[:oid,:int] ,X_14:bat[:oid,:int] ,X_15:bat[:oid,:int] ) :=
sql.copy_from("sys","ttt","|","\\n",nil:str,"null","/:\\tmp/xyz",-1:lng,0:lng,0);
+exit X_33;
+ X_17 := sql.append(X_2,"sys","ttt","a",X_13);
+ X_19 := sql.append(X_17,"sys","ttt","b",X_14);
+ X_24 := aggr.count(X_15);
+ X_23 := sql.append(X_19,"sys","ttt","c",X_15);
+ sql.affectedRows(X_23,X_24,"");
end s5_1;
# optimizer.mitosis()
# optimizer.dataflow()
diff --git a/monetdb5/modules/mal/mal_mapi.c b/monetdb5/modules/mal/mal_mapi.c
--- a/monetdb5/modules/mal/mal_mapi.c
+++ b/monetdb5/modules/mal/mal_mapi.c
@@ -851,9 +851,9 @@ SERVERreconnectWithoutAlias(Client cntxt
int *key =(int*) getArgReference(stk,pci,0);
str *host = (str*) getArgReference(stk,pci,1);
int *port = (int*) getArgReference(stk,pci,2);
- str *username = (str*) getArgReference(stk,pci,4);
- str *password= (str*) getArgReference(stk,pci,5);
- str *lang = (str*) getArgReference(stk,pci,6);
+ str *username = (str*) getArgReference(stk,pci,3);
+ str *password= (str*) getArgReference(stk,pci,4);
+ str *lang = (str*) getArgReference(stk,pci,5);
int i;
str msg=MAL_SUCCEED, nme= "anonymous";
diff --git a/monetdb5/optimizer/opt_support.c b/monetdb5/optimizer/opt_support.c
--- a/monetdb5/optimizer/opt_support.c
+++ b/monetdb5/optimizer/opt_support.c
@@ -144,7 +144,7 @@ struct OPTcatalog {
{"groups", 0, 0, 0, DEBUG_OPT_GROUPS},
{"aliases", 0, 0, 0, DEBUG_OPT_ALIASES},
{"cluster", 0, 0, 0, DEBUG_OPT_CLUSTER},
-{"coercion", 0, 0, 0, DEBUG_OPT_COERCION},
+{"coercions", 0, 0, 0, DEBUG_OPT_COERCION},
{"commonTerms", 0, 0, 0, DEBUG_OPT_COMMONTERMS},
{"compress", 0, 0, 0, DEBUG_OPT_COMPRESS},
{"constants", 0, 0, 0, DEBUG_OPT_CONSTANTS},
diff --git a/monetdb5/optimizer/opt_wrapper.c b/monetdb5/optimizer/opt_wrapper.c
--- a/monetdb5/optimizer/opt_wrapper.c
+++ b/monetdb5/optimizer/opt_wrapper.c
@@ -84,7 +84,7 @@ struct{
{"aliases", &OPTaliasesImplementation},
{"centipede", &OPTcentipedeImplementation},
{"cluster", &OPTclusterImplementation},
- {"coercion", &OPTcoercionImplementation},
+ {"coercions", &OPTcoercionImplementation},
{"commonTerms", &OPTcommonTermsImplementation},
{"compression", &OPTcompressionImplementation},
{"costModel", &OPTcostModelImplementation},
diff --git a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
--- a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
+++ b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
@@ -27,10 +27,10 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 76 # length
+% 72 # length
function user.s0_1{autoCommit=true}(A0:bte,A1:bte):void;
X_4 := udf.fuse(A0,A1);
- sql.exportValue(1,".","fuse_single_value":str,"smallint",16,0,6,X_4,"");
+ sql.exportValue(1,".","fuse_single_value","smallint",16,0,6,X_4,"");
end s0_1;
# optimizer.mitosis()
# optimizer.dataflow()
@@ -44,10 +44,10 @@ end s0_1;
% .explain # table_name
% mal # name
% clob # type
-% 71 # length
+% 67 # length
function user.s1_1{autoCommit=true}(A0:sht,A1:sht):void;
X_4 := udf.fuse(A0,A1);
- sql.exportValue(1,".","fuse_single_value":str,"int",32,0,6,X_4,"");
+ sql.exportValue(1,".","fuse_single_value","int",32,0,6,X_4,"");
end s1_1;
#select fuse(1000,2000);
% . # table_name
@@ -59,10 +59,10 @@ end s1_1;
% .explain # table_name
% mal # name
% clob # type
-% 74 # length
+% 70 # length
function user.s2_1{autoCommit=true}(A0:int,A1:int):void;
X_4 := udf.fuse(A0,A1);
- sql.exportValue(1,".","fuse_single_value":str,"bigint",64,0,6,X_4,"");
+ sql.exportValue(1,".","fuse_single_value","bigint",64,0,6,X_4,"");
end s2_1;
#select fuse(1000000,2000000);
% . # table_name
diff --git a/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
b/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
--- a/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
+++ b/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
@@ -48,10 +48,10 @@ Ready.
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list