diff --git a/src/chunk.c b/src/chunk.c index de72df711..ccb1908dc 100644 --- a/src/chunk.c +++ b/src/chunk.c @@ -51,10 +51,10 @@ chunk_insert_relation(Relation rel, Chunk *chunk) CatalogSecurityContext sec_ctx; memset(values, 0, sizeof(values)); - values[Anum_chunk_id - 1] = Int32GetDatum(chunk->fd.id); - values[Anum_chunk_hypertable_id - 1] = Int32GetDatum(chunk->fd.hypertable_id); - values[Anum_chunk_schema_name - 1] = NameGetDatum(&chunk->fd.schema_name); - values[Anum_chunk_table_name - 1] = NameGetDatum(&chunk->fd.table_name); + values[AttrNumberGetAttrOffset(Anum_chunk_id)] = Int32GetDatum(chunk->fd.id); + values[AttrNumberGetAttrOffset(Anum_chunk_hypertable_id)] = Int32GetDatum(chunk->fd.hypertable_id); + values[AttrNumberGetAttrOffset(Anum_chunk_schema_name)] = NameGetDatum(&chunk->fd.schema_name); + values[AttrNumberGetAttrOffset(Anum_chunk_table_name)] = NameGetDatum(&chunk->fd.table_name); catalog_become_owner(catalog_get(), &sec_ctx); catalog_insert_values(rel, desc, values, nulls); diff --git a/src/chunk_constraint.c b/src/chunk_constraint.c index d9ce7abd5..fa84e8b46 100644 --- a/src/chunk_constraint.c +++ b/src/chunk_constraint.c @@ -148,16 +148,16 @@ chunk_constraint_fill_tuple_values(ChunkConstraint *cc, bool nulls[Natts_chunk_constraint]) { memset(values, 0, sizeof(Datum) * Natts_chunk_constraint); - values[Anum_chunk_constraint_chunk_id - 1] = Int32GetDatum(cc->fd.chunk_id); - values[Anum_chunk_constraint_dimension_slice_id - 1] = Int32GetDatum(cc->fd.dimension_slice_id); - values[Anum_chunk_constraint_constraint_name - 1] = NameGetDatum(&cc->fd.constraint_name); - values[Anum_chunk_constraint_hypertable_constraint_name - 1] = + values[AttrNumberGetAttrOffset(Anum_chunk_constraint_chunk_id)] = Int32GetDatum(cc->fd.chunk_id); + values[AttrNumberGetAttrOffset(Anum_chunk_constraint_dimension_slice_id)] = Int32GetDatum(cc->fd.dimension_slice_id); + values[AttrNumberGetAttrOffset(Anum_chunk_constraint_constraint_name)] = NameGetDatum(&cc->fd.constraint_name); + values[AttrNumberGetAttrOffset(Anum_chunk_constraint_hypertable_constraint_name)] = NameGetDatum(&cc->fd.hypertable_constraint_name); if (is_dimension_constraint(cc)) - nulls[Anum_chunk_constraint_hypertable_constraint_name - 1] = true; + nulls[AttrNumberGetAttrOffset(Anum_chunk_constraint_hypertable_constraint_name)] = true; else - nulls[Anum_chunk_constraint_dimension_slice_id - 1] = true; + nulls[AttrNumberGetAttrOffset(Anum_chunk_constraint_dimension_slice_id)] = true; } static void @@ -223,21 +223,21 @@ chunk_constraints_add_from_tuple(ChunkConstraints *ccs, TupleInfo *ti) heap_deform_tuple(ti->tuple, ti->desc, values, nulls); - constraint_name = DatumGetName(values[Anum_chunk_constraint_constraint_name - 1]); + constraint_name = DatumGetName(values[AttrNumberGetAttrOffset(Anum_chunk_constraint_constraint_name)]); - if (nulls[Anum_chunk_constraint_dimension_slice_id - 1]) + if (nulls[AttrNumberGetAttrOffset(Anum_chunk_constraint_dimension_slice_id)]) { dimension_slice_id = 0; - hypertable_constraint_name = DatumGetName(values[Anum_chunk_constraint_hypertable_constraint_name - 1]); + hypertable_constraint_name = DatumGetName(values[AttrNumberGetAttrOffset(Anum_chunk_constraint_hypertable_constraint_name)]); } else { - dimension_slice_id = DatumGetInt32(values[Anum_chunk_constraint_dimension_slice_id - 1]); + dimension_slice_id = DatumGetInt32(values[AttrNumberGetAttrOffset(Anum_chunk_constraint_dimension_slice_id)]); hypertable_constraint_name = DatumGetName(DirectFunctionCall1(namein, CStringGetDatum(""))); } return chunk_constraints_add(ccs, - DatumGetInt32(values[Anum_chunk_constraint_chunk_id - 1]), + DatumGetInt32(values[AttrNumberGetAttrOffset(Anum_chunk_constraint_chunk_id)]), dimension_slice_id, NameStr(*constraint_name), NameStr(*hypertable_constraint_name)); @@ -733,10 +733,10 @@ hypertable_constraint_tuple_filter(TupleInfo *ti, void *data) heap_deform_tuple(ti->tuple, ti->desc, values, nulls); - if (nulls[Anum_chunk_constraint_hypertable_constraint_name - 1]) + if (nulls[AttrNumberGetAttrOffset(Anum_chunk_constraint_hypertable_constraint_name)]) return false; - constrname = NameStr(*DatumGetName(values[Anum_chunk_constraint_hypertable_constraint_name - 1])); + constrname = NameStr(*DatumGetName(values[AttrNumberGetAttrOffset(Anum_chunk_constraint_hypertable_constraint_name)])); return NULL != info->hypertable_constraint_name && strcmp(info->hypertable_constraint_name, constrname) == 0; @@ -868,7 +868,7 @@ chunk_constraint_rename_hypertable_tuple(TupleInfo *ti, void *data) heap_deform_tuple(ti->tuple, ti->desc, values, nulls); - chunk_id = DatumGetInt32(values[Anum_chunk_constraint_chunk_id - 1]); + chunk_id = DatumGetInt32(values[AttrNumberGetAttrOffset(Anum_chunk_constraint_chunk_id)]); namestrcpy(&new_hypertable_constraint_name, info->newname); chunk_constraint_choose_name(&new_chunk_constraint_name, false, @@ -876,11 +876,11 @@ chunk_constraint_rename_hypertable_tuple(TupleInfo *ti, void *data) info->newname, chunk_id); - values[Anum_chunk_constraint_hypertable_constraint_name - 1] = NameGetDatum(&new_hypertable_constraint_name); - repl[Anum_chunk_constraint_hypertable_constraint_name - 1] = true; - old_chunk_constraint_name = DatumGetName(values[Anum_chunk_constraint_constraint_name - 1]); - values[Anum_chunk_constraint_constraint_name - 1] = NameGetDatum(&new_chunk_constraint_name); - repl[Anum_chunk_constraint_constraint_name - 1] = true; + values[AttrNumberGetAttrOffset(Anum_chunk_constraint_hypertable_constraint_name)] = NameGetDatum(&new_hypertable_constraint_name); + repl[AttrNumberGetAttrOffset(Anum_chunk_constraint_hypertable_constraint_name)] = true; + old_chunk_constraint_name = DatumGetName(values[AttrNumberGetAttrOffset(Anum_chunk_constraint_constraint_name)]); + values[AttrNumberGetAttrOffset(Anum_chunk_constraint_constraint_name)] = NameGetDatum(&new_chunk_constraint_name); + repl[AttrNumberGetAttrOffset(Anum_chunk_constraint_constraint_name)] = true; chunk_constraint_rename_on_chunk_table(chunk_id, NameStr(*old_chunk_constraint_name), @@ -921,7 +921,7 @@ chunk_constraint_get_name_from_hypertable_tuple(TupleInfo *ti, void *data) heap_deform_tuple(ti->tuple, ti->desc, values, nulls); - info->chunk_constraint_name = DatumGetName(values[Anum_chunk_constraint_constraint_name - 1]); + info->chunk_constraint_name = DatumGetName(values[AttrNumberGetAttrOffset(Anum_chunk_constraint_constraint_name)]); return false; } diff --git a/src/chunk_index.c b/src/chunk_index.c index 59e966469..6911078a8 100644 --- a/src/chunk_index.c +++ b/src/chunk_index.c @@ -318,11 +318,11 @@ chunk_index_insert_relation(Relation rel, bool nulls[Natts_chunk_index] = {false}; CatalogSecurityContext sec_ctx; - values[Anum_chunk_index_chunk_id - 1] = Int32GetDatum(chunk_id); - values[Anum_chunk_index_index_name - 1] = + values[AttrNumberGetAttrOffset(Anum_chunk_index_chunk_id)] = Int32GetDatum(chunk_id); + values[AttrNumberGetAttrOffset(Anum_chunk_index_index_name)] = DirectFunctionCall1(namein, CStringGetDatum(chunk_index)); - values[Anum_chunk_index_hypertable_id - 1] = Int32GetDatum(hypertable_id); - values[Anum_chunk_index_hypertable_index_name - 1] = + values[AttrNumberGetAttrOffset(Anum_chunk_index_hypertable_id)] = Int32GetDatum(hypertable_id); + values[AttrNumberGetAttrOffset(Anum_chunk_index_hypertable_index_name)] = DirectFunctionCall1(namein, CStringGetDatum(parent_index)); catalog_become_owner(catalog_get(), &sec_ctx); diff --git a/src/dimension.c b/src/dimension.c index 4c80a373e..74386d4f7 100644 --- a/src/dimension.c +++ b/src/dimension.c @@ -122,24 +122,24 @@ dimension_fill_in_from_tuple(Dimension *d, TupleInfo *ti, Oid main_table_relid) heap_deform_tuple(ti->tuple, ti->desc, values, isnull); d->type = dimension_type(ti->tuple); - d->fd.id = DatumGetInt32(values[Anum_dimension_id - 1]); - d->fd.hypertable_id = DatumGetInt32(values[Anum_dimension_hypertable_id - 1]); - d->fd.aligned = DatumGetBool(values[Anum_dimension_aligned - 1]); - d->fd.column_type = DatumGetObjectId(values[Anum_dimension_column_type - 1]); + d->fd.id = DatumGetInt32(values[AttrNumberGetAttrOffset(Anum_dimension_id)]); + d->fd.hypertable_id = DatumGetInt32(values[AttrNumberGetAttrOffset(Anum_dimension_hypertable_id)]); + d->fd.aligned = DatumGetBool(values[AttrNumberGetAttrOffset(Anum_dimension_aligned)]); + d->fd.column_type = DatumGetObjectId(values[AttrNumberGetAttrOffset(Anum_dimension_column_type)]); memcpy(&d->fd.column_name, - DatumGetName(values[Anum_dimension_column_name - 1]), + DatumGetName(values[AttrNumberGetAttrOffset(Anum_dimension_column_name)]), NAMEDATALEN); if (d->type == DIMENSION_TYPE_CLOSED) { MemoryContext old; - d->fd.num_slices = DatumGetInt16(values[Anum_dimension_num_slices - 1]); + d->fd.num_slices = DatumGetInt16(values[AttrNumberGetAttrOffset(Anum_dimension_num_slices)]); memcpy(&d->fd.partitioning_func_schema, - DatumGetName(values[Anum_dimension_partitioning_func_schema - 1]), + DatumGetName(values[AttrNumberGetAttrOffset(Anum_dimension_partitioning_func_schema)]), NAMEDATALEN); memcpy(&d->fd.partitioning_func, - DatumGetName(values[Anum_dimension_partitioning_func - 1]), + DatumGetName(values[AttrNumberGetAttrOffset(Anum_dimension_partitioning_func)]), NAMEDATALEN); old = MemoryContextSwitchTo(ti->mctx); @@ -150,7 +150,7 @@ dimension_fill_in_from_tuple(Dimension *d, TupleInfo *ti, Oid main_table_relid) MemoryContextSwitchTo(old); } else - d->fd.interval_length = DatumGetInt64(values[Anum_dimension_interval_length - 1]); + d->fd.interval_length = DatumGetInt64(values[AttrNumberGetAttrOffset(Anum_dimension_interval_length)]); d->column_attno = get_attnum(main_table_relid, NameStr(d->fd.column_name)); } @@ -465,19 +465,19 @@ dimension_tuple_update(TupleInfo *ti, void *data) heap_deform_tuple(ti->tuple, ti->desc, values, nulls); - values[Anum_dimension_column_name - 1] = NameGetDatum(&dim->fd.column_name); - values[Anum_dimension_column_type - 1] = ObjectIdGetDatum(dim->fd.column_type); - values[Anum_dimension_num_slices - 1] = Int16GetDatum(dim->fd.num_slices); + values[AttrNumberGetAttrOffset(Anum_dimension_column_name)] = NameGetDatum(&dim->fd.column_name); + values[AttrNumberGetAttrOffset(Anum_dimension_column_type)] = ObjectIdGetDatum(dim->fd.column_type); + values[AttrNumberGetAttrOffset(Anum_dimension_num_slices)] = Int16GetDatum(dim->fd.num_slices); - if (!nulls[Anum_dimension_partitioning_func - 1] && - !nulls[Anum_dimension_partitioning_func_schema - 1]) + if (!nulls[AttrNumberGetAttrOffset(Anum_dimension_partitioning_func)] && + !nulls[AttrNumberGetAttrOffset(Anum_dimension_partitioning_func_schema)]) { - values[Anum_dimension_partitioning_func - 1] = NameGetDatum(&dim->fd.partitioning_func); - values[Anum_dimension_partitioning_func_schema - 1] = NameGetDatum(&dim->fd.partitioning_func_schema); + values[AttrNumberGetAttrOffset(Anum_dimension_partitioning_func)] = NameGetDatum(&dim->fd.partitioning_func); + values[AttrNumberGetAttrOffset(Anum_dimension_partitioning_func_schema)] = NameGetDatum(&dim->fd.partitioning_func_schema); } - if (!nulls[Anum_dimension_interval_length - 1]) - values[Anum_dimension_interval_length - 1] = Int64GetDatum(dim->fd.interval_length); + if (!nulls[AttrNumberGetAttrOffset(Anum_dimension_interval_length)]) + values[AttrNumberGetAttrOffset(Anum_dimension_interval_length)] = Int64GetDatum(dim->fd.interval_length); tuple = heap_form_tuple(ti->desc, values, nulls); @@ -498,33 +498,33 @@ dimension_insert_relation(Relation rel, int32 hypertable_id, bool nulls[Natts_dimension] = {false}; CatalogSecurityContext sec_ctx; - values[Anum_dimension_hypertable_id - 1] = Int32GetDatum(hypertable_id); - values[Anum_dimension_column_name - 1] = NameGetDatum(colname); - values[Anum_dimension_column_type - 1] = ObjectIdGetDatum(coltype); + values[AttrNumberGetAttrOffset(Anum_dimension_hypertable_id)] = Int32GetDatum(hypertable_id); + values[AttrNumberGetAttrOffset(Anum_dimension_column_name)] = NameGetDatum(colname); + values[AttrNumberGetAttrOffset(Anum_dimension_column_type)] = ObjectIdGetDatum(coltype); if (OidIsValid(partitioning_func)) { Oid pronamespace = get_func_namespace(partitioning_func); - values[Anum_dimension_partitioning_func - 1] = + values[AttrNumberGetAttrOffset(Anum_dimension_partitioning_func)] = DirectFunctionCall1(namein, CStringGetDatum(get_func_name(partitioning_func))); - values[Anum_dimension_partitioning_func_schema - 1] = + values[AttrNumberGetAttrOffset(Anum_dimension_partitioning_func_schema)] = DirectFunctionCall1(namein, CStringGetDatum(get_namespace_name(pronamespace))); - values[Anum_dimension_num_slices - 1] = Int16GetDatum(num_slices); - values[Anum_dimension_aligned - 1] = BoolGetDatum(false); - nulls[Anum_dimension_interval_length - 1] = true; + values[AttrNumberGetAttrOffset(Anum_dimension_num_slices)] = Int16GetDatum(num_slices); + values[AttrNumberGetAttrOffset(Anum_dimension_aligned)] = BoolGetDatum(false); + nulls[AttrNumberGetAttrOffset(Anum_dimension_interval_length)] = true; } else { - values[Anum_dimension_interval_length - 1] = Int64GetDatum(interval_length); - values[Anum_dimension_aligned - 1] = BoolGetDatum(true); - nulls[Anum_dimension_num_slices - 1] = true; - nulls[Anum_dimension_partitioning_func - 1] = true; - nulls[Anum_dimension_partitioning_func_schema - 1] = true; + values[AttrNumberGetAttrOffset(Anum_dimension_interval_length)] = Int64GetDatum(interval_length); + values[AttrNumberGetAttrOffset(Anum_dimension_aligned)] = BoolGetDatum(true); + nulls[AttrNumberGetAttrOffset(Anum_dimension_num_slices)] = true; + nulls[AttrNumberGetAttrOffset(Anum_dimension_partitioning_func)] = true; + nulls[AttrNumberGetAttrOffset(Anum_dimension_partitioning_func_schema)] = true; } catalog_become_owner(catalog_get(), &sec_ctx); - values[Anum_dimension_id - 1] = Int32GetDatum(catalog_table_next_seq_id(catalog_get(), DIMENSION)); + values[AttrNumberGetAttrOffset(Anum_dimension_id)] = Int32GetDatum(catalog_table_next_seq_id(catalog_get(), DIMENSION)); catalog_insert_values(rel, desc, values, nulls); catalog_restore_user(&sec_ctx); } diff --git a/src/dimension_slice.c b/src/dimension_slice.c index ec3feec43..51f165ec8 100644 --- a/src/dimension_slice.c +++ b/src/dimension_slice.c @@ -594,10 +594,10 @@ dimension_slice_insert_relation(Relation rel, DimensionSlice *slice) catalog_become_owner(catalog_get(), &sec_ctx); memset(values, 0, sizeof(values)); slice->fd.id = catalog_table_next_seq_id(catalog_get(), DIMENSION_SLICE); - values[Anum_dimension_slice_id - 1] = Int32GetDatum(slice->fd.id); - values[Anum_dimension_slice_dimension_id - 1] = Int32GetDatum(slice->fd.dimension_id); - values[Anum_dimension_slice_range_start - 1] = Int64GetDatum(slice->fd.range_start); - values[Anum_dimension_slice_range_end - 1] = Int64GetDatum(slice->fd.range_end); + values[AttrNumberGetAttrOffset(Anum_dimension_slice_id)] = Int32GetDatum(slice->fd.id); + values[AttrNumberGetAttrOffset(Anum_dimension_slice_dimension_id)] = Int32GetDatum(slice->fd.dimension_id); + values[AttrNumberGetAttrOffset(Anum_dimension_slice_range_start)] = Int64GetDatum(slice->fd.range_start); + values[AttrNumberGetAttrOffset(Anum_dimension_slice_range_end)] = Int64GetDatum(slice->fd.range_end); catalog_insert_values(rel, desc, values, nulls); catalog_restore_user(&sec_ctx); diff --git a/src/hypertable.c b/src/hypertable.c index 18afc8c61..26d5f5b00 100644 --- a/src/hypertable.c +++ b/src/hypertable.c @@ -213,12 +213,12 @@ hypertable_tuple_update(TupleInfo *ti, void *data) heap_deform_tuple(ti->tuple, ti->desc, values, nulls); - values[Anum_hypertable_schema_name - 1] = NameGetDatum(&ht->fd.schema_name); - values[Anum_hypertable_table_name - 1] = NameGetDatum(&ht->fd.table_name); - values[Anum_hypertable_associated_schema_name - 1] = NameGetDatum(&ht->fd.associated_schema_name); - values[Anum_hypertable_associated_table_prefix - 1] = NameGetDatum(&ht->fd.associated_table_prefix); - values[Anum_hypertable_num_dimensions - 1] = Int16GetDatum(ht->fd.num_dimensions); - values[Anum_hypertable_chunk_target_size - 1] = Int64GetDatum(ht->fd.chunk_target_size); + values[AttrNumberGetAttrOffset(Anum_hypertable_schema_name)] = NameGetDatum(&ht->fd.schema_name); + values[AttrNumberGetAttrOffset(Anum_hypertable_table_name)] = NameGetDatum(&ht->fd.table_name); + values[AttrNumberGetAttrOffset(Anum_hypertable_associated_schema_name)] = NameGetDatum(&ht->fd.associated_schema_name); + values[AttrNumberGetAttrOffset(Anum_hypertable_associated_table_prefix)] = NameGetDatum(&ht->fd.associated_table_prefix); + values[AttrNumberGetAttrOffset(Anum_hypertable_num_dimensions)] = Int16GetDatum(ht->fd.num_dimensions); + values[AttrNumberGetAttrOffset(Anum_hypertable_chunk_target_size)] = Int64GetDatum(ht->fd.chunk_target_size); memset(nulls, 0, sizeof(nulls)); @@ -236,15 +236,15 @@ hypertable_tuple_update(TupleInfo *ti, void *data) namestrcpy(&ht->fd.chunk_sizing_func_schema, NameStr(info.func_schema)); namestrcpy(&ht->fd.chunk_sizing_func_name, NameStr(info.func_name)); - values[Anum_hypertable_chunk_sizing_func_schema - 1] = + values[AttrNumberGetAttrOffset(Anum_hypertable_chunk_sizing_func_schema)] = NameGetDatum(&ht->fd.chunk_sizing_func_schema); - values[Anum_hypertable_chunk_sizing_func_name - 1] = + values[AttrNumberGetAttrOffset(Anum_hypertable_chunk_sizing_func_name)] = NameGetDatum(&ht->fd.chunk_sizing_func_name); } else { - nulls[Anum_hypertable_chunk_sizing_func_schema - 1] = true; - nulls[Anum_hypertable_chunk_sizing_func_name - 1] = true; + nulls[AttrNumberGetAttrOffset(Anum_hypertable_chunk_sizing_func_schema)] = true; + nulls[AttrNumberGetAttrOffset(Anum_hypertable_chunk_sizing_func_name)] = true; } copy = heap_form_tuple(ti->desc, values, nulls); @@ -546,40 +546,40 @@ hypertable_insert_relation(Relation rel, NameData default_associated_table_prefix; CatalogSecurityContext sec_ctx; - values[Anum_hypertable_schema_name - 1] = NameGetDatum(schema_name); - values[Anum_hypertable_table_name - 1] = NameGetDatum(table_name); - values[Anum_hypertable_associated_schema_name - 1] = NameGetDatum(associated_schema_name); - values[Anum_hypertable_num_dimensions - 1] = Int16GetDatum(num_dimensions); + values[AttrNumberGetAttrOffset(Anum_hypertable_schema_name)] = NameGetDatum(schema_name); + values[AttrNumberGetAttrOffset(Anum_hypertable_table_name)] = NameGetDatum(table_name); + values[AttrNumberGetAttrOffset(Anum_hypertable_associated_schema_name)] = NameGetDatum(associated_schema_name); + values[AttrNumberGetAttrOffset(Anum_hypertable_num_dimensions)] = Int16GetDatum(num_dimensions); if (NULL != chunk_sizing_func_schema && NULL != chunk_sizing_func_name) { - values[Anum_hypertable_chunk_sizing_func_schema - 1] = NameGetDatum(chunk_sizing_func_schema); - values[Anum_hypertable_chunk_sizing_func_name - 1] = NameGetDatum(chunk_sizing_func_name); + values[AttrNumberGetAttrOffset(Anum_hypertable_chunk_sizing_func_schema)] = NameGetDatum(chunk_sizing_func_schema); + values[AttrNumberGetAttrOffset(Anum_hypertable_chunk_sizing_func_name)] = NameGetDatum(chunk_sizing_func_name); } else { - nulls[Anum_hypertable_chunk_sizing_func_schema - 1] = true; - nulls[Anum_hypertable_chunk_sizing_func_name - 1] = true; + nulls[AttrNumberGetAttrOffset(Anum_hypertable_chunk_sizing_func_schema)] = true; + nulls[AttrNumberGetAttrOffset(Anum_hypertable_chunk_sizing_func_name)] = true; } if (chunk_target_size < 0) chunk_target_size = 0; - values[Anum_hypertable_chunk_target_size - 1] = Int64GetDatum(chunk_target_size); + values[AttrNumberGetAttrOffset(Anum_hypertable_chunk_target_size)] = Int64GetDatum(chunk_target_size); catalog_become_owner(catalog_get(), &sec_ctx); - values[Anum_hypertable_id - 1] = Int32GetDatum(catalog_table_next_seq_id(catalog_get(), HYPERTABLE)); + values[AttrNumberGetAttrOffset(Anum_hypertable_id)] = Int32GetDatum(catalog_table_next_seq_id(catalog_get(), HYPERTABLE)); if (NULL != associated_table_prefix) - values[Anum_hypertable_associated_table_prefix - 1] = NameGetDatum(associated_table_prefix); + values[AttrNumberGetAttrOffset(Anum_hypertable_associated_table_prefix)] = NameGetDatum(associated_table_prefix); else { memset(NameStr(default_associated_table_prefix), '\0', NAMEDATALEN); snprintf(NameStr(default_associated_table_prefix), NAMEDATALEN, DEFAULT_ASSOCIATED_TABLE_PREFIX_FORMAT, - DatumGetInt32(values[Anum_hypertable_id - 1])); - values[Anum_hypertable_associated_table_prefix - 1] = + DatumGetInt32(values[AttrNumberGetAttrOffset(Anum_hypertable_id)])); + values[AttrNumberGetAttrOffset(Anum_hypertable_associated_table_prefix)] = NameGetDatum(&default_associated_table_prefix); } diff --git a/src/tablespace.c b/src/tablespace.c index 1dc239cba..a43af4151 100644 --- a/src/tablespace.c +++ b/src/tablespace.c @@ -321,9 +321,9 @@ tablespace_insert_relation(Relation rel, int32 hypertable_id, const char *tspcna memset(values, 0, sizeof(values)); id = catalog_table_next_seq_id(catalog_get(), TABLESPACE); - values[Anum_tablespace_id - 1] = Int32GetDatum(id); - values[Anum_tablespace_hypertable_id - 1] = Int32GetDatum(hypertable_id); - values[Anum_tablespace_tablespace_name - 1] = + values[AttrNumberGetAttrOffset(Anum_tablespace_id)] = Int32GetDatum(id); + values[AttrNumberGetAttrOffset(Anum_tablespace_hypertable_id)] = Int32GetDatum(hypertable_id); + values[AttrNumberGetAttrOffset(Anum_tablespace_tablespace_name)] = DirectFunctionCall1(namein, CStringGetDatum(tspcname)); catalog_insert_values(rel, desc, values, nulls);