Changeset: 8b822d5f1dfc for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8b822d5f1dfc
Modified Files:
gdk/gdk.h
gdk/gdk_cross.c
sql/test/sysmon/Tests/query_timeout.test
Branch: qcancel
Log Message:
dont check timeout on every step
diffs (57 lines):
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -2113,6 +2113,7 @@ gdk_export BAT *BATsample_with_seed(BAT
*/
#define MAXPARAMS 32
+#define CHECK_QRY_TIMEOUT_STEP 10000
#define _CHECK_TIMEOUT(starttime, querytimeout) \
if (querytimeout && starttime && (GDKusec() - starttime) >
querytimeout) { \
GDKerror("Timeout was reached!"); \
diff --git a/gdk/gdk_cross.c b/gdk/gdk_cross.c
--- a/gdk/gdk_cross.c
+++ b/gdk/gdk_cross.c
@@ -52,9 +52,10 @@ BATsubcross(BAT **r1p, BAT **r2p, BAT *l
bn1->tnonil = true;
p = (oid *) Tloc(bn1, 0);
for (i = 0; i < cnt1; i++) {
- _CHECK_TIMEOUT(qry_ctx->starttime,
qry_ctx->querytimeout);
oid x = canditer_next(&ci1);
for (j = 0; j < cnt2; j++) {
+ if ((((i+1)*(j+1)) % CHECK_QRY_TIMEOUT_STEP) ==
0)
+ _CHECK_TIMEOUT(qry_ctx->starttime,
qry_ctx->querytimeout);
*p++ = x;
}
}
@@ -69,8 +70,9 @@ BATsubcross(BAT **r1p, BAT **r2p, BAT *l
bn2->tnonil = true;
p = (oid *) Tloc(bn2, 0);
for (i = 0; i < cnt1; i++) {
- _CHECK_TIMEOUT(qry_ctx->starttime,
qry_ctx->querytimeout);
for (j = 0; j < cnt2; j++) {
+ if ((((i+1)*(j+1)) %
CHECK_QRY_TIMEOUT_STEP) == 0)
+
_CHECK_TIMEOUT(qry_ctx->starttime, qry_ctx->querytimeout);
*p++ = canditer_next(&ci2);
}
canditer_reset(&ci2);
diff --git a/sql/test/sysmon/Tests/query_timeout.test
b/sql/test/sysmon/Tests/query_timeout.test
--- a/sql/test/sysmon/Tests/query_timeout.test
+++ b/sql/test/sysmon/Tests/query_timeout.test
@@ -5,13 +5,13 @@ statement ok
create table bar(id bigserial, value int);
statement ok
-insert into foo(value) (select * from generate_series(0,10000));
+insert into foo(value) (select * from generate_series(0,100000));
statement ok
-insert into bar(value) (select * from generate_series(0,10000));
+insert into bar(value) (select * from generate_series(0,100000));
statement ok
-call setquerytimeout(0, 1);
+call setquerytimeout(0, 10);
# test crossproduct
statement error HYT00!Query aborted due to timeout
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list