@@ -182,8 +182,8 @@ def _get_column_infos(df, column_types, varlen_types):
182
182
183
183
def _get_schema_filters (filters ):
184
184
if filters is True :
185
- # default case, unspecified: use libtiledb defaults
186
- return None
185
+ # default case, use ZstdFilter
186
+ return tiledb . FilterList ([ tiledb . ZstdFilter ()])
187
187
elif filters is None :
188
188
# empty filter list (schema uses zstd by default if unspecified)
189
189
return tiledb .FilterList ()
@@ -212,7 +212,7 @@ def _get_attrs(names, column_infos, attr_filters):
212
212
attrs .append (
213
213
tiledb .Attr (
214
214
name = name ,
215
- filters = filters or [ tiledb . ZstdFilter ()] ,
215
+ filters = filters ,
216
216
dtype = column_info .dtype ,
217
217
nullable = column_info .nullable ,
218
218
var = column_info .var ,
@@ -269,7 +269,7 @@ def dim_for_column(name, values, dtype, tile, full_domain=False, dim_filters=Non
269
269
# nb.bytes_ which will force encoding on write
270
270
dtype = np .bytes_ if dtype == np .str_ else dtype ,
271
271
tile = tile ,
272
- filters = dim_filters or [ tiledb . ZstdFilter ()] ,
272
+ filters = dim_filters ,
273
273
)
274
274
275
275
@@ -345,7 +345,7 @@ def get_dim_tile(name):
345
345
dtype ,
346
346
tile = get_dim_tile (name ),
347
347
full_domain = full_domain ,
348
- dim_filters = _get_attr_dim_filters (name , filters ) or [ tiledb . ZstdFilter ()] ,
348
+ dim_filters = _get_attr_dim_filters (name , filters ),
349
349
)
350
350
for name , dtype , values in name_dtype_values
351
351
]
@@ -539,13 +539,16 @@ def _create_array(uri, df, sparse, full_domain, index_dims, column_infos, tiledb
539
539
# create the ArraySchema
540
540
with warnings .catch_warnings () as w :
541
541
warnings .simplefilter ("always" )
542
+ coord_filter = tiledb_args .get ("coords_filters" , True )
542
543
schema = tiledb .ArraySchema (
543
544
sparse = sparse ,
544
545
domain = tiledb .Domain (* dims ),
545
546
attrs = attrs ,
546
547
cell_order = tiledb_args ["cell_order" ],
547
548
tile_order = tiledb_args ["tile_order" ],
548
- coords_filters = _get_schema_filters (tiledb_args .get ("coords_filters" , True )),
549
+ coords_filters = None
550
+ if coord_filter is True
551
+ else _get_schema_filters (coord_filter ),
549
552
offsets_filters = _get_schema_filters (
550
553
tiledb_args .get ("offsets_filters" , True )
551
554
),
0 commit comments