Skip to content

Commit fd2a4ff

Browse files
committed
WIP
1 parent 8e8a3af commit fd2a4ff

File tree

1 file changed

+32
-28
lines changed

1 file changed

+32
-28
lines changed

c/tskit/tables.c

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ cast_offset_array(read_table_ragged_col_t *col, uint32_t *source, tsk_size_t num
160160
for (j = 0; j < len; j++) {
161161
dest[j] = source[j];
162162
}
163+
tsk_safe_free(source);
163164
out:
164165
return ret;
165166
}
@@ -328,18 +329,19 @@ read_table(kastore_t *store, tsk_size_t *num_rows, read_table_col_t *cols,
328329
return ret;
329330
}
330331

331-
static void
332-
free_read_table_mem(read_table_col_t *TSK_UNUSED(cols),
333-
read_table_ragged_col_t *ragged_cols, read_table_property_t *TSK_UNUSED(properties))
334-
{
335-
read_table_ragged_col_t *ragged_col;
332+
// static void
333+
// free_read_table_mem(read_table_col_t *TSK_UNUSED(cols),
334+
// read_table_ragged_col_t *ragged_cols, read_table_property_t
335+
// *TSK_UNUSED(properties))
336+
// {
337+
// read_table_ragged_col_t *ragged_col;
336338

337-
if (ragged_cols != NULL) {
338-
for (ragged_col = ragged_cols; ragged_col->name != NULL; ragged_col++) {
339-
tsk_safe_free(ragged_col->offset_array_mem);
340-
}
341-
}
342-
}
339+
// if (ragged_cols != NULL) {
340+
// for (ragged_col = ragged_cols; ragged_col->name != NULL; ragged_col++) {
341+
// tsk_safe_free(ragged_col->offset_array_mem);
342+
// }
343+
// }
344+
// }
343345

344346
static int
345347
write_offset_col(
@@ -1681,7 +1683,7 @@ tsk_individual_table_load(tsk_individual_table_t *self, kastore_t *store)
16811683
if (ret != 0) {
16821684
goto out;
16831685
}
1684-
ret = tsk_individual_table_set_columns(self, num_rows, flags, location,
1686+
ret = tsk_individual_table_takeset_columns(self, num_rows, flags, location,
16851687
location_offset, parents, parents_offset, metadata, metadata_offset);
16861688
if (ret != 0) {
16871689
goto out;
@@ -1694,7 +1696,7 @@ tsk_individual_table_load(tsk_individual_table_t *self, kastore_t *store)
16941696
}
16951697
}
16961698
out:
1697-
free_read_table_mem(cols, ragged_cols, properties);
1699+
// free_read_table_mem(cols, ragged_cols, properties);
16981700
return ret;
16991701
}
17001702

@@ -2317,7 +2319,7 @@ tsk_node_table_load(tsk_node_table_t *self, kastore_t *store)
23172319
if (ret != 0) {
23182320
goto out;
23192321
}
2320-
ret = tsk_node_table_set_columns(
2322+
ret = tsk_node_table_takeset_columns(
23212323
self, num_rows, flags, time, population, individual, metadata, metadata_offset);
23222324
if (ret != 0) {
23232325
goto out;
@@ -2330,7 +2332,7 @@ tsk_node_table_load(tsk_node_table_t *self, kastore_t *store)
23302332
}
23312333
}
23322334
out:
2333-
free_read_table_mem(cols, ragged_cols, properties);
2335+
// free_read_table_mem(cols, ragged_cols, properties);
23342336
return ret;
23352337
}
23362338

@@ -2990,7 +2992,7 @@ tsk_edge_table_load(tsk_edge_table_t *self, kastore_t *store)
29902992
if (ret != 0) {
29912993
goto out;
29922994
}
2993-
ret = tsk_edge_table_set_columns(
2995+
ret = tsk_edge_table_takeset_columns(
29942996
self, num_rows, left, right, parent, child, metadata, metadata_offset);
29952997
if (ret != 0) {
29962998
goto out;
@@ -3003,7 +3005,7 @@ tsk_edge_table_load(tsk_edge_table_t *self, kastore_t *store)
30033005
}
30043006
}
30053007
out:
3006-
free_read_table_mem(cols, ragged_cols, properties);
3008+
// free_read_table_mem(cols, ragged_cols, properties);
30073009
return ret;
30083010
}
30093011

