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

Reply via email to