Changeset: c08da2c5a1b8 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c08da2c5a1b8
Modified Files:
sql/server/rel_optimizer.c
Branch: DVframework
Log Message:
pmv: catch the pkeys of a table only if it is a pmv.
diffs (40 lines):
diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -79,6 +79,7 @@ str get_non_pkey_select_str(str schema_n
void prepare_pmv(mvc* sql, sql_rel* ret);
bit is_pmv_query(sql_rel *rel);
void clean_up_temps(mvc* sql);
+bit is_pmv(sql_table* t);
list *discovered_table_pkeys;
@@ -681,6 +682,17 @@ list* extract_column_names_from_list_of_
return list_of_str;
}
+/* TODO: need a better measure to recognize pmv.
+ */
+bit is_pmv(sql_table* t)
+{
+ if(strcmp(t->base.name, "windowmetadata") == 0)
+ return TRUE;
+ else return FALSE;
+}
+
+
+
list* collect_PERPAD(mvc *sql, sql_rel *rel)
{
@@ -768,9 +780,8 @@ list* collect_PERPAD(mvc *sql, sql_rel *
if(find_prop(el->p,
PROP_HASHCOL))
{
sql_ukey *su =
(sql_ukey*) ((prop*)el->p)->value;
-
if(!is_table_in_list_table_pkeys(discovered_table_pkeys, c->t))
+ if(is_pmv(c->t) &&
!is_table_in_list_table_pkeys(discovered_table_pkeys, c->t))
{
- // TODO: add
the table only if it is a partially materialized view
table_pkeys *tp
= (table_pkeys*) GDKmalloc(sizeof(table_pkeys));
tp->table_name
= GDKstrdup(c->t->base.name);
tp->pkey_column_names =
extract_column_names_from_list_of_columns(su->k.columns);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list