Changeset: 159bb3cfae0e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=159bb3cfae0e Modified Files: NT/installer32/MonetDB5-SQL-Installer.vdproj NT/installer64/MonetDB5-SQL-Installer.vdproj clients/Tests/exports.stable.out clients/python/monetdb/mapi.py clients/python/test/dbapi20.py clients/python3/monetdb/mapi.py clients/python3/test/dbapi20.py gdk/gdk.h monetdb5/modules/mal/Makefile.ag monetdb5/modules/mal/Tests/All monetdb5/modules/mal/mal_init.mal monetdb5/optimizer/Makefile.ag monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_support.c monetdb5/optimizer/opt_support.h monetdb5/optimizer/opt_wrapper.c monetdb5/optimizer/optimizer.mal sql/test/Tests/setoptimizer.stable.out sql/test/Tests/setoptimizer.stable.out.Windows sql/test/mapi/Tests/python_test_monetdb_sql.stable.err sql/test/testdb/Tests/testdb-dump.timeout testing/Mtest.py.in tools/merovingian/daemon/monetdbd.1.in Branch: sciql Log Message:
merged with default diffs (282 lines): diff --git a/NT/installer32/MonetDB5-SQL-Installer.vdproj b/NT/installer32/MonetDB5-SQL-Installer.vdproj --- a/NT/installer32/MonetDB5-SQL-Installer.vdproj +++ b/NT/installer32/MonetDB5-SQL-Installer.vdproj @@ -591,12 +591,6 @@ } "Entry" { - "MsmKey" = "8:_B19E5558F57A40498434042A6A518D70" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_B29D1CC37FAC4C7BAC52DD29A5303F05" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -2829,26 +2823,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B19E5558F57A40498434042A6A518D70" - { - "SourcePath" = "8:lib\\monetdb5\\batifthen.mal" - "TargetName" = "8:batifthen.mal" - "Tag" = "8:" - "Folder" = "8:_B593DAA0787744D6A44D17884E0C3951" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B29D1CC37FAC4C7BAC52DD29A5303F05" { "SourcePath" = "8:lib\\monetdb5\\zorder.mal" diff --git a/NT/installer64/MonetDB5-SQL-Installer.vdproj b/NT/installer64/MonetDB5-SQL-Installer.vdproj --- a/NT/installer64/MonetDB5-SQL-Installer.vdproj +++ b/NT/installer64/MonetDB5-SQL-Installer.vdproj @@ -105,12 +105,6 @@ } "Entry" { - "MsmKey" = "8:_1AE601672DEA4DC8BA85FA9474186451" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_1AF238588D2D4EA5A416D48291406811" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -1229,26 +1223,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1AE601672DEA4DC8BA85FA9474186451" - { - "SourcePath" = "8:lib\\monetdb5\\batifthen.mal" - "TargetName" = "8:batifthen.mal" - "Tag" = "8:" - "Folder" = "8:_B593DAA0787744D6A44D17884E0C3951" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1AF238588D2D4EA5A416D48291406811" { "SourcePath" = "8:C:\\Libraries\\iconv-1.11.1.win64-vs10\\lib\\iconv.lib" diff --git a/clients/python/monetdb/mapi.py b/clients/python/monetdb/mapi.py --- a/clients/python/monetdb/mapi.py +++ b/clients/python/monetdb/mapi.py @@ -86,7 +86,7 @@ class Server(object): self.socket.connect((hostname, port)) except socket.error, error: (error_code, error_str) = error - raise OperationalError(error_str + " (%s)" % error_code) + raise OperationalError(error_str + " (%s:%s)" % (self.hostname, self.port)) self.__login() diff --git a/clients/python/test/dbapi20.py b/clients/python/test/dbapi20.py --- a/clients/python/test/dbapi20.py +++ b/clients/python/test/dbapi20.py @@ -106,7 +106,7 @@ class DatabaseAPI20Test(unittest.TestCas The 'Optional Extensions' are not yet being tested. self.drivers should subclass this test, overriding setUp, tearDown, - self.driver, connect_args and connect_kw_args. Class specification + self.driver, connect_args and connect_kwargs. Class specification should be as follows: import dbapi20 @@ -121,7 +121,7 @@ class DatabaseAPI20Test(unittest.TestCas # method is to be found driver = None connect_args = () # List of arguments to pass to connect - connect_kw_args = {} # Keyword arguments for connect + connect_kwargs = {} # Keyword arguments for connect table_prefix = 'dbapi20test_' # If you need to specify a prefix for tables ddl1 = 'create table %sbooze (name varchar(20))' % table_prefix @@ -165,9 +165,7 @@ class DatabaseAPI20Test(unittest.TestCas def _connect(self): try: - return self.driver.connect( - *self.connect_args,**self.connect_kw_args - ) + return self.driver.connect(*self.connect_args, **self.connect_kwargs) except AttributeError: self.fail("No connect method found in self.driver module") diff --git a/clients/python3/monetdb/mapi.py b/clients/python3/monetdb/mapi.py --- a/clients/python3/monetdb/mapi.py +++ b/clients/python3/monetdb/mapi.py @@ -76,7 +76,7 @@ class Server: self.socket.connect((hostname, port)) except socket.error as error: (error_code, error_str) = error - raise OperationalError(error_str) + raise OperationalError(error_str + "(%s:%s)" % (self.hostname, self.port)) self.__login() diff --git a/clients/python3/test/dbapi20.py b/clients/python3/test/dbapi20.py --- a/clients/python3/test/dbapi20.py +++ b/clients/python3/test/dbapi20.py @@ -106,7 +106,7 @@ class DatabaseAPI20Test(unittest.TestCas The 'Optional Extensions' are not yet being tested. self.drivers should subclass this test, overriding setUp, tearDown, - self.driver, connect_args and connect_kw_args. Class specification + self.driver, connect_args and connect_kwargs. Class specification should be as follows: import dbapi20 @@ -121,7 +121,7 @@ class DatabaseAPI20Test(unittest.TestCas # method is to be found driver = None connect_args = () # List of arguments to pass to connect - connect_kw_args = {} # Keyword arguments for connect + connect_kwargs = {} # Keyword arguments for connect table_prefix = 'dbapi20test_' # If you need to specify a prefix for tables ddl1 = 'create table %sbooze (name varchar(20))' % table_prefix @@ -166,7 +166,7 @@ class DatabaseAPI20Test(unittest.TestCas def _connect(self): try: return self.driver.connect( - *self.connect_args,**self.connect_kw_args + *self.connect_args,**self.connect_kwargs ) except AttributeError: self.fail("No connect method found in self.driver module") diff --git a/sql/test/mapi/Tests/python_test_monetdb_sql.stable.err b/sql/test/mapi/Tests/python_test_monetdb_sql.stable.err --- a/sql/test/mapi/Tests/python_test_monetdb_sql.stable.err +++ b/sql/test/mapi/Tests/python_test_monetdb_sql.stable.err @@ -80,6 +80,7 @@ stderr of test 'python_test_monetdb_sql` # 11:54:47 > test_BLOB (__main__.Test_Capabilities) ... ok +test_BOOL (__main__.Test_Capabilities) ... ok test_CHAR (__main__.Test_Capabilities) ... ok test_DATE (__main__.Test_Capabilities) ... ok test_DATETIME (__main__.Test_Capabilities) ... ok @@ -100,7 +101,7 @@ test_transactions (__main__.Test_Capabil test_truncation (__main__.Test_Capabilities) ... ok ---------------------------------------------------------------------- -Ran 19 tests +Ran 20 tests OK test_BINARY (__main__.Test_DBAPI20) ... ok @@ -124,19 +125,18 @@ test_connect (__main__.Test_DBAPI20) ... test_cursor (__main__.Test_DBAPI20) ... ok test_cursor_isolation (__main__.Test_DBAPI20) ... ok test_description (__main__.Test_DBAPI20) ... ok +test_escape (__main__.Test_DBAPI20) ... ok test_execute (__main__.Test_DBAPI20) ... ok test_executemany (__main__.Test_DBAPI20) ... ok test_fetchall (__main__.Test_DBAPI20) ... ok test_fetchmany (__main__.Test_DBAPI20) ... ok test_fetchone (__main__.Test_DBAPI20) ... ok test_mixedfetch (__main__.Test_DBAPI20) ... ok -test_newline (__main__.Test_DBAPI20) ... ok test_nextset (__main__.Test_DBAPI20) ... ok test_paramstyle (__main__.Test_DBAPI20) ... ok test_rollback (__main__.Test_DBAPI20) ... ok test_rowcount (__main__.Test_DBAPI20) ... ok test_setinputsizes (__main__.Test_DBAPI20) ... ok -test_setoutputsize (__main__.Test_DBAPI20) ... ok test_setoutputsize_basic (__main__.Test_DBAPI20) ... ok test_substring (__main__.Test_DBAPI20) ... ok test_threadsafety (__main__.Test_DBAPI20) ... ok @@ -144,7 +144,7 @@ test_unicode (__main__.Test_DBAPI20) ... test_utf8 (__main__.Test_DBAPI20) ... ok ---------------------------------------------------------------------- -Ran 39 tests +Ran 38 tests OK diff --git a/sql/test/testdb/Tests/testdb-dump.timeout b/sql/test/testdb/Tests/testdb-dump.timeout --- a/sql/test/testdb/Tests/testdb-dump.timeout +++ b/sql/test/testdb/Tests/testdb-dump.timeout @@ -1,1 +1,1 @@ -36 +27 diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in --- a/testing/Mtest.py.in +++ b/testing/Mtest.py.in @@ -1231,6 +1231,8 @@ def ApproveOutput (env, TST) : # filter = re.compile( "^!WARNING: TCPlisten\([0-9]*\): stopped.$" "|" # "^!WARNING: TCPepilogue: terminate [01] listeners$", re.MULTILINE) + TO = re.compile("(^\+(|[^#]*[\t ])((Memory|Segmentation) [Ff]ault|Bus [Ee]rror|Abort(|ed)|Assertion (|.* )failed[:\.]|!FATAL: BATSIGabort:|ERROR = !Connection terminated|!Mtimeout: Timeout:)([ \t]|$)|aborted too deep recursion)", re.MULTILINE) + for WHAT in EXTENSIONS: testOUTPUT = os.path.join(TSTTRGDIR, "%s.test.%s" % (TST, WHAT)) TSTSRCDIRTST = os.path.join(TSTSRCDIR, TST) @@ -1275,7 +1277,10 @@ def ApproveOutput (env, TST) : f = open(patch + ".1", "w") for l in open(patch + ".0"): - if len(l) < 2 or \ + if TO.search(l): + f.write(l[:1] + '\n') + Warn('Rejecting (error) message: "%s"' % l[1:].replace(os.linesep, '')) + elif len(l) < 2 or \ ( l[:2] not in ['+!','+='] and l[:10] != '+ERROR = !' and \ l[:8] != '+ERROR: ' and l[:10] != '+WARNING: ' ) : # or filter.match(ln): f.write(l) @@ -1286,7 +1291,7 @@ def ApproveOutput (env, TST) : else: f.write(l[:1] + '\n') sa = 'Skipping' - Warn('%s new (error) message: "%s"' % (sa,l.replace(os.linesep, ''))) + Warn('%s new (error) message: "%s"' % (sa,l[1:].replace(os.linesep, ''))) sem = 1 f.flush() f.close() @@ -2726,7 +2731,7 @@ def DoIt(env, SERVER, CALL, TST, EXT, PR return None # Try to detect segfaults and the like - TO = re.compile("((^|^[^#]*[\t ])(Memory [Ff]ault|Segmentation [Ff]ault|Bus [Ee]rror|Abort(|ed)|Assertion failed:|!FATAL: BATSIGabort:)([ \t]|$))", re.MULTILINE) + TO = re.compile("(^(|[^#]*[\t ])((Memory|Segmentation) [Ff]ault|Bus [Ee]rror|Abort(|ed)|Assertion (|.* )failed[:\.]|!FATAL: BATSIGabort:)([ \t]|$))", re.MULTILINE) # FIXME: this begs for a much nicer solution (100% copy of below) for f in (TestErrFile, TestOutFile): if os.path.isfile(f): diff --git a/tools/merovingian/daemon/monetdbd.1.in b/tools/merovingian/daemon/monetdbd.1.in --- a/tools/merovingian/daemon/monetdbd.1.in +++ b/tools/merovingian/daemon/monetdbd.1.in @@ -10,7 +10,7 @@ command [command_args] dbfarm .SH DESCRIPTION .B monetdbd is the MonetDB Database Server daemon. The program is mainly meant to -be used as deamon, but it also allows to setup and change the +be used as daemon, but it also allows to setup and change the configuration of a dbfarm. The use of .B monetdbd _______________________________________________ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list