Changeset: 7ab4f1e62759 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7ab4f1e62759
Modified Files:
clients/mapiclient/mclient.c
sql/test/BugTracker-2009/Tests/decimal_needs_truncation.SF-2605686.sql
sql/test/BugTracker-2009/Tests/prepare_commit_execute.SF-2606020.sql
sql/test/BugTracker-2009/Tests/prepare_decimal_bug.SF-2831994.sql
sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.sql
sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.sql
sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.stable.err
sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.sql
sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.stable.err
sql/test/BugTracker/Tests/decimal_prepare.SF-1655818.sql
sql/test/BugTracker/Tests/large_prepare.SF-1363729.sql
sql/test/BugTracker/Tests/large_prepare_2.SF-1363729.sql
sql/test/BugTracker/Tests/prepare_decimal_float.SF-1675795.sql
Branch: Dec2011
Log Message:
Added a HACK to mclient in testing mode for prepare/exec combo's in .sql files.
The hack is that mclient remembers the ID of the last prepare query
and fills that in when it encounters a line that starts with "exec
**". This is only done in SQL mode and when using the -ftest format
option.
diffs (183 lines):
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -1765,6 +1765,7 @@ doFile(Mapi mid, const char *file, int u
enum hmyesno hassysfuncs = UNKNOWN;
FILE *fp;
char *prompt = NULL;
+ int prepno = 0;
(void) save_history; /* not used if no readline */
if (strcmp(file, "-") == 0) {
@@ -1962,6 +1963,18 @@ doFile(Mapi mid, const char *file, int u
case '\n':
case '\0':
break;
+ case 'e':
+ /* a bit of a hack for prepare/exec
+ * tests: replace "exec **" with the
+ * ID of the last prepared
+ * statement */
+ if (mode == SQL &&
+ formatter == TESTformatter &&
+ strncmp(line, "exec **", 7) == 0) {
+ line[5] = prepno < 10 ? ' ' : prepno /
10 + '0';
+ line[6] = prepno % 10 + '0';
+ }
+ break;
case '\\':
switch (line[1]) {
case 'q':
@@ -2447,6 +2460,11 @@ doFile(Mapi mid, const char *file, int u
}
CHECK_RESULT(mid, hdl, buf, continue);
+ if (mapi_get_querytype(hdl) == Q_PREPARE) {
+ prepno = mapi_get_tableid(hdl);
+ assert(prepno < 100);
+ }
+
rc = format_result(mid, hdl, interactive);
if (rc == MMORE && (line != NULL || mapi_query_done(hdl) !=
MOK))
diff --git
a/sql/test/BugTracker-2009/Tests/decimal_needs_truncation.SF-2605686.sql
b/sql/test/BugTracker-2009/Tests/decimal_needs_truncation.SF-2605686.sql
--- a/sql/test/BugTracker-2009/Tests/decimal_needs_truncation.SF-2605686.sql
+++ b/sql/test/BugTracker-2009/Tests/decimal_needs_truncation.SF-2605686.sql
@@ -7,7 +7,7 @@ insert into testdec values (0.12345);
select * from testdec;
PREPARE INSERT INTO testdec (testdec) values (?);
-exec 6(0.12345);
+exec **(0.12345);
select * from testdec;
diff --git
a/sql/test/BugTracker-2009/Tests/prepare_commit_execute.SF-2606020.sql
b/sql/test/BugTracker-2009/Tests/prepare_commit_execute.SF-2606020.sql
--- a/sql/test/BugTracker-2009/Tests/prepare_commit_execute.SF-2606020.sql
+++ b/sql/test/BugTracker-2009/Tests/prepare_commit_execute.SF-2606020.sql
@@ -3,11 +3,11 @@ create table pce (i int, s string);
commit;
start transaction;
prepare insert into pce (i,s) values (?,?);
-exec 2(1,'test 1');
+exec **(1,'test 1');
select * from pce;
commit;
start transaction;
-exec 2(2,'test 2');
+exec **(2,'test 2');
select * from pce;
commit;
drop table pce;
diff --git a/sql/test/BugTracker-2009/Tests/prepare_decimal_bug.SF-2831994.sql
b/sql/test/BugTracker-2009/Tests/prepare_decimal_bug.SF-2831994.sql
--- a/sql/test/BugTracker-2009/Tests/prepare_decimal_bug.SF-2831994.sql
+++ b/sql/test/BugTracker-2009/Tests/prepare_decimal_bug.SF-2831994.sql
@@ -4,6 +4,6 @@ create table "test2831994" (
"value2" DECIMAL (5, 5)
);
prepare insert into "test2831994"("id","value","value2") values (?, ?, ?);
-exec 2 (3,0.0,2.34);
+exec ** (3,0.0,2.34);
select * from test2831994;
drop table test2831994;
diff --git a/sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.sql
b/sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.sql
--- a/sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.sql
+++ b/sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.sql
@@ -1,6 +1,6 @@
create table rr (id int);
insert into rr values (1),(2),(3);
prepare select * from rr limit ?;
-exec 3 (1);
+exec ** (1);
drop table rr;
diff --git a/sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.sql
b/sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.sql
--- a/sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.sql
+++ b/sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.sql
@@ -1,3 +1,3 @@
prepare select count(*) from _tables having count(*) = ?;
-exec 1(1);
-exec 1(2.3);
+exec **(1);
+exec **(2.3);
diff --git
a/sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.stable.err
b/sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.stable.err
--- a/sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.stable.err
+++ b/sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.stable.err
@@ -71,8 +71,8 @@ stderr of test 'prepare_stmt.Bug-2533.Bu
# 09:32:45 > mclient -lsql -ftest -i -e --host=rig --port=33580
# 09:32:45 >
-MAPI = monetdb@localhost:34941
-QUERY = exec 1(2.3);
+MAPI = monetdb@madrid:39379
+QUERY = exec 1(2.3);
ERROR = !EXEC: wrong type for argument 1 of prepared statement: decimal,
expected wrd
# 09:32:45 >
diff --git a/sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.sql
b/sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.sql
--- a/sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.sql
+++ b/sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.sql
@@ -4,4 +4,4 @@ col1 INTEGER,
col2 VARCHAR(5)
) ;
PREPARE select id from data_1mto10m where id > CAST(? AS INTEGER) limit 10;
-exec 2('100');
+exec **('100');
diff --git a/sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.stable.err
b/sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.stable.err
--- a/sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.stable.err
+++ b/sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.stable.err
@@ -79,8 +79,8 @@ stderr of test 'bind_with_cast.SF-172093
# 19:38:47 > mclient -lsql -umonetdb -Pmonetdb --host=alf --port=37754
# 19:38:47 >
-MAPI = monetdb@madrid:32243
-QUERY = exec 2('100');
+MAPI = monetdb@madrid:39379
+QUERY = exec 2('100');
ERROR = !EXEC: wrong type for argument 1 of prepared statement: char, expected
int
# 19:38:47 >
diff --git a/sql/test/BugTracker/Tests/decimal_prepare.SF-1655818.sql
b/sql/test/BugTracker/Tests/decimal_prepare.SF-1655818.sql
--- a/sql/test/BugTracker/Tests/decimal_prepare.SF-1655818.sql
+++ b/sql/test/BugTracker/Tests/decimal_prepare.SF-1655818.sql
@@ -10,6 +10,6 @@ create table P1655818 (
PREPARE insert into P1655818 (time,x,y) values (?,?,?);
-exec 2(timestamp '2003-01-30 18:03:35.0', 71.91, 71.98);
+exec **(timestamp '2003-01-30 18:03:35.0', 71.91, 71.98);
ROLLBACK;
diff --git a/sql/test/BugTracker/Tests/large_prepare.SF-1363729.sql
b/sql/test/BugTracker/Tests/large_prepare.SF-1363729.sql
--- a/sql/test/BugTracker/Tests/large_prepare.SF-1363729.sql
+++ b/sql/test/BugTracker/Tests/large_prepare.SF-1363729.sql
@@ -3,4 +3,4 @@ create table foo (clickTime time,long1 b
PREPARE insert into foo values
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
-exec 2(time '12:12:12', 6021938018913874944, 7909540736630212608,
5804504770669764608, 5731640460629998592, 862374748439479296,
4118786240046083072, 5736585692206052352, 4180956383130519552,
4431348585717823488, 1687909604323355648, 7376783045669721088,
6515523872365652992, 1715453341893179392, 627721492047376384,
8331839817029594112, 7977041363446006784, 3801764841538480128,
1446801246901456896, 7532895413276706816, 4715259018010967040,
5954047085661367296, 2677611782788034560, 4159344106040219648,
5295979755028414464, 4288751348846951424, 5935314607102821376,
1154335402415802368, 2620740421044021248, 6505497079060329472,
3480814257727680512, 6653356907163571200, 1246123775073920000,
7227784505536452608, 7143603808078267392);
+exec **(time '12:12:12', 6021938018913874944, 7909540736630212608,
5804504770669764608, 5731640460629998592, 862374748439479296,
4118786240046083072, 5736585692206052352, 4180956383130519552,
4431348585717823488, 1687909604323355648, 7376783045669721088,
6515523872365652992, 1715453341893179392, 627721492047376384,
8331839817029594112, 7977041363446006784, 3801764841538480128,
1446801246901456896, 7532895413276706816, 4715259018010967040,
5954047085661367296, 2677611782788034560, 4159344106040219648,
5295979755028414464, 4288751348846951424, 5935314607102821376,
1154335402415802368, 2620740421044021248, 6505497079060329472,
3480814257727680512, 6653356907163571200, 1246123775073920000,
7227784505536452608, 7143603808078267392);
diff --git a/sql/test/BugTracker/Tests/large_prepare_2.SF-1363729.sql
b/sql/test/BugTracker/Tests/large_prepare_2.SF-1363729.sql
--- a/sql/test/BugTracker/Tests/large_prepare_2.SF-1363729.sql
+++ b/sql/test/BugTracker/Tests/large_prepare_2.SF-1363729.sql
@@ -44,7 +44,7 @@ create table mytable (
PREPARE INSERT INTO mytable VALUES
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
-exec 2(
+exec **(
1,
2,
3,
diff --git a/sql/test/BugTracker/Tests/prepare_decimal_float.SF-1675795.sql
b/sql/test/BugTracker/Tests/prepare_decimal_float.SF-1675795.sql
--- a/sql/test/BugTracker/Tests/prepare_decimal_float.SF-1675795.sql
+++ b/sql/test/BugTracker/Tests/prepare_decimal_float.SF-1675795.sql
@@ -1,6 +1,6 @@
create table xy ( time timestamp, x decimal(6,4), y decimal(6,4));
prepare insert into xy values (?,?,?);
-exec 2 (timestamp '2007-03-07 15:28:16.577', 0.6841, 0.684);
-exec 2 (timestamp '2007-03-07 15:28:16.577', -0.6841, -0.684);
+exec ** (timestamp '2007-03-07 15:28:16.577', 0.6841, 0.684);
+exec ** (timestamp '2007-03-07 15:28:16.577', -0.6841, -0.684);
select * from xy;
DROP TABLE xy;
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list