Changeset: 0a09947500c8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0a09947500c8 Modified Files: sql/server/sql_mvc.c sql/server/sql_partition.c sql/storage/store.c Branch: merge-partitions Log Message:
Missing initializations diffs (71 lines): diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c --- a/sql/server/sql_mvc.c +++ b/sql/server/sql_mvc.c @@ -292,7 +292,7 @@ mvc_init(int debug, store_type store, in if(ss->tables.set) { for (node *nn = ss->tables.set->h; nn; nn = nn->next) { sql_table *tt = (sql_table*) nn->data; - if(isPartitionedByExpressionTable(tt)) { + if(isRangePartitionTable(tt) || isPartitionedByExpressionTable(tt)) { char *err; if((err = initialize_sql_parts(m, tt)) != NULL) { fprintf(stderr, "!mvc_init: unable to start partitioned table: %s.%s: %s\n", diff --git a/sql/server/sql_partition.c b/sql/server/sql_partition.c --- a/sql/server/sql_partition.c +++ b/sql/server/sql_partition.c @@ -237,7 +237,7 @@ initialize_sql_parts(mvc* sql, sql_table sql_subtype found; int localtype; - if((res = bootstrap_partition_expression(sql, mt, 0)) != NULL) + if(isPartitionedByExpressionTable(mt) && (res = bootstrap_partition_expression(sql, mt, 0)) != NULL) return res; find_partition_type(&found, mt); localtype = found.type->localtype; @@ -340,6 +340,7 @@ initialize_sql_parts(mvc* sql, sql_table SQLSTATE(42000) "Internal error while bootstrapping partitioned tables"); goto finish; } + pt->s->base.wtime = pt->base.wtime = sql->session->tr->wtime = sql->session->tr->wstime; sql_trans_create_dependency(sql->session->tr, pt->base.id, mt->base.id, TABLE_DEPENDENCY); } mt->s->base.wtime = mt->base.wtime = sql->session->tr->wtime = sql->session->tr->wstime; diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -4668,7 +4668,7 @@ sql_trans_add_table(sql_trans *tr, sql_t p->t = pt; base_init(tr->sa, &p->base, pt->base.id, TR_NEW, pt->base.name); cs_add(&mt->members, p, TR_NEW); - mt->s->base.wtime = mt->base.wtime = tr->wtime = tr->wstime; + mt->s->base.wtime = mt->base.wtime = pt->s->base.wtime = pt->base.wtime = tr->wtime = tr->wstime; table_funcs.table_insert(tr, sysobj, &mt->base.id, p->base.name, &p->base.id); return mt; } @@ -4768,7 +4768,7 @@ sql_trans_add_range_partition(sql_trans /* add merge table dependency */ sql_trans_create_dependency(tr, pt->base.id, mt->base.id, TABLE_DEPENDENCY); table_funcs.table_insert(tr, sysobj, &mt->base.id, p->base.name, &p->base.id); - mt->s->base.wtime = mt->base.wtime = tr->wtime = tr->wstime; + mt->s->base.wtime = mt->base.wtime = pt->s->base.wtime = pt->base.wtime = tr->wtime = tr->wstime; rid = table_funcs.column_find_row(tr, find_sql_column(partitions, "table_id"), &mt->base.id, NULL); assert(!is_oid_nil(rid)); @@ -4869,7 +4869,7 @@ sql_trans_add_value_partition(sql_trans /* add merge table dependency */ sql_trans_create_dependency(tr, pt->base.id, mt->base.id, TABLE_DEPENDENCY); table_funcs.table_insert(tr, sysobj, &mt->base.id, p->base.name, &p->base.id); - mt->s->base.wtime = mt->base.wtime = tr->wtime = tr->wstime; + mt->s->base.wtime = mt->base.wtime = pt->s->base.wtime = pt->base.wtime = tr->wtime = tr->wstime; return 0; } @@ -4907,7 +4907,7 @@ sql_trans_del_table(sql_trans *tr, sql_t cs_del(&mt->members, n, pt->base.flag); pt->p = NULL; table_funcs.table_delete(tr, sysobj, obj_oid); - mt->s->base.wtime = mt->base.wtime = tr->wtime = tr->wstime; + mt->s->base.wtime = mt->base.wtime = pt->s->base.wtime = pt->base.wtime = tr->wtime = tr->wstime; if (drop_action == DROP_CASCADE) sql_trans_drop_table(tr, mt->s, pt->base.id, drop_action); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list