| 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. |
nothing calls this directly
no test coverage detected