Skip to content

Commit f057c52

Browse files
authored
Fix object_type return value (#2073)
Fixes https://app.shortcut.com/tiledb-inc/story/55930
1 parent 5848c27 commit f057c52

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

tiledb/core.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1781,14 +1781,14 @@ void init_core(py::module &m) {
17811781
m.def("datatype_size", &tiledb_datatype_size);
17821782
m.def("as_built_dump", &as_built_dump);
17831783
m.def("object_type",
1784-
[](const std::string &uri, const Context &ctx) -> py::str {
1784+
[](const std::string &uri, const Context &ctx) -> py::object {
17851785
tiledb_object_t res;
17861786
ctx.handle_error(
17871787
tiledb_object_type(ctx.ptr().get(), uri.c_str(), &res));
17881788
if (res == TILEDB_ARRAY) {
1789-
return std::string("array");
1789+
return py::str("array");
17901790
} else if (res == TILEDB_GROUP) {
1791-
return std::string("group");
1791+
return py::str("group");
17921792
}
17931793
return py::none();
17941794
});

tiledb/tests/test_util.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,3 +165,18 @@ def create_array(array_name, sparse):
165165
with self.assertRaises(tiledb.TileDBError) as excinfo:
166166
tiledb.ls(dense_arrays_uri, lambda x, y: 1 / 0)
167167
assert "ZeroDivisionError: division by zero" in str(excinfo.value)
168+
169+
def test_object_type(self):
170+
uri = self.path("test_object_type")
171+
172+
# None case
173+
self.assertIsNone(tiledb.object_type(uri))
174+
175+
# Array case
176+
with tiledb.from_numpy(uri, np.arange(0, 5)) as T:
177+
self.assertEqual(tiledb.object_type(uri), "array")
178+
tiledb.Array.delete_array(uri)
179+
180+
# Group case
181+
tiledb.group_create(uri)
182+
self.assertEqual(tiledb.object_type(uri), "group")

0 commit comments

Comments
 (0)