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
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to