[prev in list] [next in list] [prev in thread] [next in thread]
List: monetdb-checkins
Subject: MonetDB: default - Merge with Oct2014 branch.
From: Sjoerd Mullender <commits () monetdb ! org>
Date: 2015-01-28 15:23:40
Message-ID: hg.365833289ca9.1422458620.6315528441665844383 () monetdb2 ! cwi-incubator ! nl
[Download RAW message or body]
Changeset: 365833289ca9 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=365833289ca9
Added Files:
sql/test/BugTracker-2015/Tests/acidity2-fail.Bug-3635.SQL.py
Modified Files:
clients/Tests/All
sql/storage/bat/bat_storage.c
sql/storage/store.c
sql/test/BugTracker-2015/Tests/All
testing/Mtest.py.in
Branch: default
Log Message:
Merge with Oct2014 branch.
diffs (170 lines):
diff --git a/clients/Tests/All b/clients/Tests/All
--- a/clients/Tests/All
+++ b/clients/Tests/All
@@ -3,7 +3,7 @@ HAVE_CFITSIO&HAVE_GEOM&HAVE_GSL&HAVE_LIB
HAVE_CFITSIO&HAVE_GEOM&!HAVE_GSL&!HAVE_LIBR&!HAVE_SAMTOOLS&!HAVE_SPHINXCLIENT&!ENABLE_DATACELL?MAL-signatures_fits_geom
!HAVE_CFITSIO&HAVE_GEOM&!HAVE_GSL&!HAVE_LIBR&!HAVE_SAMTOOLS&!HAVE_SPHINXCLIENT&!ENABLE_DATACELL?MAL-signatures_geom
!HAVE_CFITSIO&!HAVE_GEOM&!HAVE_GSL&!HAVE_LIBR&!HAVE_SAMTOOLS&!HAVE_SPHINXCLIENT&!ENABLE_DATACELL?MAL-signatures_none
-HAVE_GEOM&HAVE_GSL&HAVE_SAMTOOLS&!ENABLE_DATACELL?SQL-dump_all
+HAVE_GEOM&HAVE_GSL&HAVE_SAMTOOLS&!ENABLE_DATACELL&!BITS32?SQL-dump_all
HAVE_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS&!ENABLE_DATACELL?SQL-dump_geom
-!HAVE_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS&!ENABLE_DATACELL?SQL-dump_none
+!HAVE_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS&!ENABLE_DATACELL&!BITS32?SQL-dump_none
MERCURIAL?malcheck
diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -1407,7 +1407,10 @@ empty_col(sql_column *c)
assert(c->data && c->base.allocated && bat->bid == 0);
bat->bid = bat->ibid;
bat->ibid = e_bat(type);
- bat->ibase = BATcount(BBPquickdesc(bat->bid, 0));
+ bat->ibase = 0;
+ bat->cnt = BATcount(BBPquickdesc(bat->bid, 0));
+ bat->ucnt = 0;
+
if (bat->bid == bat->ibid)
bat->bid = copyBat(bat->ibid, type, 0);
@@ -1439,7 +1442,10 @@ empty_idx(sql_idx *i)
assert(i->data && i->base.allocated && bat->bid == 0);
bat->bid = bat->ibid;
bat->ibid = e_bat(type);
- bat->ibase = BATcount(BBPquickdesc(bat->bid, 0));
+ bat->ibase = 0;
+ bat->cnt = BATcount(BBPquickdesc(bat->bid, 0));
+ bat->ucnt = 0;
+
if (bat->bid == bat->ibid)
bat->bid = copyBat(bat->ibid, type, 0);
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -3050,6 +3050,7 @@ reset_table(sql_trans *tr, sql_table *ft
store_funcs.destroy_del(NULL, ft);
ft->base.wtime = ft->base.rtime = 0;
+ ft->cleared = 0;
ok = reset_changeset( tr, &ft->columns, &pft->columns, &ft->base, (resetf) \
&reset_column, (dupfunc) &column_dup); if (ok == LOG_OK)
ok = reset_changeset( tr, &ft->tables, &pft->tables, &ft->base, (resetf) NULL, \
(dupfunc) &table_find);
diff --git a/sql/test/BugTracker-2015/Tests/All b/sql/test/BugTracker-2015/Tests/All
--- a/sql/test/BugTracker-2015/Tests/All
+++ b/sql/test/BugTracker-2015/Tests/All
@@ -3,3 +3,4 @@ sharp-alias.Bug-3467
name_conflict.Bug-3650
prepare_unop_crash.Bug-3653
and_or_in.Bug-3655
+acidity2-fail.Bug-3635
diff --git a/sql/test/BugTracker-2015/Tests/acidity2-fail.Bug-3635.SQL.py \
b/sql/test/BugTracker-2015/Tests/acidity2-fail.Bug-3635.SQL.py new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2015/Tests/acidity2-fail.Bug-3635.SQL.py
@@ -0,0 +1,48 @@
+try:
+ from MonetDBtesting import process
+except ImportError:
+ import process
+
+import sys, time, monetdb.sql, os
+
+def connect(autocommit):
+ return monetdb.sql.connect(database = os.getenv('TSTDB'),
+ hostname = '127.0.0.1',
+ port = int(os.getenv('MAPIPORT')),
+ username = 'monetdb',
+ password = 'monetdb',
+ autocommit = autocommit)
+
+def query(conn, sql):
+ cur = conn.cursor()
+ cur.execute(sql)
+ r = cur.fetchall()
+ cur.close()
+ return r
+
+def run(conn, sql):
+ print sql
+ r = conn.execute(sql)
+
+# boring setup and schema creation stuff:
+c1 = connect(True)
+run(c1, 'create table foo (a int)')
+run(c1, 'insert into foo values (1),(2),(3)')
+run(c1, 'create view bar as select * from foo')
+
+c2 = connect(True)
+run(c1, 'start transaction')
+run(c1, 'delete from foo')
+run(c1, 'drop view bar')
+run(c1, 'create view bar as select * from foo')
+run(c2, 'create table baz (a int);drop table baz')
+try:
+ run(c1, 'commit')
+ print "shouldn't get here"
+except monetdb.exceptions.OperationalError:
+ print "commit failed"
+ pass
+
+run(c1, 'insert into foo values (4),(5),(6)') # SIGABRT here
+run(c1, 'drop view bar')
+run(c1, 'drop table foo')
diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -3504,24 +3504,27 @@ def main(argv) :
except monet_options.Error:
sys.exit(1)
- if len(args) == 1 and os.path.isfile(args[0]):
+ if len(args) == 1:
head, tail = os.path.split(args[0])
- head, tst = os.path.split(head)
- if tst != 'Tests':
- ErrXit("%s: not a valid test name" % args[0])
- args = [head]
- if tail != 'All':
- for ext in ('_s00.malC', '_p00.malC', '_s00.mal', '_s00.sql',
- '_p00.sql', '.MAL.py', '.SQL.py', '.malC', '.mal',
- '.sql', '.py', '.R', ''):
- if tail.endswith(ext + '.in'):
- args.append(tail[:-len(ext + '.in')])
- break
- if tail.endswith(ext):
- args.append(tail[:-len(ext)])
- break
- else:
+ if os.path.isfile(args[0]):
+ head, tst = os.path.split(head)
+ if tst != 'Tests':
ErrXit("%s: not a valid test name" % args[0])
+ args = [head]
+ if tail != 'All':
+ for ext in ('_s00.malC', '_p00.malC', '_s00.mal', '_s00.sql',
+ '_p00.sql', '.MAL.py', '.SQL.py', '.malC', '.mal',
+ '.sql', '.py', '.R', ''):
+ if tail.endswith(ext + '.in'):
+ args.append(tail[:-len(ext + '.in')])
+ break
+ if tail.endswith(ext):
+ args.append(tail[:-len(ext)])
+ break
+ else:
+ ErrXit("%s: not a valid test name" % args[0])
+ elif head and tail and os.path.isdir(head) and tail != 'Tests' and \
os.path.isdir(os.path.join(head, 'Tests')): + args = [head, tail]
config = opts.get('config', '')
if config:
@@ -4255,6 +4258,10 @@ if __name__ == "__main__":
from MonetDBtesting import trace
t = trace.Trace(trace=1, count=0, \
ignoremods=('ntpath','monet_options','Mfilter','re', 'sre_parse', 'sre_compile')) \
t.runfunc(main, sys.argv) + elif '--debug' in sys.argv:
+ sys.argv.remove('--debug')
+ import pdb
+ pdb.run('main(sys.argv)')
else:
main(sys.argv)
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic