diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/core/CGWorkloadExporter.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/core/CGWorkloadExporter.java index 4678917db..4f7efcea8 100644 --- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/core/CGWorkloadExporter.java +++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/core/CGWorkloadExporter.java @@ -72,7 +72,7 @@ public class CGWorkloadExporter implements BundledApp { private String namingTemplate; private double partitionMultiplier; private int quantizerDigits; - private boolean disableIfNotExists = false; + private boolean enableIfExists = true; private Map> blockplan = Map.of(); private final Map timeouts = new HashMap(Map.of( @@ -164,8 +164,8 @@ public class CGWorkloadExporter implements BundledApp { configureTimeouts(cfgmap.get("timeouts")); configureBlocks(cfgmap.get("blockplan")); configureQuantizerDigits(cfgmap.get("quantizer_digits")); - if (cfgmap.get("disable_if_not_exists").equals(true)) { - disableIfNotExists = true; + if (cfgmap.get("enable_if_exists").equals(false)) { + enableIfExists = false; } this.model = CqlModelParser.parse(ddl, srcpath); @@ -643,7 +643,7 @@ public class CGWorkloadExporter implements BundledApp { ops.put( namer.nameFor(table, "optype", "drop", "blockname", blockname), Map.of( - "simple", "drop table if exists " + table.getFullName() + ";", + "simple", (enableIfExists ? "drop table if exists " : "drop table ") + table.getFullName() + ";", "timeout", timeouts.get("drop") ) ); @@ -659,7 +659,7 @@ public class CGWorkloadExporter implements BundledApp { ops.put( namer.nameFor(type, "optype", "drop-type", "blockname", blockname), Map.of( - "simple", "drop type if exists " + type.getKeyspace() + "." + type.getName() + ";", + "simple", (enableIfExists ? "drop type if exists " : "drop type ") + "." + type.getName() + ";", "timeout", timeouts.get("drop") ) ); @@ -675,7 +675,7 @@ public class CGWorkloadExporter implements BundledApp { ops.put( namer.nameFor(type, "optype", "drop-keyspace", "blockname", blockname), Map.of( - "simple", "drop keyspace if exists " + type.getKeyspace() + ";", + "simple", (enableIfExists ? "drop keyspace if exists " : "drop keyspace ") + type.getKeyspace() + ";", "timeout", timeouts.get("drop") ) ); @@ -743,7 +743,7 @@ public class CGWorkloadExporter implements BundledApp { create keyspace IF_NOT_EXISTS KEYSPACE with replication = {REPLICATION}DURABLEWRITES?; """ - .replace("IF_NOT_EXISTS", disableIfNotExists ? "" : "if not exists") + .replace("IF_NOT_EXISTS", enableIfExists ? "if not exists" : "") .replace("KEYSPACE", keyspace.getName()) .replace("REPLICATION", keyspace.getReplicationData()) .replace("DURABLEWRITES?", keyspace.isDurableWrites() ? "" : "\n and durable writes = false") @@ -775,7 +775,7 @@ public class CGWorkloadExporter implements BundledApp { TYPEDEF ); """ - .replace("IF_NOT_EXISTS", disableIfNotExists ? "" : "if not exists") + .replace("IF_NOT_EXISTS", enableIfExists ? "if not exists" : "") .replace("KEYSPACE", type.getKeyspace().getName()) .replace("TYPENAME", type.getName()) .replace("TYPEDEF", type.getColumnDefs().stream() @@ -793,7 +793,7 @@ public class CGWorkloadExporter implements BundledApp { primary key (PRIMARYKEY) )CLUSTERING; """ - .replace("IF_NOT_EXISTS", disableIfNotExists ? "" : "if not exists") + .replace("IF_NOT_EXISTS", enableIfExists ? "if not exists" : "") .replace("KEYSPACE", cqltable.getKeyspace().getName()) .replace("TABLE", cqltable.getName()) .replace("COLUMN_DEFS", genTableColumnDDL(cqltable)) diff --git a/nb-adapters/adapter-cqld4/src/main/resources/cqlgen/cqlgen.conf b/nb-adapters/adapter-cqld4/src/main/resources/cqlgen/cqlgen.conf index 0a8453e35..494fb4424 100644 --- a/nb-adapters/adapter-cqld4/src/main/resources/cqlgen/cqlgen.conf +++ b/nb-adapters/adapter-cqld4/src/main/resources/cqlgen/cqlgen.conf @@ -145,6 +145,6 @@ blockplan: # not needed when tags=block:'main.*' # main: insert, select, scan-10, update -# Configuration option for removing 'IF NOT EXISTS' in all generated DDL statements -disable_if_not_exists: false +# Configuration option for adding 'IF NOT EXISTS' or 'IF EXISTS' in all generated DDL statements +enable_if_exists: true