delete_collection, new and legacy

This commit is contained in:
Stefano Lottini committed 2026-09-28 10:30:22 +02:00
1 parent b99c31a397
commit 710f0e6a85
6 files changed
+94 -11

No files matched your search

@@ -40,6 +40,7 @@ public class DataApiOpMapper implements OpMapper<DataApiBaseOp,DataApiSpace> {
// admin ops:
DEPRECATED_OP_TYPES.put(DataApiOpType.create_collection_with_class, DataApiOpType.db_create_collection);
DEPRECATED_OP_TYPES.put(DataApiOpType.create_collection, DataApiOpType.db_create_collection);
DEPRECATED_OP_TYPES.put(DataApiOpType.delete_collection, DataApiOpType.db_delete_collection);
// db-admin ops:
// in-database ops:
// in-collection ops:
@@ -104,7 +105,6 @@ public class DataApiOpMapper implements OpMapper<DataApiBaseOp,DataApiSpace> {
case list_namespaces -> new DataApiListNamespacesOpDispenser(adapter, op, typeAndTarget.targetFunction);
case drop_namespace -> new DataApiDropNamespaceOpDispenser(adapter, op, typeAndTarget.targetFunction);
// in-database ops:
case delete_collection -> new DataApiDropCollectionOpDispenser(adapter, op, typeAndTarget.targetFunction);
case list_collections -> new DataApiListCollectionsOpDispenser(adapter, op, typeAndTarget.targetFunction);
case list_collection_names ->
new DataApiListCollectionNamesOpDispenser(adapter, op, typeAndTarget.targetFunction);
@@ -115,6 +115,7 @@ public class DataApiOpMapper implements OpMapper<DataApiBaseOp,DataApiSpace> {
// in-database ops:
case create_collection -> new DataApiLegacyCreateCollectionOpDispenser(adapter, op, typeAndTarget.targetFunction);
case create_collection_with_class -> new DataApiLegacyCreateCollectionWithClassOpDispenser(adapter, op, typeAndTarget.targetFunction);
case delete_collection -> new DataApiLegacyDeleteCollectionOpDispenser(adapter, op, typeAndTarget.targetFunction);
// in-collection ops:
case insert_one -> new DataApiCollectionInsertOneOpDispenser(adapter, op, typeAndTarget.targetFunction);
case insert_one_vector -> new DataApiCollectionLegacyInsertOneVectorOpDispenser(adapter, op, typeAndTarget.targetFunction);
@@ -141,6 +142,7 @@ public class DataApiOpMapper implements OpMapper<DataApiBaseOp,DataApiSpace> {
// NEW-STYLE OPS
// in-database ops:
case db_create_collection -> new DataApiDbCreateCollectionOpDispenser(adapter, op, typeAndTarget.targetFunction);
case db_delete_collection -> new DataApiDbDeleteCollectionOpDispenser(adapter, op, typeAndTarget.targetFunction);
// in-collection ops:
case collection_insert_one -> new DataApiCollectionInsertOneOpDispenser(adapter, op, typeAndTarget.targetFunction);
case collection_insert_many -> new DataApiCollectionInsertManyOpDispenser(adapter, op, typeAndTarget.targetFunction);
@@ -18,23 +18,23 @@ package io.nosqlbench.adapter.dataapi.opdispensers;
import io.nosqlbench.adapter.dataapi.DataApiDriverAdapter;
import io.nosqlbench.adapter.dataapi.ops.DataApiBaseOp;
import io.nosqlbench.adapter.dataapi.ops.DataApiDropCollectionOp;
import io.nosqlbench.adapter.dataapi.ops.DataApiLegacyDeleteCollectionOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.function.LongFunction;
public class DataApiDropCollectionOpDispenser extends DataApiOpDispenser {
private static final Logger logger = LogManager.getLogger(DataApiDropCollectionOpDispenser.class);
private final LongFunction<DataApiDropCollectionOp> opFunction;
public DataApiDropCollectionOpDispenser(DataApiDriverAdapter adapter, ParsedOp op, LongFunction<String> targetFunction) {
public class DataApiDbDeleteCollectionOpDispenser extends DataApiOpDispenser {
private static final Logger logger = LogManager.getLogger(DataApiDbDeleteCollectionOpDispenser.class);
private final LongFunction<DataApiLegacyDeleteCollectionOp> opFunction;
public DataApiDbDeleteCollectionOpDispenser(DataApiDriverAdapter adapter, ParsedOp op, LongFunction<String> targetFunction) {
super(adapter, op, targetFunction);
this.opFunction = createOpFunction(op);
}
private LongFunction<DataApiDropCollectionOp> createOpFunction(ParsedOp op) {
return (l) -> new DataApiDropCollectionOp(
private LongFunction<DataApiLegacyDeleteCollectionOp> createOpFunction(ParsedOp op) {
return (l) -> new DataApiLegacyDeleteCollectionOp(
spaceFunction.apply(l).getDatabase(),
targetFunction.apply(l)
);
@@ -0,0 +1,47 @@
/*
* Copyright (c) nosqlbench
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.nosqlbench.adapter.dataapi.opdispensers;
import io.nosqlbench.adapter.dataapi.DataApiDriverAdapter;
import io.nosqlbench.adapter.dataapi.ops.DataApiBaseOp;
import io.nosqlbench.adapter.dataapi.ops.DataApiLegacyDeleteCollectionOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.function.LongFunction;
public class DataApiLegacyDeleteCollectionOpDispenser extends DataApiOpDispenser {
private static final Logger logger = LogManager.getLogger(DataApiLegacyDeleteCollectionOpDispenser.class);
private final LongFunction<DataApiLegacyDeleteCollectionOp> opFunction;
public DataApiLegacyDeleteCollectionOpDispenser(DataApiDriverAdapter adapter, ParsedOp op, LongFunction<String> targetFunction) {
super(adapter, op, targetFunction);
this.opFunction = createOpFunction(op);
}
private LongFunction<DataApiLegacyDeleteCollectionOp> createOpFunction(ParsedOp op) {
return (l) -> new DataApiLegacyDeleteCollectionOp(
spaceFunction.apply(l).getDatabase(),
targetFunction.apply(l)
);
}
@Override
public DataApiBaseOp getOp(long cycle) {
return opFunction.apply(cycle);
}
}
@@ -18,9 +18,9 @@ package io.nosqlbench.adapter.dataapi.ops;
import com.datastax.astra.client.databases.Database;
public class DataApiDropCollectionOp extends DataApiBaseOp {
public class DataApiDbDeleteCollectionOp extends DataApiBaseOp {
private final String collectionName;
public DataApiDropCollectionOp(Database db, String collectionName) {
public DataApiDbDeleteCollectionOp(Database db, String collectionName) {
super(db);
this.collectionName = collectionName;
}
@@ -0,0 +1,33 @@
/*
* Copyright (c) nosqlbench
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.nosqlbench.adapter.dataapi.ops;
import com.datastax.astra.client.databases.Database;
public class DataApiLegacyDeleteCollectionOp extends DataApiBaseOp {
private final String collectionName;
public DataApiLegacyDeleteCollectionOp(Database db, String collectionName) {
super(db);
this.collectionName = collectionName;
}
@Override
public Object apply(long value) {
db.dropCollection(collectionName);
return null;
}
}
@@ -29,7 +29,6 @@ public enum DataApiOpType {
list_namespaces,
drop_namespace,
// in-database ops:
delete_collection,
list_collections,
list_collection_names,
@@ -39,6 +38,7 @@ public enum DataApiOpType {
// in-database ops:
create_collection,
create_collection_with_class,
delete_collection,
// in-collection ops:
insert_one,
insert_one_vector,
@@ -66,6 +66,7 @@ public enum DataApiOpType {
// db-admin ops:
// in-database ops:
db_create_collection,
db_delete_collection,
// in-collection ops:
collection_insert_one,
collection_insert_many,