Changeset: 1a07fe7edd70 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1a07fe7edd70
Modified Files:
monetdb5/optimizer/opt_mergetable.c
sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out
Branch: Jul2017
Log Message:
fixed problem with the push select and mergetable optimizers with limit in sub
queries
diffs (30 lines):
diff --git a/monetdb5/optimizer/opt_mergetable.c
b/monetdb5/optimizer/opt_mergetable.c
--- a/monetdb5/optimizer/opt_mergetable.c
+++ b/monetdb5/optimizer/opt_mergetable.c
@@ -112,8 +112,13 @@ mat_add_var(matlist_t *ml, InstrPtr q, I
dst->pm = parentmat;
dst->packed = 0;
dst->pushed = pushed;
- if (ml->vars[var] < 0)
+ if (ml->vars[var] < 0 || dst->type != mat_ext) {
+ if (ml->vars[var] >= 0) {
+ ml->v[ml->vars[var]].packed = 1;
+ ml->v[ml->vars[var]].pushed = 1;
+ }
ml->vars[var] = ml->top;
+ }
++ml->top;
}
diff --git
a/sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out
b/sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out
--- a/sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out
+++ b/sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out
@@ -108,7 +108,7 @@ Ready.
% sys.tbls, sys.tbls, sys.tbls, sys.tbls, sys.tbls,
sys.tbls, sys.tbls, sys.tbls # table_name
% name, schema_id, query, type, system, commit_action,
readonly, temporary # name
% varchar, int, varchar, smallint, boolean,
smallint, boolean, smallint # type
-% 12, 4, 379, 1, 5, 1, 5, 1 # length
+% 12, 4, 169, 1, 5, 1, 5, 1 # length
[ "schemas", 2000, NULL, 0, true, 0, false, 0 ]
[ "types", 2000, NULL, 0, true, 0, false, 0 ]
[ "functions", 2000, NULL, 0, true, 0, false, 0 ]
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list