@@ -3702,7 +3704,7 @@ tsk_site_table_load(tsk_site_table_t *self, kastore_t *store)
37023704
if (ret != 0) {
37033705
goto out;
37043706
}
3705-
ret = tsk_site_table_set_columns(self, num_rows, position, ancestral_state,
3707+
ret = tsk_site_table_takeset_columns(self, num_rows, position, ancestral_state,
37063708
ancestral_state_offset, metadata, metadata_offset);
37073709
if (ret != 0) {
37083710
goto out;
@@ -3715,7 +3717,7 @@ tsk_site_table_load(tsk_site_table_t *self, kastore_t *store)
37153717
}
37163718
}
37173719
out:
3718-
free_read_table_mem(cols, ragged_cols, properties);
3720+
// free_read_table_mem(cols, ragged_cols, properties);
37193721
return ret;
37203722
}
37213723

@@ -4450,7 +4452,7 @@ tsk_mutation_table_load(tsk_mutation_table_t *self, kastore_t *store)
44504452
if (ret != 0) {
44514453
goto out;
44524454
}
4453-
ret = tsk_mutation_table_set_columns(self, num_rows, site, node, parent, time,
4455+
ret = tsk_mutation_table_takeset_columns(self, num_rows, site, node, parent, time,
44544456
derived_state, derived_state_offset, metadata, metadata_offset);
44554457
if (ret != 0) {
44564458
goto out;
@@ -4463,7 +4465,7 @@ tsk_mutation_table_load(tsk_mutation_table_t *self, kastore_t *store)
44634465
}
44644466
}
44654467
out:
4466-
free_read_table_mem(cols, ragged_cols, properties);
4468+
// free_read_table_mem(cols, ragged_cols, properties);
44674469
return ret;
44684470
}
44694471

@@ -5085,7 +5087,7 @@ tsk_migration_table_load(tsk_migration_table_t *self, kastore_t *store)
50855087
if (ret != 0) {
50865088
goto out;
50875089
}
5088-
ret = tsk_migration_table_set_columns(self, num_rows, left, right, node, source,
5090+
ret = tsk_migration_table_takeset_columns(self, num_rows, left, right, node, source,
50895091
dest, time, metadata, metadata_offset);
50905092
if (ret != 0) {
50915093
goto out;
@@ -5098,7 +5100,7 @@ tsk_migration_table_load(tsk_migration_table_t *self, kastore_t *store)
50985100
}
50995101
}
51005102
out:
5101-
free_read_table_mem(cols, ragged_cols, properties);
5103+
// free_read_table_mem(cols, ragged_cols, properties);
51025104
return ret;
51035105
}
51045106

@@ -5623,7 +5625,8 @@ tsk_population_table_load(tsk_population_table_t *self, kastore_t *store)
56235625
if (ret != 0) {
56245626
goto out;
56255627
}
5626-
ret = tsk_population_table_set_columns(self, num_rows, metadata, metadata_offset);
5628+
ret = tsk_population_table_takeset_columns(
5629+
self, num_rows, metadata, metadata_offset);
56275630
if (ret != 0) {
56285631
goto out;
56295632
}
@@ -5635,7 +5638,7 @@ tsk_population_table_load(tsk_population_table_t *self, kastore_t *store)
56355638
}
56365639
}
56375640
out:
5638-
free_read_table_mem(NULL, ragged_cols, properties);
5641+
// free_read_table_mem(NULL, ragged_cols, properties);
56395642
return ret;
56405643
}
56415644

@@ -6226,13 +6229,13 @@ tsk_provenance_table_load(tsk_provenance_table_t *self, kastore_t *store)
62266229
if (ret != 0) {
62276230
goto out;
62286231
}
6229-
ret = tsk_provenance_table_set_columns(
6232+
ret = tsk_provenance_table_takeset_columns(
62306233
self, num_rows, timestamp, timestamp_offset, record, record_offset);
62316234
if (ret != 0) {
62326235
goto out;
62336236
}
62346237
out:
6235-
free_read_table_mem(NULL, ragged_cols, NULL);
6238+
// free_read_table_mem(NULL, ragged_cols, NULL);
62366239
return ret;
62376240
}
62386241

@@ -11042,11 +11045,12 @@ tsk_table_collection_loadf_inited(
1104211045
int ret = 0;
1104311046
kastore_t store;
1104411047

11045-
int kas_flags = KAS_READ_ALL;
11048+
int kas_flags = KAS_READ_ALL | KAS_GET_TAKES_OWNERSHIP;
1104611049
if ((options & TSK_LOAD_SKIP_TABLES)
1104711050
|| (options & TSK_LOAD_SKIP_REFERENCE_SEQUENCE)) {
1104811051
kas_flags = 0;
1104911052
}
11053+
printf("WTF");
1105011054
ret = kastore_openf(&store, file, "r", kas_flags);
1105111055

1105211056
if (ret != 0) {

0 commit comments

Comments
 (0)