MCPcopy Create free account
hub / github.com/TileDB-Inc/TileDB / create_array

Method create_array

test/src/unit-tile-metadata.cc:1445–1484  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1443 }
1444
1445 void create_array() {
1446 // Create TileDB context
1447 tiledb_ctx_t* ctx;
1448 tiledb_ctx_alloc(NULL, &ctx);
1449
1450 // The array will be two string dimension "d1" and "d2".
1451 tiledb_dimension_t* d1;
1452 tiledb_dimension_alloc(ctx, "d1", TILEDB_STRING_ASCII, 0, 0, &d1);
1453 tiledb_dimension_t* d2;
1454 tiledb_dimension_alloc(ctx, "d2", TILEDB_STRING_ASCII, 0, 0, &d2);
1455
1456 // Create domain
1457 tiledb_domain_t* domain;
1458 tiledb_domain_alloc(ctx, &domain);
1459 tiledb_domain_add_dimension(ctx, domain, d1);
1460 tiledb_domain_add_dimension(ctx, domain, d2);
1461
1462 // Create a single attribute "a" so each (i,j) cell can store a double
1463 tiledb_attribute_t* a;
1464 tiledb_attribute_alloc(ctx, "a", TILEDB_FLOAT64, &a);
1465
1466 // Create array schema
1467 tiledb_array_schema_t* array_schema;
1468 tiledb_array_schema_alloc(ctx, TILEDB_SPARSE, &array_schema);
1469 tiledb_array_schema_set_cell_order(ctx, array_schema, TILEDB_ROW_MAJOR);
1470 tiledb_array_schema_set_tile_order(ctx, array_schema, TILEDB_ROW_MAJOR);
1471 tiledb_array_schema_set_domain(ctx, array_schema, domain);
1472 tiledb_array_schema_add_attribute(ctx, array_schema, a);
1473
1474 // Create array
1475 tiledb_array_create(ctx, ARRAY_NAME, array_schema);
1476
1477 // Clean up
1478 tiledb_attribute_free(&a);
1479 tiledb_dimension_free(&d1);
1480 tiledb_dimension_free(&d2);
1481 tiledb_domain_free(&domain);
1482 tiledb_array_schema_free(&array_schema);
1483 tiledb_ctx_free(&ctx);
1484 }
1485
1486 void write_fragment() {
1487 // Write to the array.

Callers

nothing calls this directly

Tested by

no test coverage detected