| 94 | } |
| 95 | |
| 96 | void write_array_1d_partial( |
| 97 | const std::string& array_name, bool nullable_attributes = false) { |
| 98 | Context ctx; |
| 99 | |
| 100 | std::vector<int32_t> a1 = {3, 4}; |
| 101 | std::vector<uint8_t> a1_validity = {1, 0}; |
| 102 | std::vector<char> a2_val = {'3', '3', '4', '4', '4'}; |
| 103 | std::vector<uint64_t> a2_off = {0, 2}; |
| 104 | std::vector<uint8_t> a2_validity = {1, 0}; |
| 105 | std::vector<double> a3 = {3.1, 3.2, 4.1, 4.2}; |
| 106 | std::vector<uint8_t> a3_validity = {0, 1}; |
| 107 | |
| 108 | Array array(ctx, array_name, TILEDB_WRITE); |
| 109 | Query query(ctx, array, TILEDB_WRITE); |
| 110 | if (!nullable_attributes) { |
| 111 | CHECK_NOTHROW(query.set_data_buffer("a1", a1)); |
| 112 | CHECK_NOTHROW(query.set_data_buffer("a2", a2_val)); |
| 113 | CHECK_NOTHROW(query.set_offsets_buffer("a2", a2_off)); |
| 114 | CHECK_NOTHROW(query.set_data_buffer("a3", a3)); |
| 115 | } else { |
| 116 | CHECK_NOTHROW(query.set_data_buffer("a1", a1)); |
| 117 | CHECK_NOTHROW(query.set_validity_buffer("a1", a1_validity)); |
| 118 | CHECK_NOTHROW(query.set_data_buffer("a2", a2_val)); |
| 119 | CHECK_NOTHROW(query.set_offsets_buffer("a2", a2_off)); |
| 120 | CHECK_NOTHROW(query.set_validity_buffer("a2", a2_validity)); |
| 121 | CHECK_NOTHROW(query.set_data_buffer("a3", a3)); |
| 122 | CHECK_NOTHROW(query.set_validity_buffer("a3", a3_validity)); |
| 123 | } |
| 124 | CHECK_NOTHROW( |
| 125 | query.set_subarray(Subarray(ctx, array).set_subarray<int32_t>({3, 4}))); |
| 126 | CHECK_NOTHROW(query.set_layout(TILEDB_ROW_MAJOR)); |
| 127 | REQUIRE(query.submit() == Query::Status::COMPLETE); |
| 128 | array.close(); |
| 129 | } |
| 130 | |
| 131 | void read_array_1d_partial( |
| 132 | const std::string& array_name, |
no test coverage detected