Changeset: dfd4015551ee for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/dfd4015551ee
Modified Files:
sql/backends/monet5/sql_optimizer.c
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.test
Branch: default
Log Message:
Also optimize queries hitting sys tables
diffs (228 lines):
diff --git a/sql/backends/monet5/sql_optimizer.c
b/sql/backends/monet5/sql_optimizer.c
--- a/sql/backends/monet5/sql_optimizer.c
+++ b/sql/backends/monet5/sql_optimizer.c
@@ -88,9 +88,8 @@ SQLgetSpace(mvc *m, MalBlkPtr mb, int pr
size = SQLgetColumnSize(tr, c, access);
space += size; // accumulate once per table
//lasttable = tname; invalidate this attempt
- if( !prepare && size == 0 && ! t->system){
+ if (!prepare && size == 0)
setFunctionId(p, emptybindRef);
- }
}
}
if (getModuleId(p) == sqlRef && (getFunctionId(p) ==
bindidxRef)) {
@@ -106,9 +105,8 @@ SQLgetSpace(mvc *m, MalBlkPtr mb, int pr
if (i && isTable(i->t)) {
size = SQLgetIdxSize(tr, i, access);
- if( !prepare && size == 0 && !
i->t->system){
+ if (!prepare && size == 0)
setFunctionId(p,
emptybindidxRef);
- }
}
}
}
diff --git
a/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.test
b/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.test
---
a/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.test
+++
b/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.test
@@ -8,21 +8,19 @@ query T python .explain.function_histogr
explain select name,func from functions where name like '%optimizers%'
----
algebra.likeselect
+1
+algebra.projection
2
bat.pack
5
querylog.define
1
sql.bind
-4
+2
sql.mvc
1
-sql.projectdelta
-2
sql.resultSet
1
-sql.subdelta
-1
sql.tid
1
user.main
@@ -32,21 +30,19 @@ query T python .explain.function_histogr
explain select name,func from functions where name not like '%optimizers%'
----
algebra.likeselect
+1
+algebra.projection
2
bat.pack
5
querylog.define
1
sql.bind
-4
+2
sql.mvc
1
-sql.projectdelta
-2
sql.resultSet
1
-sql.subdelta
-1
sql.tid
1
user.main
@@ -56,21 +52,19 @@ query T python .explain.function_histogr
explain select name,func from functions where name ilike '%optimizers%'
----
algebra.likeselect
+1
+algebra.projection
2
bat.pack
5
querylog.define
1
sql.bind
-4
+2
sql.mvc
1
-sql.projectdelta
-2
sql.resultSet
1
-sql.subdelta
-1
sql.tid
1
user.main
@@ -80,21 +74,19 @@ query T python .explain.function_histogr
explain select name,func from functions where name not ilike '%optimizers%'
----
algebra.likeselect
+1
+algebra.projection
2
bat.pack
5
querylog.define
1
sql.bind
-4
+2
sql.mvc
1
-sql.projectdelta
-2
sql.resultSet
1
-sql.subdelta
-1
sql.tid
1
user.main
@@ -132,21 +124,19 @@ query T python .explain.function_histogr
explain select name,func from functions where mycontains(name, 'optimizers')
----
algebra.likeselect
+1
+algebra.projection
2
bat.pack
5
querylog.define
1
sql.bind
-4
+2
sql.mvc
1
-sql.projectdelta
-2
sql.resultSet
1
-sql.subdelta
-1
sql.tid
1
user.main
@@ -156,21 +146,19 @@ query T python .explain.function_histogr
explain select name,func from functions where not_mycontains(name,
'optimizers')
----
algebra.likeselect
+1
+algebra.projection
2
bat.pack
5
querylog.define
1
sql.bind
-4
+2
sql.mvc
1
-sql.projectdelta
-2
sql.resultSet
1
-sql.subdelta
-1
sql.tid
1
user.main
@@ -180,21 +168,19 @@ query T python .explain.function_histogr
explain select name,func from functions where imycontains(name, 'optimizers')
----
algebra.likeselect
+1
+algebra.projection
2
bat.pack
5
querylog.define
1
sql.bind
-4
+2
sql.mvc
1
-sql.projectdelta
-2
sql.resultSet
1
-sql.subdelta
-1
sql.tid
1
user.main
@@ -204,21 +190,19 @@ query T python .explain.function_histogr
explain select name,func from functions where not_imycontains(name,
'optimizers')
----
algebra.likeselect
+1
+algebra.projection
2
bat.pack
5
querylog.define
1
sql.bind
-4
+2
sql.mvc
1
-sql.projectdelta
-2
sql.resultSet
1
-sql.subdelta
-1
sql.tid
1
user.main
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]