diff --git a/.gitignore b/.gitignore
index aaded9103..1ae7a3930 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@
docker/**/*.zip
docker/**/output
results
+allWorkloads.txt
### SQLite ###
**/*.db
diff --git a/.run/auctionmark - yugabyte.run.xml b/.run/auctionmark - yugabyte.run.xml
new file mode 100644
index 000000000..7fc5f1351
--- /dev/null
+++ b/.run/auctionmark - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/chbenchmark - yugabyte.run.xml b/.run/chbenchmark - yugabyte.run.xml
new file mode 100644
index 000000000..ed3c1610d
--- /dev/null
+++ b/.run/chbenchmark - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/epinions - yugabyte.run.xml b/.run/epinions - yugabyte.run.xml
new file mode 100644
index 000000000..b897555f4
--- /dev/null
+++ b/.run/epinions - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/featurebench - mysql.run.xml b/.run/featurebench - mysql.run.xml
new file mode 100644
index 000000000..c5302bea1
--- /dev/null
+++ b/.run/featurebench - mysql.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.run/featurebench - postgres.run.xml b/.run/featurebench - postgres.run.xml
new file mode 100644
index 000000000..dcc8d6fa4
--- /dev/null
+++ b/.run/featurebench - postgres.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.run/featurebench - yugabyte.run.xml b/.run/featurebench - yugabyte.run.xml
new file mode 100644
index 000000000..634327b05
--- /dev/null
+++ b/.run/featurebench - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.run/featurebench.run.xml b/.run/featurebench.run.xml
new file mode 100644
index 000000000..3973486c5
--- /dev/null
+++ b/.run/featurebench.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.run/noop - yugabyte.run.xml b/.run/noop - yugabyte.run.xml
new file mode 100644
index 000000000..8fe990218
--- /dev/null
+++ b/.run/noop - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/perf-dataloader - postgres.run.xml b/.run/perf-dataloader - postgres.run.xml
new file mode 100644
index 000000000..a614a827e
--- /dev/null
+++ b/.run/perf-dataloader - postgres.run.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.run/perf-dataloader - yugabyte.run.xml b/.run/perf-dataloader - yugabyte.run.xml
new file mode 100644
index 000000000..43d51f71c
--- /dev/null
+++ b/.run/perf-dataloader - yugabyte.run.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.run/resourcestressrunner - yugabyte.run.xml b/.run/resourcestressrunner - yugabyte.run.xml
new file mode 100644
index 000000000..4b7da21af
--- /dev/null
+++ b/.run/resourcestressrunner - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/seats - yugabyte.run.xml b/.run/seats - yugabyte.run.xml
new file mode 100644
index 000000000..a029acfd3
--- /dev/null
+++ b/.run/seats - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/sibench - yugabyte.run.xml b/.run/sibench - yugabyte.run.xml
new file mode 100644
index 000000000..a047ce383
--- /dev/null
+++ b/.run/sibench - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/smallbank - yugabyte.run.xml b/.run/smallbank - yugabyte.run.xml
new file mode 100644
index 000000000..1c65c98ae
--- /dev/null
+++ b/.run/smallbank - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/tatp - yugabyte.run.xml b/.run/tatp - yugabyte.run.xml
new file mode 100644
index 000000000..865dcfb07
--- /dev/null
+++ b/.run/tatp - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/tpcc - yugabyte.run.xml b/.run/tpcc - yugabyte.run.xml
new file mode 100644
index 000000000..3d664d80c
--- /dev/null
+++ b/.run/tpcc - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/tpch - yugabyte.run.xml b/.run/tpch - yugabyte.run.xml
new file mode 100644
index 000000000..eb55827a4
--- /dev/null
+++ b/.run/tpch - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/twitter - yugabyte.run.xml b/.run/twitter - yugabyte.run.xml
new file mode 100644
index 000000000..678df867f
--- /dev/null
+++ b/.run/twitter - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/voter - yugabyte.run.xml b/.run/voter - yugabyte.run.xml
new file mode 100644
index 000000000..c25228a96
--- /dev/null
+++ b/.run/voter - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/wikipedia - yugabyte.run.xml b/.run/wikipedia - yugabyte.run.xml
new file mode 100644
index 000000000..76ec3733d
--- /dev/null
+++ b/.run/wikipedia - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.run/ycsb - yugabyte.run.xml b/.run/ycsb - yugabyte.run.xml
new file mode 100644
index 000000000..98615fbcc
--- /dev/null
+++ b/.run/ycsb - yugabyte.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CLAUDE.md b/CLAUDE.md
new file mode 100644
index 000000000..7be571093
--- /dev/null
+++ b/CLAUDE.md
@@ -0,0 +1,146 @@
+# CLAUDE.md
+
+This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
+
+## What this is
+
+This is YugabyteDB's fork of [CMU BenchBase](https://github.com/cmu-db/benchbase) (formerly OLTPBench), a multi-DBMS SQL benchmarking framework that drives variable-rate, variable-mixture load against any JDBC database. Beyond the upstream benchmarks (TPC-C, TPC-H, YCSB, AuctionMark, etc.), this fork adds two major YugabyteDB-specific features:
+
+- **FeatureBench** (`benchmarks/featurebench`) — a YAML-driven microbenchmark framework for building targeted workloads without writing Java. **This is the primary subsystem to understand in this fork** (see the dedicated section below).
+- **perf-dataloader** (`benchmarks/dataloader`) — a tool that infers a table's schema from a live database and generates data to load into it. See `PERF-DATALOADER.md`.
+
+Requires **Java 17+** and **Maven 3.6+**.
+
+## Build, run, test
+
+The Maven **profile (`-P`)** selects both the JDBC driver dependency and the output artifact classifier. Supported profiles: `postgres`, `mysql`, `mariadb`, `sqlite`, `cockroachdb`, `phoenix`, `yugabyte`, `spanner`, `sqlserver`.
+
+```bash
+# Build a distribution for a profile → target/benchbase-.{tgz,zip}
+./mvnw clean package -P yugabyte
+
+# Convenience script: checks Java/Maven versions, builds the yugabyte profile
+# (-DskipTests), then extracts the tgz into target/benchbase-yugabyte/
+./build.sh
+
+# Run tests (unit tests need no profile). CI runs `mvn -B test`.
+./mvnw test
+
+# Run a single test class or method
+./mvnw test -Dtest=TestTPCCBenchmark
+./mvnw test -Dtest=TestTPCCBenchmark#testGetProcedureNames
+```
+
+Running a benchmark (main class `com.oltpbenchmark.DBWorkload`):
+
+```bash
+# FeatureBench from source without packaging (note the -P profile)
+mvn clean compile exec:java -P yugabyte -Dexec.args="-b featurebench -c config/yugabyte/sample_featurebench_config.yaml --create=true --load=true --execute=true"
+
+# From an extracted distribution
+java -jar benchbase.jar -b tpcc -c config/postgres/sample_tpcc_config.xml --create=true --load=true --execute=true
+
+# perf-dataloader (uses the extracted distribution jar under the hood)
+./perf-data-loader --config --table-name --rows
+```
+
+Key CLI flags: `-b` benchmark name (comma-separated for composite runs like `tpcc,chbenchmark`), `-c` config file, the phase toggles `--create` / `--load` / `--execute` / `--clear` / `--cleanup`, and `--workloads` (FeatureBench: run only a named subset of `executeRules`). Run `java -jar benchbase.jar -h` for the full list.
+
+Per-run results (latency/throughput CSVs, and for FeatureBench optionally `pg_stat_statements` and EXPLAIN output as JSON) are written to the `results/` folder.
+
+## Framework architecture
+
+**Entry point → plugin registry.** `DBWorkload.main()` parses the CLI and config, then consults `config/plugin.xml` to map a benchmark short-name (e.g. `tpcc`, `featurebench`, `perf-dataloader`) to its `BenchmarkModule` implementation class. **Adding a new benchmark requires an entry in `config/plugin.xml`.** DBWorkload then orchestrates the create → load → execute phases. FeatureBench and perf-dataloader are detected by name in `DBWorkload` and read **YAML** configs; all other benchmarks read **XML**.
+
+**Core API (`com.oltpbenchmark.api`)** — every benchmark is built from these abstractions:
+- `BenchmarkModule` — abstract base per benchmark. Concrete benchmarks implement `makeWorkersImpl()`, `makeLoaderImpl()`, and `getProcedurePackageImpl()`. `createDatabase()` runs the create phase.
+- `Loader` / `LoaderThread` — populate the schema during the **load** phase; `createLoaderThreads()` returns the parallel loaders.
+- `Worker` — a `Runnable` that drives transactions during the **execute** phase; subclasses implement `executeWork(conn, txnType)` and may override `initialize()` / `tearDown()`.
+- `Procedure` + `SQLStmt` — encapsulate one transaction's SQL. `StatementDialects` (and `api/dialects/`) supply per-DBMS SQL variants so one procedure can target multiple databases.
+- `TransactionType(s)` — the weighted transaction mix a Worker samples from. Each transaction type maps to one unit of work.
+- `api/collectors/` — per-DBMS collectors (`PostgresCollector`, `YuagbyteCollector`, `MySQLCollector`, `CockroachCollector`) that snapshot DB parameters/stats.
+
+**Standard benchmark layout.** Each benchmark under `benchmarks//` follows the same pattern: a `Benchmark` (extends `BenchmarkModule`), a `Loader`, a `Worker`, and a `procedures/` package of `Procedure` subclasses. Configs read via commons-configuration2, templated with Jinjava.
+
+## FeatureBench (primary subsystem)
+
+FeatureBench turns a single YAML file into a create → load → execute benchmark run. `plugin.xml` maps `featurebench` → `FeatureBenchBenchmark`, which wires up three cooperating classes:
+
+- **`FeatureBenchBenchmark`** — the `BenchmarkModule`. In `makeWorkersImpl(workcount)` it reads `microbenchmark/properties/executeRules[]`, converts each rule's queries+bindings into `ExecuteRule`/`Query`/`UtilToMethod` objects (`configToExecuteRules`), and creates one `FeatureBenchWorker` per terminal. `makeLoaderImpl()` builds the `FeatureBenchLoader`.
+- **`FeatureBenchLoader`** — runs create + load. `createLoaderThreads()` first runs the create phase and optional `beforeLoad`, then either delegates to a custom `loadOnce()` (`GeneratorOnce`) or auto-generates INSERT loaders from YAML `loadRules` (`GeneratorYaml`). Loading is batched (`batchsize` in config) and type-casts array/vector/json columns based on the util's class name (see `typeCastDataTypes`). `afterLoad` DDLs run once after all loader threads finish.
+- **`FeatureBenchWorker`** — runs execute. `executeWork()` picks the `ExecuteRule` for the sampled `TransactionType`, generates fresh parameter values for each query via reflection, binds them to a cached `PreparedStatement`, and executes. Returns `ZERO_ROWS` if a query affected/returned no rows.
+
+**Config shape** (`microbenchmark` block; keys under `properties`):
+
+| Key | Purpose |
+|---|---|
+| `class` | Fully-qualified `YBMicroBenchmark` subclass. Default `customworkload.YBDefaultMicroBenchmark` (the YAML interpreter). |
+| `properties.create` | List of DDL strings run in the create phase. |
+| `properties.createdb` | DDL that creates a *database* (parsed for the db name; the JDBC URL is then rewritten to point at it). |
+| `properties.loadRules` | Per-table row counts + column generators (see util functions). |
+| `properties.executeRules` | Named workloads → weighted `run` entries → `queries` with `bindings`. |
+| `properties.afterLoad` | DDL run once after load (e.g. create indexes post-load). |
+| `properties.cleanup` | DDL run with `--cleanup`. |
+| `properties.execute` | `true` → call the custom class's multithreaded `execute()` instead of `executeRules`. |
+| `properties.setAutoCommit` | Set `false` when using code-driven `execute`/`executeOnce`. |
+
+Top-level run knobs also read from the YAML: `terminals`, `works/work` (`time_secs`, `active_terminals`, `rate`, `warmup`), `batchsize`, `isolation`, `loaderthreads`, plus FeatureBench-specific instrumentation flags: `collect_pg_stat_statements`, `disable_explain`, `force_capture_explain_analyze`, `use_dist_in_explain` (Yugabyte only), `analyze_on_all_tables`, `optimalThreads`.
+
+### Two authoring modes
+
+1. **YAML-driven (declarative, the common case).** Leave `class` at `YBDefaultMicroBenchmark` and describe everything in `create` / `loadRules` / `executeRules`. No Java. This is what the great majority of `config/yugabyte/**` samples do.
+
+2. **Code-driven.** Set `properties: {}` and point `class` at your own subclass of `YBMicroBenchmark` in `benchmarks/featurebench/customworkload/`. Override the lifecycle hooks:
+ - `create(conn)`, `beforeLoad(conn)`, `loadOnce(conn)`, `afterLoad(conn)`, `cleanUp(conn)`
+ - `executeOnce(conn)` — single-threaded, runs once during the MEASURE state; or
+ - `execute(conn)` — multithreaded, one invocation per terminal per transaction.
+
+ The base class exposes boolean flags (`loadOnceImplemented`, `executeOnceImplemented`, `beforeLoadImplemented`, `afterLoadImplemented`) that a subclass sets to signal which hooks it provides — the loader/worker branch on these. When using `execute`/`executeOnce`, set `setAutoCommit: false` in the config.
+
+### loadRules → data generation
+
+Each `loadRules` entry names a `table`, a `rows` count, and a list of `columns`. Every column has a `util` (generator name) and `params`. The loader builds one INSERT per table and, for each row, calls each util's `run()` to produce a bound value. Extra keys:
+- `count` on a *loadRule* → clone the rule into `1`, `2`, … (also `table: "a,b"` splits into multiple tables).
+- `count` on a *column* → repeat that column N times, suffixing the name (`name1`, `name2`, …).
+
+### executeRules → transaction mix
+
+Structure: `executeRules` is a list of **workloads**; each has a `workload` name and a `run` list. Each `run` entry is a named transaction with a `weight` and one or more `queries`. Each query has a SQL string (`?` placeholders) and a list of `bindings`, each binding a `util`+`params` that generates one parameter value per execution.
+
+- **Multiple `executeRules` = multiple serial runs.** DBWorkload iterates workloads; each becomes its own set of `TransactionType`s and its own results sub-folder (named after `workload`, or a timestamp). `--workloads name1,name2` restricts which run.
+- `weight` sets the relative frequency of each `run` entry within a workload (relative to the other runs' weights — they need not sum to 100).
+- Query-level extras: `count` (execute the query N times per transaction), `pattern_count` (repeat the binding list N times, for large multi-row INSERTs / IN-lists), `explain-plan-rc-validation` (assert the EXPLAIN row count).
+- Binding-level extras: `count` (repeat a binding N times), `split_min_max_for_count` (partition a `[min,max]` range into N disjoint sub-ranges — one binding each, for sharding key space across placeholders), `referenceName` + the `ExpressionEval` util (generate a value, name it, then compute a later binding from it — two-pass evaluation in `generateParameterValues`).
+
+### Util functions (data generators)
+
+Utils live in `benchmarks/featurebench/utils/` and are referenced **by simple class name** in YAML (`util: PrimaryIntGen`). `helpers/UtilToMethod` resolves the name to `com.oltpbenchmark.benchmarks.featurebench.utils.` via reflection and constructs it with the YAML `params` — the load path uses the `(List params)` constructor; the execute path uses `(List params, int workerId, int totalWorkers)` so a generator can partition its key space per worker. Every util implements the `BaseUtil` interface (`Object run()`), returning the next value.
+
+**Before adding a generator, consult the catalog in `src/main/java/com/oltpbenchmark/benchmarks/featurebench/Readme.md`** — it documents every util, its params, and their types. `workerhelpers/` (`ExecuteRule`, `Query`, `Bindings`) are the parsed YAML model objects; `helpers/` (`UtilToMethod`, `SimpleExpressionEvaluator`, `MD5hash`) back the reflection and expression machinery.
+
+### Instrumentation
+
+When `collect_pg_stat_statements: true`, the worker resets `pg_stat_statements` (and, on Postgres, `pg_stat_user_tables`) before MEASURE and snapshots them in `tearDown()`, matching each configured query to its stats row via cosine similarity of tokenized SQL. Unless `disable_explain: true`, it also runs `EXPLAIN (ANALYZE, …)` for each query and captures planning/execution time, peak memory, and row counts. All of this is written as JSON into `results/` alongside the standard latency/throughput CSVs (`FeaturebenchAdditionalResults`).
+
+### Sample configs
+
+`config/yugabyte/` is organized by feature: `demo/` holds canonical single examples of each capability (`featurebench_count_query.yaml`, `featurebench_explain.yaml`, `featurebench_after_load.yaml`, `featurebench_colocated.yaml`, …). Start from `sample_featurebench_config.yaml`.
+
+### Regression pipelines (`config/yugabyte/regression_pipelines/`)
+
+**YugabyteDB's nightly regression pipelines run the FeatureBench configs under `config/yugabyte/regression_pipelines/`.** Treat these as the maintained, run-in-CI workloads — edits here affect the nightly runs, and new comparative workloads belong here.
+
+The directory is a two-level **`//.yaml`** matrix:
+
+- **Categories** (workload themes, one dir each): `aggregate_workloads`, `bulkload`, `conditional_workloads`, `foreign_key`, `Index_workloads`, `join_workloads`, `locking_semantics`, `miscellaneous`, `orderby_workloads`, `perfstudio`, `range_write_workloads`, `scan_workloads`, `vector_workloads`, `write_workloads`.
+- **DB variants** (each category holds parallel sub-dirs; the *same* workload file name is duplicated across them so the identical workload can be compared across engines/layouts):
+ - `postgres` — vanilla PostgreSQL (`type: POSTGRES`, `org.postgresql.Driver`, port 5432) — the baseline.
+ - `yugabyte` — YugabyteDB default, hash-sharded (`type: YUGABYTE`, `com.yugabyte.Driver`, port 5433).
+ - `yb_colocated` — YugabyteDB with colocated tables, via `createdb: ... create database ... with colocated=true`.
+ - `yugabyte_range` — YugabyteDB with range-sharded primary keys (`primary key(... asc)`); present only where sharding layout is the variable under test (e.g. `foreign_key/`, `perfstudio/`).
+
+ A workload may be absent from a variant when it doesn't apply (e.g. a hash-partitioned-table case has no `yb_colocated` version).
+
+- **File naming**: `_.yaml`, prefix per category — `JOING1_…` (joins), `FK_G2_…` (foreign key), `MG1_…` (miscellaneous), etc.
+- **Deeper nesting**: `bulkload//goalN_/.yaml` groups configs by test "goal" (varying indexes, pre-vs-backfilled indexes, varying rows, varying columns).
+- **Endpoints are templated** with `{{endpoint}}` (Jinjava) and filled in by the pipeline at run time.
diff --git a/PERF-DATALOADER.md b/PERF-DATALOADER.md
new file mode 100644
index 000000000..549f31a5a
--- /dev/null
+++ b/PERF-DATALOADER.md
@@ -0,0 +1,71 @@
+# Perf Dataloader
+
+### Used to infer the table schema from the database and generate a benchbase interpreted input yaml file which can be used to load sample data into the table.
+This tool is integrated inside benchbase so that the users don't have to install additional tools for using it. All existing functionalities from yugabyte/benchbase should work as it is.
+
+### Build steps:
+#### Pre-requisites
+- java version 17 or higher is installed
+- maven version 3.6 or higher is installed
+
+#### build steps
+The build steps will also validate if the pre-requisites are met.
+```
+cd benchbase
+./build.sh
+```
+
+### How to use:
+```
+#$./perf-data-loader --help
+Usage: ./perf-data-loader --config --table-name --rows [--gen-config-only] [--load-only] [--gen-load-order]
+Short forms: -c -t -r
+Options:
+ -c, --config Configuration file
+ -t, --table-name Table name
+ -r, --rows Number of rows
+ --gen-config-only Only generate the loader/config file
+ --load-only Only load data into the database
+ --gen-load-order Generate table load order in the provided database
+ -h, --help Display this help message
+```
+- to only generate the loader file(skip the actual load). This will generate the yaml file _loader.yaml which can be used in loading the data.
+```
+./perf-data-loader --config --table-name --rows --gen-config-only
+```
+
+- to only load the data(when your loader file is already generate)
+```
+./perf-data-loader --config --load-only
+```
+
+- to generate the loader yaml file and load the data in one go
+```
+./perf-data-loader --config --table-name --rows
+```
+- to generate the load order of all the tables in the database. It is useful to know the load order when there are
+foreign ey references in the db schema. When used, this command will print out the load order/levels in which you can
+populate the tables. Start from tables at level 0, then level 1, and so on. It also generate load_order.json file
+containing the load order in json format.
+```shell
+./perf-data-loader -c --gen-load-order
+```
+
+the input yaml file should have following content
+```
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=require&reWriteBatchedInserts=true
+username: yugabyte
+password: password
+
+tablename: {{tableName}}
+rows: {{rows}}
+
+```
+
+#### Caveat/In-progress items
+- partitioned tables are not yet supported.
+- columns with user defined data types are not yet supported.
+
+#### [Reference utility functions](https://github.com/yugabyte/benchbase/blob/main/src/main/java/com/oltpbenchmark/benchmarks/featurebench/Readme.md#utility-functions-)
diff --git a/README.md b/README.md
index 801a3abd3..801581158 100644
--- a/README.md
+++ b/README.md
@@ -87,7 +87,7 @@ benchmark, leveraging all the system features (logging, controlled speed, contro
## Usage Guide
### How to Build
-Run the following command to build the distribution for a given database specified as the profile name (`-P`). The following profiles are currently supported: `postgres`, `mysql`, `mariadb`, `sqlite`, `cockroachdb`, `phoenix`, and `spanner`.
+Run the following command to build the distribution for a given database specified as the profile name (`-P`). The following profiles are currently supported: `postgres`, `mysql`, `mariadb`, `sqlite`, `cockroachdb`, `phoenix`, `yugabyte` and `spanner`.
```bash
./mvnw clean package -P
diff --git a/build.sh b/build.sh
new file mode 100755
index 000000000..8c4be1df6
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+# Function to check Java version
+check_java() {
+ if command -v java > /dev/null; then
+ JAVA_VERSION=$(java -version 2>&1 | awk -F[\"_] 'NR==1 {print $2}')
+ JAVA_MAJOR_VERSION=$(echo $JAVA_VERSION | awk -F[.] '{print $1}')
+ if [ "$JAVA_MAJOR_VERSION" -ge 17 ]; then
+ echo "Java version $JAVA_VERSION is installed."
+ else
+ echo "Java 17 or higher is required. Please install the required version of Java."
+ exit 1
+ fi
+ else
+ echo "Java is not installed. Please install Java 17 or higher."
+ exit 1
+ fi
+}
+
+# Function to check Maven version
+check_maven() {
+ if command -v mvn > /dev/null; then
+ MAVEN_VERSION=$(mvn -version 2>&1 | awk '/Apache Maven/ {print $3}')
+ MAVEN_MAJOR_VERSION=$(echo $MAVEN_VERSION | awk -F[.] '{print $1}')
+ MAVEN_MINOR_VERSION=$(echo $MAVEN_VERSION | awk -F[.] '{print $2}')
+ if [ "$MAVEN_MAJOR_VERSION" -ge 3 ] && [ "$MAVEN_MINOR_VERSION" -ge 6 ]; then
+ echo "Maven version $MAVEN_VERSION is installed."
+ else
+ echo "Maven 3.6 or higher is required. Please install the required version of Maven."
+ exit 1
+ fi
+ else
+ echo "Maven is not installed. Please install Maven 3.6 or higher."
+ exit 1
+ fi
+}
+
+# Check for OS and run respective checks
+case "$(uname -s)" in
+ Linux*)
+ echo "Running on Linux"
+ check_java
+ check_maven
+ ;;
+ Darwin*)
+ echo "Running on macOS"
+ check_java
+ check_maven
+ ;;
+ CYGWIN*|MINGW*|MSYS*)
+ echo "Running on Windows"
+ check_java
+ check_maven
+ ;;
+ *)
+ echo "Unsupported OS"
+ exit 1
+ ;;
+esac
+
+# Continue with the build process
+./mvnw clean package -P yugabyte -DskipTests
+cd target
+tar -xzf benchbase-yugabyte.tgz
+cd benchbase-yugabyte
diff --git a/config/.DS_Store b/config/.DS_Store
new file mode 100644
index 000000000..087eb0e34
Binary files /dev/null and b/config/.DS_Store differ
diff --git a/config/plugin.xml b/config/plugin.xml
index a31108273..2760b1dfe 100644
--- a/config/plugin.xml
+++ b/config/plugin.xml
@@ -14,7 +14,9 @@
com.oltpbenchmark.benchmarks.voter.VoterBenchmark
com.oltpbenchmark.benchmarks.sibench.SIBenchmark
com.oltpbenchmark.benchmarks.noop.NoOpBenchmark
+ com.oltpbenchmark.benchmarks.featurebench.FeatureBenchBenchmark
com.oltpbenchmark.benchmarks.smallbank.SmallBankBenchmark
com.oltpbenchmark.benchmarks.hyadapt.HYADAPTBenchmark
com.oltpbenchmark.benchmarks.otmetrics.OTMetricsBenchmark
+ com.oltpbenchmark.benchmarks.dataloader.DataGenerator
diff --git a/config/postgres/sample_auctionmark_config.xml b/config/postgres/sample_auctionmark_config.xml
index d8da78e20..ad7371714 100644
--- a/config/postgres/sample_auctionmark_config.xml
+++ b/config/postgres/sample_auctionmark_config.xml
@@ -4,21 +4,22 @@
POSTGRES
org.postgresql.Driver
- jdbc:postgresql://localhost:5432/benchbase?sslmode=disable&ApplicationName=auctionmark&reWriteBatchedInserts=true
- admin
- password
- TRANSACTION_SERIALIZABLE
+ jdbc:postgresql://localhost:5432/benchbase?sslmode=require&ApplicationName=auctionmark&reWriteBatchedInserts=true
+ postgres
+
+ TRANSACTION_REPEATABLE_READ
128
-
+ 10
- 1
+ 100
- 1
+ 5
- 60
- 10000
+ 300
+ 600
+ unlimited
45, 10, 20, 2, 1, 4, 10, 5, 3
@@ -53,4 +54,4 @@
UpdateItem
-
\ No newline at end of file
+
diff --git a/config/postgres/sample_featurebench_config.xml b/config/postgres/sample_featurebench_config.xml
new file mode 100644
index 000000000..ea02ac8b1
--- /dev/null
+++ b/config/postgres/sample_featurebench_config.xml
@@ -0,0 +1,32 @@
+
+
+
+
+ POSTGRES
+ org.postgresql.Driver
+ jdbc:postgresql://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_SERIALIZABLE
+ 128
+
+
+
+ 1
+
+
+ 1
+
+
+ 60
+ 1000
+ 100
+
+
+
+
+
+ FeatureBench
+
+
+
diff --git a/config/postgres/sample_perf_dataloader_config.yaml b/config/postgres/sample_perf_dataloader_config.yaml
new file mode 100644
index 000000000..58d6a17a7
--- /dev/null
+++ b/config/postgres/sample_perf_dataloader_config.yaml
@@ -0,0 +1,8 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://localhost:5432/firefly?sslmode=disable&reWriteBatchedInserts=true
+username: postgres
+password: postgres
+
+tablename: {{tableName}}
+rows: {{rows}}
\ No newline at end of file
diff --git a/config/postgres/sample_seats_config.xml b/config/postgres/sample_seats_config.xml
index 8a1115b5f..9931cd6f0 100644
--- a/config/postgres/sample_seats_config.xml
+++ b/config/postgres/sample_seats_config.xml
@@ -4,21 +4,23 @@
POSTGRES
org.postgresql.Driver
- jdbc:postgresql://localhost:5432/benchbase?sslmode=disable&ApplicationName=seats&reWriteBatchedInserts=true
- admin
- password
- TRANSACTION_SERIALIZABLE
+ jdbc:postgresql://localhost:5432/postgres?sslmode=require&ApplicationName=seats&reWriteBatchedInserts=true
+ postgres
+
+ TRANSACTION_REPEATABLE_READ
128
+ 10
- 1
+ 100
- 1
+ 5
- 60
- 10000
+ 300
+ 600
+ unlimited
10, 10, 35, 20, 10, 15
diff --git a/config/yugabyte/.DS_Store b/config/yugabyte/.DS_Store
new file mode 100644
index 000000000..c72c44d17
Binary files /dev/null and b/config/yugabyte/.DS_Store differ
diff --git a/config/yugabyte/batch_inserts/batch_insert_pg.yaml b/config/yugabyte/batch_inserts/batch_insert_pg.yaml
new file mode 100644
index 000000000..4d5081685
--- /dev/null
+++ b/config/yugabyte/batch_inserts/batch_insert_pg.yaml
@@ -0,0 +1,64 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ serial: true
+ # time_secs: 300
+ # active_terminals: 1
+ rate: unlimited
+ warmup: 0
+microbenchmark:
+ # class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.batchinsert.BatchInsertPG
+ properties:
+ setAutoCommit: true
+# create:
+# - drop table if exists index_test_4;
+# - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+# - DROP PROCEDURE IF EXISTS insert_demo_hash;
+# - CREATE PROCEDURE insert_demo_hash(_numRows int)
+# LANGUAGE plpgsql
+# AS $$
+# DECLARE
+# BEGIN
+# insert into index_test_4 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) select n, n, n+100, (n%100)+1, (n%1000)+1, n%50, n*10, n%10, n*2, n, n, 'aaa'||(n%1000)+1, 'bbb'||n, 'ccc'||(n%100), '2022-12-10', RANDOM()::INT::BOOLEAN from generate_series(1,_numRows) n;
+# END;
+# $$;
+# - call insert_demo_hash(1000);
+# executeRules:
+# - workload: BatchedInsert
+# run:
+# - name: insert_1m_rows
+# weight: 100
+# queries:
+# - query: INSERT INTO index_test_4 values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+# count: 2000
+# bindings:
+# - util: PrimaryIntGen
+# params:
+# - 1001
+# - 11000
+# - util: RandomNumber
+# count: 10
+# params:
+# - 1001
+# - 11000
+# - util: RandomAString
+# count: 3
+# params:
+# - 4
+# - 4
+# - util: RandomDate
+# params:
+# - 2007
+# - 2011
+# - util: RandomBoolean
\ No newline at end of file
diff --git a/config/yugabyte/batch_inserts/batch_insert_yb.yaml b/config/yugabyte/batch_inserts/batch_insert_yb.yaml
new file mode 100644
index 000000000..2eeaa6ae6
--- /dev/null
+++ b/config/yugabyte/batch_inserts/batch_insert_yb.yaml
@@ -0,0 +1,65 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+#url: jdbc:yugabytedb://172.151.23.87:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ serial: true
+ # time_secs: 300
+ # active_terminals: 1
+ rate: unlimited
+ warmup: 0
+microbenchmark:
+ # class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.batchinsert.BatchInsertYB
+ properties:
+ setAutoCommit: true
+# create:
+# - drop table if exists index_test_4;
+# - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+# - DROP PROCEDURE IF EXISTS insert_demo_hash;
+# - CREATE PROCEDURE insert_demo_hash(_numRows int)
+# LANGUAGE plpgsql
+# AS $$
+# DECLARE
+# BEGIN
+# insert into index_test_4 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) select n, n, n+100, (n%100)+1, (n%1000)+1, n%50, n*10, n%10, n*2, n, n, 'aaa'||(n%1000)+1, 'bbb'||n, 'ccc'||(n%100), '2022-12-10', RANDOM()::INT::BOOLEAN from generate_series(1,_numRows) n;
+# END;
+# $$;
+# - call insert_demo_hash(1000);
+# executeRules:
+# - workload: BatchedInsert
+# run:
+# - name: insert_1m_rows
+# weight: 100
+# queries:
+# - query: INSERT INTO index_test_4 values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+# count: 2000
+# bindings:
+# - util: PrimaryIntGen
+# params:
+# - 1001
+# - 11000
+# - util: RandomNumber
+# count: 10
+# params:
+# - 1001
+# - 11000
+# - util: RandomAString
+# count: 3
+# params:
+# - 4
+# - 4
+# - util: RandomDate
+# params:
+# - 2007
+# - 2011
+# - util: RandomBoolean
\ No newline at end of file
diff --git a/config/yugabyte/batch_inserts/sample_batch_insert.yaml b/config/yugabyte/batch_inserts/sample_batch_insert.yaml
new file mode 100644
index 000000000..55aa7b5de
--- /dev/null
+++ b/config/yugabyte/batch_inserts/sample_batch_insert.yaml
@@ -0,0 +1,55 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password: null
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+collect_pg_stat_statements: true
+terminals: 1
+works:
+ work:
+ time_secs: 5
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS demo_batch_insert;
+ - CREATE TABLE demo_batch_insert (id INT, col1 TEXT, col2 TEXT, col3 TEXT, primary key (id ASC)) ;
+ loadRules:
+ - table: demo_batch_insert
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 10
+ - name: col
+ count: 3
+ util: RandomStringNumeric
+ params:
+ - 128
+ executeRules:
+ - workload: Insert
+ run:
+ - name: BatchInsert
+ weight: 100
+ queries:
+ - query: INSERT INTO demo_batch_insert VALUES [(?,?,?,?)][pattern_count]
+ pattern_count: 5
+ bindings:
+ - util: PrimaryIntGen
+ params:
+ - 100
+ - 100000
+ - util: RandomAString
+ count: 3
+ params:
+ - 5
+ - 5
diff --git a/config/yugabyte/bulkload/aurora/bulkload_goal1_aurora.yaml b/config/yugabyte/bulkload/aurora/bulkload_goal1_aurora.yaml
new file mode 100644
index 000000000..4b725734f
--- /dev/null
+++ b/config/yugabyte/bulkload/aurora/bulkload_goal1_aurora.yaml
@@ -0,0 +1,51 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: true
+terminals: 1
+works:
+ work:
+ time: 60
+ rate: unlimited
+ warmup: 0
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal1
+ properties:
+ # Goal 1 - 1 :: create table with PK -> load data (no index)
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 0
+ filePath: orders.csv
+ stringLength: 32
+
+# # Goal 1 - 2 :: create table with PK -> create 1 index -> load data (1 index)
+# tableName: orders
+# columns: 15
+# rows: 3000000
+# indexes: 1
+# filePath: orders.csv
+# stringLength: 32
+
+# # Goal 1 - 3 :: create table with PK -> create 5 index -> load data (5 index)
+# tableName: orders
+# columns: 15
+# rows: 3000000
+# indexes: 5
+# filePath: orders.csv
+# stringLength: 32
+
+
+# # Goal 1 - 4 :: create table with PK -> create 10 index -> load data (10 index)
+# tableName: orders
+# columns: 15
+# rows: 3000000
+# indexes: 10
+# filePath: orders.csv
+# stringLength: 32
diff --git a/config/yugabyte/bulkload/aurora/bulkload_goal2_aurora.yaml b/config/yugabyte/bulkload/aurora/bulkload_goal2_aurora.yaml
new file mode 100644
index 000000000..43cc8d249
--- /dev/null
+++ b/config/yugabyte/bulkload/aurora/bulkload_goal2_aurora.yaml
@@ -0,0 +1,62 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: true
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal2
+ properties:
+ # Goal2 - 1 :: create table with PK -> create 1 index -> Load data (1 index)
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 1
+ filePath: orders.csv
+ stringLength: 32
+ create_index_before_load: true
+ create_index_after_load: false
+
+# # Goal2 - 2 :: create table with PK -> load data -> create 1 index
+# tableName: orders
+# columns: 15
+# rows: 3000000
+# indexes: 1
+# filePath: orders.csv
+# stringLength: 32
+# create_index_before_load: false
+# create_index_after_load: true
+#
+# # Goal2 - 3 :: create table with PK -> create 5 index -> Load data (5 index)
+# tableName: orders
+# columns: 15
+# rows: 3000000
+# indexes: 5
+# filePath: orders.csv
+# stringLength: 32
+# create_index_before_load: true
+# create_index_after_load: false
+#
+# # Goal2 - 2 :: create table with PK -> load data -> create 1 index
+# tableName: orders
+# columns: 15
+# rows: 3000000
+# indexes: 5
+# filePath: orders.csv
+# stringLength: 32
+# create_index_before_load: false
+# create_index_after_load: true
+
diff --git a/config/yugabyte/bulkload/aurora/bulkload_goal3_aurora.yaml b/config/yugabyte/bulkload/aurora/bulkload_goal3_aurora.yaml
new file mode 100644
index 000000000..e91a2e43e
--- /dev/null
+++ b/config/yugabyte/bulkload/aurora/bulkload_goal3_aurora.yaml
@@ -0,0 +1,42 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: true
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal3
+ properties:
+ # Goal3 - 1 :: create table with 15 fields -> load data for 3M rows (only PK)
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ filePath: orders.csv
+ stringLength: 32
+
+# # Goal3 - 2 :: create table with 15 fields -> load data for 30M rows (only PK)
+# tableName: orders
+# columns: 15
+# rows: 30000000
+# filePath: orders.csv
+# stringLength: 32
+#
+# # Goal3 - 3 :: create table with 15 fields -> load data for 300M rows (only PK)
+# tableName: orders
+# columns: 15
+# rows: 300000000
+# filePath: orders.csv
+# stringLength: 32
diff --git a/config/yugabyte/bulkload/aurora/bulkload_goal4_aurora.yaml b/config/yugabyte/bulkload/aurora/bulkload_goal4_aurora.yaml
new file mode 100644
index 000000000..4c79fdfde
--- /dev/null
+++ b/config/yugabyte/bulkload/aurora/bulkload_goal4_aurora.yaml
@@ -0,0 +1,43 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: true
+loaderthreads: 1
+terminals: 1
+
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal4
+ properties:
+ # Goal4 - 1 :: create table with 10 fields, 3M rows -> load data (only PK)
+ tableName: orders
+ columns: 10
+ rows: 3000000
+ filePath: orders.csv
+ stringLength: 32
+
+# # Goal4 - 2 :: create table with 20 fields, 3M rows -> load data (only PK)
+# tableName: orders
+# columns: 20
+# rows: 3000000
+# filePath: orders.csv
+# stringLength: 32
+#
+# # Goal4 - 3 :: create table with 100 fields, 3M rows -> load data (only PK)
+# tableName: orders
+# columns: 100
+# rows: 3000000
+# filePath: orders.csv
+# stringLength: 32
diff --git a/config/yugabyte/column_attributes/postgres/cattribG10_pg_increasingIDXFilter_varchar.yaml b/config/yugabyte/column_attributes/postgres/cattribG10_pg_increasingIDXFilter_varchar.yaml
new file mode 100644
index 000000000..f6e486109
--- /dev/null
+++ b/config/yugabyte/column_attributes/postgres/cattribG10_pg_increasingIDXFilter_varchar.yaml
@@ -0,0 +1,116 @@
+#TEST FOR POSTGRES TABLES
+#GOAL10 Lookup on a table with 25 column with increasing count of filter columns
+#Projection: All columns
+#Filter: Increasing column count | Index keys
+#Schema: 25 columns in a table with varchar datatype
+#Purpose: Impact of increasing filter column count
+#TESTS:
+#Time to fetch all columns based on 2 non indexed column
+#Time to fetch all columns based on 5 non indexed column
+#Time to fetch all columns based on 10 non indexed column
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_2idx_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_5idx_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_10idx_1;
+ - CREATE TABLE pkey_rangescan_fullTable_25column_2idx_1(col_varchar_id_1 varchar,col_varchar_id_2 varchar,col_varchar_id_3 varchar,col_varchar_id_4 varchar,col_varchar_id_5 varchar,col_varchar_id_6 varchar,col_varchar_id_7 varchar,col_varchar_id_8 varchar,col_varchar_id_9 varchar,col_varchar_id_10 varchar,col_varchar_id_11 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_rangescan_fullTable_25column_5idx_1(col_varchar_id_1 varchar,col_varchar_id_2 varchar,col_varchar_id_3 varchar,col_varchar_id_4 varchar,col_varchar_id_5 varchar,col_varchar_id_6 varchar,col_varchar_id_7 varchar,col_varchar_id_8 varchar,col_varchar_id_9 varchar,col_varchar_id_10 varchar,col_varchar_id_11 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_rangescan_fullTable_25column_10idx_1(col_varchar_id_1 varchar,col_varchar_id_2 varchar,col_varchar_id_3 varchar,col_varchar_id_4 varchar,col_varchar_id_5 varchar,col_varchar_id_6 varchar,col_varchar_id_7 varchar,col_varchar_id_8 varchar,col_varchar_id_9 varchar,col_varchar_id_10 varchar,col_varchar_id_11 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,PRIMARY KEY(col_varchar_id_1));
+ - CREATE INDEX ON pkey_rangescan_fullTable_25column_2idx_1(col_bigint_id_2,col_bigint_id_3);
+ - CREATE INDEX ON pkey_rangescan_fullTable_25column_5idx_1(col_bigint_id_2,col_bigint_id_3,col_bigint_id_4,col_bigint_id_5,col_bigint_id_6);
+ - CREATE INDEX ON pkey_rangescan_fullTable_25column_10idx_1(col_bigint_id_2,col_bigint_id_3,col_bigint_id_4,col_bigint_id_5,col_bigint_id_6,col_bigint_id_7,col_bigint_id_8,col_bigint_id_9,col_bigint_id_10,col_bigint_id_11);
+
+ loadRules:
+ - table: pkey_rangescan_fullTable_25column_2idx_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 11
+ util: PrimaryStringGen
+ params: [ 1, 128 ]
+ - name: col_varchar_
+ count: 14
+ util: RandomAString
+ params: [ 16, 16 ]
+ - table: pkey_rangescan_fullTable_25column_5idx_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 11
+ util: PrimaryStringGen
+ params: [ 1, 128 ]
+ - name: col_varchar_
+ count: 14
+ util: RandomAString
+ params: [ 16, 16 ]
+ - table: pkey_rangescan_fullTable_25column_10idx_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 11
+ util: PrimaryStringGen
+ params: [ 1, 128 ]
+ - name: col_varchar_
+ count: 14
+ util: RandomAString
+ params: [ 16, 16 ]
+ executeRules:
+ - workload: cattribG10_pg_idxRange_table25column_2idxCol_noRowsFetched
+ run:
+ - name: idxRange_table25column_2idxCol_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_2idx_1 where col_varchar_id_2='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_3='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab'
+ - workload: cattribG10_pg_idxRange_table25column_2idxCol_1RowFetched
+ run:
+ - name: idxRange_table25column_2idxCol_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_2idx_1 where col_varchar_id_2='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_3='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG10_pg_idxRange_table25column_5idxCol_noRowsFetched
+ run:
+ - name: idxRange_table25column_5idxCol_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_5idx_1 where col_varchar_id_2='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_3='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_4='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_5='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_6='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab'
+ - workload: cattribG10_pg_idxRange_table25column_5idxCol_1RowFetched
+ run:
+ - name: idxRange_table25column_5idxCol_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_5idx_1 where col_varchar_id_2='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_3='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_4='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_5='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_6='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG10_pg_idxRange_table25column_10idxCol_noRowsFetched
+ run:
+ - name: idxRange_table25column_10idxCol_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_10idx_1 where col_varchar_id_2='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_3='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_4='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_5='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_6='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_7='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_8='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_9='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_10='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_11='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab'
+ - workload: cattribG10_pg_idxRange_table25column_10idxCol_1RowFetched
+ run:
+ - name: idxRange_table25column_10idxCol_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_10idx_1 where col_varchar_id_2='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_3='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_4='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_5='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_6='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_7='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_8='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_9='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_10='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_11='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+
diff --git a/config/yugabyte/column_attributes/postgres/cattribG11_pg_increasingIDXFilter_bigint.yaml b/config/yugabyte/column_attributes/postgres/cattribG11_pg_increasingIDXFilter_bigint.yaml
new file mode 100644
index 000000000..f638d7464
--- /dev/null
+++ b/config/yugabyte/column_attributes/postgres/cattribG11_pg_increasingIDXFilter_bigint.yaml
@@ -0,0 +1,113 @@
+#TEST FOR POSTGRES TABLES
+#GOAL11 Lookup on a table with 25 column with increasing count of filter columns
+#Projection: All columns
+#Filter: Increasing column count | Non indexed columns
+#Schema: 25 columns in a table with bigint datatype
+#Purpose: Impact of increasing filter column count
+#TESTS:
+#Time to fetch all columns based on 2 non indexed column
+#Time to fetch all columns based on 5 non indexed column
+#Time to fetch all columns based on 10 non indexed column
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_bigint_2idx_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_bigint_5idx_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_bigint_10idx_1;
+ - CREATE TABLE pkey_rangescan_fullTable_25column_bigint_2idx_1(col_bigint_id_1 bigint,col_bigint_id_2 bigint,col_bigint_id_3 bigint,col_bigint_id_4 bigint,col_bigint_id_5 bigint,col_bigint_id_6 bigint,col_bigint_id_7 bigint,col_bigint_id_8 bigint,col_bigint_id_9 bigint,col_bigint_id_10 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint, col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint,col_bigint_15 bigint , PRIMARY KEY(col_bigint_id_1,col_bigint_id_2));
+ - CREATE TABLE pkey_rangescan_fullTable_25column_bigint_5idx_1(col_bigint_id_1 bigint,col_bigint_id_2 bigint,col_bigint_id_3 bigint,col_bigint_id_4 bigint,col_bigint_id_5 bigint,col_bigint_id_6 bigint,col_bigint_id_7 bigint,col_bigint_id_8 bigint,col_bigint_id_9 bigint,col_bigint_id_10 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint, col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint,col_bigint_15 bigint , PRIMARY KEY(col_bigint_id_1,col_bigint_id_2,col_bigint_id_3,col_bigint_id_4,col_bigint_id_5));
+ - CREATE TABLE pkey_rangescan_fullTable_25column_bigint_10idx_1(col_bigint_id_1 bigint,col_bigint_id_2 bigint,col_bigint_id_3 bigint,col_bigint_id_4 bigint,col_bigint_id_5 bigint,col_bigint_id_6 bigint,col_bigint_id_7 bigint,col_bigint_id_8 bigint,col_bigint_id_9 bigint,col_bigint_id_10 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint, col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint,col_bigint_15 bigint , PRIMARY KEY(col_bigint_id_1,col_bigint_id_2,col_bigint_id_3,col_bigint_id_4,col_bigint_id_5,col_bigint_id_6,col_bigint_id_7,col_bigint_id_8,col_bigint_id_9,col_bigint_id_10));
+ loadRules:
+ - table: pkey_rangescan_fullTable_25column_bigint_2idx_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 10
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 15
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_25column_bigint_5idx_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 10
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 15
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_25column_bigint_10idx_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 10
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 15
+ util: RandomNumber
+ params: [1, 1000000]
+
+ executeRules:
+ - workload: cattribG11_pg_idxRange_table25column_2idx_bigint_noRowsFetched
+ run:
+ - name: idxRange_table25column_2idx_bigint_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_bigint_2idx_1 where col_bigint_id_1=1000001 and col_bigint_id_2=1000001
+ - workload: cattribG11_pg_idxRange_table25column_2idx_bigint_1RowFetched
+ run:
+ - name: idxRange_table25column_2idx_bigint_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_bigint_2idx_1 where col_bigint_id_1=999998 and col_bigint_id_2=999998
+ - workload: cattribG11_pg_idxRange_table25column_5idx_bigint_noRowsFetched
+ run:
+ - name: idxRange_table25column_5idx_bigint_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_bigint_5idx_1 where col_bigint_id_1=1000001 and col_bigint_id_2=1000001 and col_bigint_id_3=1000001 and col_bigint_id_4=1000001 and col_bigint_id_5=1000001
+ - workload: cattribG11_pg_idxRange_table25column_5idx_bigint_1RowFetched
+ run:
+ - name: idxRange_table25column_5idx_bigint_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_bigint_5idx_1 where col_bigint_id_1=999998 and col_bigint_id_2=999998 and col_bigint_id_3=999998 and col_bigint_id_4=999998 and col_bigint_id_5=999998
+ - workload: cattribG11_pg_idxRange_table25column_10idx_bigint_noRowsFetched
+ run:
+ - name: idxRange_table25column_10idx_bigint_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_bigint_10idx_1 where col_bigint_id_1=1000001 and col_bigint_id_2=1000001 and col_bigint_id_3=1000001 and col_bigint_id_4=1000001 and col_bigint_id_5=1000001 and col_bigint_id_6=1000001 and col_bigint_id_7=1000001 and col_bigint_id_8=1000001 and col_bigint_id_9=1000001 and col_bigint_id_10=1000001
+ - workload: cattribG11_pg_idxRange_table25column_10idx_bigint_1RowFetched
+ run:
+ - name: idxRange_table25column_10idx_bigint_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_bigint_10idx_1 where col_bigint_id_1=999998 and col_bigint_id_2=999998 and col_bigint_id_3=999998 and col_bigint_id_4=999998 and col_bigint_id_5=999998 and col_bigint_id_6=999998 and col_bigint_id_7=999998 and col_bigint_id_8=999998 and col_bigint_id_9=999998 and col_bigint_id_10=999998
+
diff --git a/config/yugabyte/column_attributes/postgres/cattribG12_pg_increasingPK_length_varchar.yaml b/config/yugabyte/column_attributes/postgres/cattribG12_pg_increasingPK_length_varchar.yaml
new file mode 100644
index 000000000..35236c1eb
--- /dev/null
+++ b/config/yugabyte/column_attributes/postgres/cattribG12_pg_increasingPK_length_varchar.yaml
@@ -0,0 +1,116 @@
+#TEST FOR POSTGRES TABLES
+#GOAL12 Range lookup with different column size
+#Projection: Increasing column size(non indexed)
+#Filter: Primary key
+#Schema: 25 columns in a table with varchar datatype
+#Purpose: Impact of increasing column size
+#TESTS:
+#Time to fetch 1 column of 64 bytes
+#Time to fetch 1 column of 256 bytes
+#Time to fetch 1 column of 512 bytes
+#Time to fetch 1 column of 5k bytes
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_64blength_rangescan_fullTable_25column_1;
+ - DROP TABLE IF EXISTS pkey_256blength_rangescan_fullTable_25column_1;
+ - DROP TABLE IF EXISTS pkey_512blength_rangescan_fullTable_25column_1;
+ - DROP TABLE IF EXISTS pkey_5120blength_rangescan_fullTable_25column_1;
+ - CREATE TABLE pkey_64blength_rangescan_fullTable_25column_1(col_varchar_id_1 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar ,col_varchar_16 varchar ,col_varchar_17 varchar ,col_varchar_18 varchar ,col_varchar_19 varchar ,col_varchar_20 varchar ,col_varchar_21 varchar ,col_varchar_22 varchar ,col_varchar_23 varchar ,col_varchar_24 varchar,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_256blength_rangescan_fullTable_25column_1(col_varchar_id_1 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar ,col_varchar_16 varchar ,col_varchar_17 varchar ,col_varchar_18 varchar ,col_varchar_19 varchar ,col_varchar_20 varchar ,col_varchar_21 varchar ,col_varchar_22 varchar ,col_varchar_23 varchar ,col_varchar_24 varchar,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_512blength_rangescan_fullTable_25column_1(col_varchar_id_1 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar ,col_varchar_16 varchar ,col_varchar_17 varchar ,col_varchar_18 varchar ,col_varchar_19 varchar ,col_varchar_20 varchar ,col_varchar_21 varchar ,col_varchar_22 varchar ,col_varchar_23 varchar ,col_varchar_24 varchar,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_5120blength_rangescan_fullTable_25column_1(col_varchar_id_1 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar ,col_varchar_16 varchar ,col_varchar_17 varchar ,col_varchar_18 varchar ,col_varchar_19 varchar ,col_varchar_20 varchar ,col_varchar_21 varchar ,col_varchar_22 varchar ,col_varchar_23 varchar ,col_varchar_24 varchar,PRIMARY KEY(col_varchar_id_1));
+
+ loadRules:
+ - table: pkey_64blength_rangescan_fullTable_25column_1
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 64]
+ - name: col_varchar_
+ count: 1
+ util: RandomAString
+ params: [16, 16]
+ - table: pkey_256blength_rangescan_fullTable_25column_1
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 256]
+ - name: col_varchar_
+ count: 9
+ util: RandomAString
+ params: [16, 16]
+ - table: pkey_512blength_rangescan_fullTable_25column_1
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 512]
+ - name: col_varchar_
+ count: 24
+ util: RandomAString
+ params: [16, 16]
+ - table: pkey_5120blength_rangescan_fullTable_25column_1
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 5120]
+ - name: col_varchar_
+ count: 99
+ util: RandomAString
+ params: [16, 16]
+
+ executeRules:
+ - workload: cattribG12_pg_pkey64b_rangescan_fullTable_table25column
+ run:
+ - name: pkey64b_rangescan_fullTable_table25column
+ weight: 100
+ queries:
+ - query: select * from pkey_64blength_rangescan_fullTable_25column_1 where col_varchar_id_1 = '1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG12_pg_pkey256b_rangescan_fullTable_table25column
+ run:
+ - name: pkey256b_rangescan_fullTable_table25column
+ weight: 100
+ queries:
+ - query: select * from pkey_256blength_rangescan_fullTable_25column_1 where col_varchar_id_1 = '1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG12_pg_pkey512b_rangescan_fullTable_table25column
+ run:
+ - name: pkey512b_rangescan_fullTable_table25column
+ weight: 100
+ queries:
+ - query: select * from pkey_512blength_rangescan_fullTable_25column_1 where col_varchar_id_1 = '1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG12_pg_pkey5120b_rangescan_fullTable_table25column
+ run:
+ - name: pkey5120b_rangescan_fullTable_table25column
+ weight: 100
+ queries:
+ - query: select * from pkey_5120blength_rangescan_fullTable_25column_1 where col_varchar_id_1 = '1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
diff --git a/config/yugabyte/column_attributes/postgres/cattribG1_pg_increasingColumnCountVarchar.yaml b/config/yugabyte/column_attributes/postgres/cattribG1_pg_increasingColumnCountVarchar.yaml
new file mode 100644
index 000000000..daaa942d9
--- /dev/null
+++ b/config/yugabyte/column_attributes/postgres/cattribG1_pg_increasingColumnCountVarchar.yaml
@@ -0,0 +1,115 @@
+#TEST FOR POSTGRES TABLES
+#GOAL1 Range lookup(PK) on a column of varchar datatype with increasing column count
+#Projection: Increasing number of columns
+#Filter: On Primary key
+#Schema: Same number of column as in the projection
+#TESTS:
+#Projection: Increasing number of columns(Select *)
+#Filter: On Primary key
+#Schema: Same number of column as in the projection
+#Purpose: Full table scan time with increasing columns being fetched
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_2column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_10column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_100column_1;
+ - CREATE TABLE pkey_rangescan_fullTable_2column_1(col_varchar_id_1 varchar,col_varchar_1 varchar,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_rangescan_fullTable_10column_1(col_varchar_id_1 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_rangescan_fullTable_25column_1(col_varchar_id_1 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar ,col_varchar_16 varchar ,col_varchar_17 varchar ,col_varchar_18 varchar ,col_varchar_19 varchar ,col_varchar_20 varchar ,col_varchar_21 varchar ,col_varchar_22 varchar ,col_varchar_23 varchar ,col_varchar_24 varchar,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_rangescan_fullTable_100column_1(col_varchar_id_1 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar ,col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar ,col_varchar_16 varchar ,col_varchar_17 varchar ,col_varchar_18 varchar ,col_varchar_19 varchar ,col_varchar_20 varchar ,col_varchar_21 varchar ,col_varchar_22 varchar ,col_varchar_23 varchar ,col_varchar_24 varchar ,col_varchar_25 varchar ,col_varchar_26 varchar ,col_varchar_27 varchar ,col_varchar_28 varchar ,col_varchar_29 varchar ,col_varchar_30 varchar ,col_varchar_31 varchar ,col_varchar_32 varchar ,col_varchar_33 varchar ,col_varchar_34 varchar ,col_varchar_35 varchar ,col_varchar_36 varchar ,col_varchar_37 varchar ,col_varchar_38 varchar ,col_varchar_39 varchar ,col_varchar_40 varchar ,col_varchar_41 varchar ,col_varchar_42 varchar ,col_varchar_43 varchar ,col_varchar_44 varchar ,col_varchar_45 varchar ,col_varchar_46 varchar ,col_varchar_47 varchar ,col_varchar_48 varchar ,col_varchar_49 varchar ,col_varchar_50 varchar ,col_varchar_51 varchar ,col_varchar_52 varchar ,col_varchar_53 varchar ,col_varchar_54 varchar ,col_varchar_55 varchar ,col_varchar_56 varchar ,col_varchar_57 varchar ,col_varchar_58 varchar ,col_varchar_59 varchar ,col_varchar_60 varchar ,col_varchar_61 varchar ,col_varchar_62 varchar ,col_varchar_63 varchar ,col_varchar_64 varchar ,col_varchar_65 varchar ,col_varchar_66 varchar ,col_varchar_67 varchar ,col_varchar_68 varchar ,col_varchar_69 varchar ,col_varchar_70 varchar ,col_varchar_71 varchar ,col_varchar_72 varchar ,col_varchar_73 varchar ,col_varchar_74 varchar ,col_varchar_75 varchar ,col_varchar_76 varchar ,col_varchar_77 varchar ,col_varchar_78 varchar ,col_varchar_79 varchar ,col_varchar_80 varchar ,col_varchar_81 varchar ,col_varchar_82 varchar ,col_varchar_83 varchar ,col_varchar_84 varchar ,col_varchar_85 varchar ,col_varchar_86 varchar ,col_varchar_87 varchar ,col_varchar_88 varchar ,col_varchar_89 varchar ,col_varchar_90 varchar ,col_varchar_91 varchar ,col_varchar_92 varchar ,col_varchar_93 varchar ,col_varchar_94 varchar ,col_varchar_95 varchar ,col_varchar_96 varchar ,col_varchar_97 varchar ,col_varchar_98 varchar ,col_varchar_99 varchar,PRIMARY KEY(col_varchar_id_1));
+
+ loadRules:
+ - table: pkey_rangescan_fullTable_2column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 128]
+ - name: col_varchar_
+ count: 1
+ util: RandomAString
+ params: [16, 16]
+ - table: pkey_rangescan_fullTable_10column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 128]
+ - name: col_varchar_
+ count: 9
+ util: RandomAString
+ params: [16, 16]
+ - table: pkey_rangescan_fullTable_25column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 128]
+ - name: col_varchar_
+ count: 24
+ util: RandomAString
+ params: [16, 16]
+ - table: pkey_rangescan_fullTable_100column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 128]
+ - name: col_varchar_
+ count: 99
+ util: RandomAString
+ params: [16, 16]
+
+ executeRules:
+ - workload: cattribG1_pg_pkey_rangescan_fullTable_table2column_fetch2column_1MRowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table2column_fetch2column_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_2column_1 where col_varchar_id_1 = '1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG1_pg_pkey_rangescan_fullTable_table10column_fetch10column_1MRowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table10column_fetch10column_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_10column_1 where col_varchar_id_1 = '1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG1_pg_pkey_rangescan_fullTable_table25column_fetch25column_1MRowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table25column_fetch25column_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1 = '1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG1_pg_pkey_rangescan_fullTable_table100column_fetch100column_1MRowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table100column_fetch100column_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_100column_1 where col_varchar_id_1 = '1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
diff --git a/config/yugabyte/column_attributes/postgres/cattribG2_pg_increasingColumnCountVarcharProjection_0RowsFetched.yaml b/config/yugabyte/column_attributes/postgres/cattribG2_pg_increasingColumnCountVarcharProjection_0RowsFetched.yaml
new file mode 100644
index 000000000..7c8d37af9
--- /dev/null
+++ b/config/yugabyte/column_attributes/postgres/cattribG2_pg_increasingColumnCountVarcharProjection_0RowsFetched.yaml
@@ -0,0 +1,66 @@
+#TEST FOR POSTGRES TABLES
+#GOAL2 Range lookup on varying column count fetched on a table with 25 columns. Full table scan with 0 rows returned
+#Projection: Increasing number of columns(Select cols)
+#Filter: On Primary key
+#Schema: 25 columns in a table with varchar datatype
+#Purpose: Full table scan time with increasing columns being fetched
+#TESTS:
+#Time to fetch 2 columns based on one PK
+#Time to fetch 5 columns based on one PK
+#Time to fetch 15 columns based on one PK
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_1;
+ - CREATE TABLE pkey_rangescan_fullTable_25column_1(col_varchar_id_1 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar ,col_varchar_16 varchar ,col_varchar_17 varchar ,col_varchar_18 varchar ,col_varchar_19 varchar ,col_varchar_20 varchar ,col_varchar_21 varchar ,col_varchar_22 varchar ,col_varchar_23 varchar ,col_varchar_24 varchar,PRIMARY KEY(col_varchar_id_1));
+
+ loadRules:
+ - table: pkey_rangescan_fullTable_25column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 128 ]
+ - name: col_varchar_
+ count: 24
+ util: RandomAString
+ params: [ 16, 16 ]
+ executeRules:
+ - workload: cattribG2_pg_pkey_rangescan_fullTable_table25column_fetch2column_0RowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table25column_fetch2column_0RowsFetched
+ weight: 100
+ queries:
+ - query: select col_varchar_1,col_varchar_2 from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1>'1000001aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG2_pg_pkey_rangescan_fullTable_table25column_fetch5column_0RowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table25column_fetch5column_0RowsFetched
+ weight: 100
+ queries:
+ - query: select col_varchar_1,col_varchar_2,col_varchar_3,col_varchar_4,col_varchar_5 from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1>'1000001aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG2_pg_pkey_rangescan_fullTable_table25column_fetch15column_0RowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table25column_fetch15column_0RowsFetched
+ weight: 100
+ queries:
+ - query: select col_varchar_1,col_varchar_2,col_varchar_3,col_varchar_4,col_varchar_5,col_varchar_6,col_varchar_7,col_varchar_8,col_varchar_9,col_varchar_10,col_varchar_11,col_varchar_12,col_varchar_13,col_varchar_14,col_varchar_15 from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1>'1000001aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
\ No newline at end of file
diff --git a/config/yugabyte/column_attributes/postgres/cattribG3_pg_increasingColumnCountVarcharProjection_1MRowsFetched.yaml b/config/yugabyte/column_attributes/postgres/cattribG3_pg_increasingColumnCountVarcharProjection_1MRowsFetched.yaml
new file mode 100644
index 000000000..94cd1f3a9
--- /dev/null
+++ b/config/yugabyte/column_attributes/postgres/cattribG3_pg_increasingColumnCountVarcharProjection_1MRowsFetched.yaml
@@ -0,0 +1,66 @@
+#TEST FOR POSTGRES TABLES
+#GOAL2 Range lookup on varying column count fetched on a table with 25 columns. Full table scan with all rows returned
+#Projection: Increasing number of columns
+#Filter: On Primary key
+#Schema: 25 columns in a table with varchar datatype
+#Purpose: Full table scan time + row handling(de/serialise, encoding) for increasing fetched column being fetched
+#TESTS:
+#Time to fetch 2 columns based on one PK
+#Time to fetch 5 columns based on one PK
+#Time to fetch 15 columns based on one PK
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_1;
+ - CREATE TABLE pkey_rangescan_fullTable_25column_1(col_varchar_id_1 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar ,col_varchar_16 varchar ,col_varchar_17 varchar ,col_varchar_18 varchar ,col_varchar_19 varchar ,col_varchar_20 varchar ,col_varchar_21 varchar ,col_varchar_22 varchar ,col_varchar_23 varchar ,col_varchar_24 varchar,PRIMARY KEY(col_varchar_id_1));
+
+ loadRules:
+ - table: pkey_rangescan_fullTable_25column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 128 ]
+ - name: col_varchar_
+ count: 24
+ util: RandomAString
+ params: [ 16, 16 ]
+ executeRules:
+ - workload: cattribG3_pg_pkey_rangescan_fullTable_table25column_fetch2column_1MRowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table25column_fetch2column_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select col_varchar_1,col_varchar_2 from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1>'1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG3_pg_pkey_rangescan_fullTable_table25column_fetch5column_1MRowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table25column_fetch5column_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select col_varchar_1,col_varchar_2,col_varchar_3,col_varchar_4,col_varchar_5 from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1>'1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG3_pg_pkey_rangescan_fullTable_table25column_fetch15column_1MRowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table25column_fetch15column_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select col_varchar_1,col_varchar_2,col_varchar_3,col_varchar_4,col_varchar_5,col_varchar_6,col_varchar_7,col_varchar_8,col_varchar_9,col_varchar_10,col_varchar_11,col_varchar_12,col_varchar_13,col_varchar_14,col_varchar_15 from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1>'1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
\ No newline at end of file
diff --git a/config/yugabyte/column_attributes/postgres/cattribG4_pg_increasingColumnCountBigIntProjection_1MRowsFetched.yaml b/config/yugabyte/column_attributes/postgres/cattribG4_pg_increasingColumnCountBigIntProjection_1MRowsFetched.yaml
new file mode 100644
index 000000000..25e402d97
--- /dev/null
+++ b/config/yugabyte/column_attributes/postgres/cattribG4_pg_increasingColumnCountBigIntProjection_1MRowsFetched.yaml
@@ -0,0 +1,66 @@
+#TEST FOR POSTGRES TABLES
+#GOAL4 Range lookup on varying column count fetched on a table with 25 columns. Full table scan with all rows returned
+#Projection: Increasing number of columns
+#Filter: On Primary key
+#Schema: 25 columns in a table with bigint datatype
+#Purpose: Full table scan time + row handling(de/serialise, encoding) for increasing fetched column being fetched
+#TESTS:
+#Time to fetch 2 columns based on one PK
+#Time to fetch 5 columns based on one PK
+#Time to fetch 15 columns based on one PK
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_1;
+ - CREATE TABLE pkey_rangescan_fullTable_25column_1(col_bigint_id_1 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint, col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint ,col_bigint_15 bigint ,col_bigint_16 bigint ,col_bigint_17 bigint ,col_bigint_18 bigint ,col_bigint_19 bigint ,col_bigint_20 bigint ,col_bigint_21 bigint ,col_bigint_22 bigint ,col_bigint_23 bigint ,col_bigint_24 bigint,PRIMARY KEY(col_bigint_id_1));
+
+ loadRules:
+ - table: pkey_rangescan_fullTable_25column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 24
+ util: RandomNumber
+ params: [1, 1000000]
+ executeRules:
+ - workload: cattribG4_pg_pkey_rangescan_fullTable_table25column_bigint_fetch2column_1MRowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table25column_bigint_fetch2column_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select col_bigint_1,col_bigint_2 where col_varchar_id_1>1
+ - workload: cattribG4_pg_pkey_rangescan_fullTable_table25column_bigint_fetch5column_1MRowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table25column_bigint_fetch5column_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select col_bigint_1,col_bigint_2,col_bigint_3,col_bigint_4,col_bigint_5 where col_varchar_id_1>1
+ - workload: cattribG4_pg_pkey_rangescan_fullTable_table25column_bigint_fetch15column_1MRowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table25column_bigint_fetch15column_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select col_bigint_1,col_bigint_2,col_bigint_3,col_bigint_4,col_bigint_5,col_bigint_6,col_bigint_7,col_bigint_8,col_bigint_9,col_bigint_10,col_bigint_11,col_bigint_12,col_bigint_13,col_bigint_14,col_bigint_15 from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1>1
\ No newline at end of file
diff --git a/config/yugabyte/column_attributes/postgres/cattribG5_pg_increasingColumnCountVarcharProjection_1MRowsFetched_PKvsIndexvsCovering.yaml b/config/yugabyte/column_attributes/postgres/cattribG5_pg_increasingColumnCountVarcharProjection_1MRowsFetched_PKvsIndexvsCovering.yaml
new file mode 100644
index 000000000..f0944f3d2
--- /dev/null
+++ b/config/yugabyte/column_attributes/postgres/cattribG5_pg_increasingColumnCountVarcharProjection_1MRowsFetched_PKvsIndexvsCovering.yaml
@@ -0,0 +1,63 @@
+#TEST FOR POSTGRES TABLES
+#GOAL5 Range lookup on varying column count fetched on a table with 25 columns. Full table scan with all rows returned
+#Projection: Indexed column or covered column
+#Filter: On Index key
+#Schema: 25 columns in a table with varchar datatype
+#Purpose: PK vs indexed vs covered column
+#TESTS:
+#Time to fetch 2 column based on one indexed column
+#Time to fetch 2 covered column based on one indexed column
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_idx_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_idxcover_1;
+ - CREATE TABLE pkey_rangescan_fullTable_25column_idx_1(col_varchar_id_1 varchar,col_varchar_id_2 varchar,col_varchar_id_3 varchar,col_varchar_id_4 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar ,col_varchar_16 varchar ,col_varchar_17 varchar ,col_varchar_18 varchar ,col_varchar_19 varchar ,col_varchar_20 varchar ,col_varchar_21 varchar ,PRIMARY KEY(col_varchar_id_1));
+ - CREATE INDEX ON pkey_rangescan_fullTable_25column_idx_1(col_varchar_id_2);
+ - CREATE TABLE pkey_rangescan_fullTable_25column_idxcover_1(col_varchar_id_1 varchar,col_varchar_id_2 varchar,col_varchar_id_3 varchar,col_varchar_id_4 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar ,col_varchar_16 varchar ,col_varchar_17 varchar ,col_varchar_18 varchar ,col_varchar_19 varchar ,col_varchar_20 varchar ,col_varchar_21 varchar ,PRIMARY KEY(col_varchar_id_1));
+ - CREATE INDEX ON pkey_rangescan_fullTable_25column_idx_1(col_varchar_id_2) INCLUDE (col_varchar_id_3,col_varchar_id_4);
+
+ loadRules:
+ - table: pkey_rangescan_fullTable_25column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 4
+ util: PrimaryStringGen
+ params: [ 1, 128 ]
+ - name: col_varchar_
+ count: 21
+ util: RandomAString
+ params: [ 16, 16 ]
+ executeRules:
+ - workload: cattribG5_pg_pkey_rangescan_fullTable_table25column_fetch2column_usingIdx_1MRowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table25column_fetch2column_usingIdx_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select col_varchar_id_3,col_varchar_id_4 from pkey_rangescan_fullTable_25column_idx_1 where col_varchar_id_2>'1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG5_pg_pkey_rangescan_fullTable_table25column_fetch2CoveredColumn_usingIdx_1MRowsFetched
+ run:
+ - name: pkey_rangescan_fullTable_table25column_fetch2CoveredColumn_usingIdx_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select col_varchar_id_3,col_varchar_id_4 from pkey_rangescan_fullTable_25column_idxcover_1 where col_varchar_id_2>'1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
diff --git a/config/yugabyte/column_attributes/postgres/cattribG6_pg_icreasingNonIndexedFilter_varchar.yaml b/config/yugabyte/column_attributes/postgres/cattribG6_pg_icreasingNonIndexedFilter_varchar.yaml
new file mode 100644
index 000000000..e9dd3b884
--- /dev/null
+++ b/config/yugabyte/column_attributes/postgres/cattribG6_pg_icreasingNonIndexedFilter_varchar.yaml
@@ -0,0 +1,86 @@
+#TEST FOR POSTGRES TABLES
+#GOAL6 Lookup on a table with 25 column with increasing count of filter columns
+#Projection: All columns
+#Filter: Increasing column count | Non indexed columns
+#Schema: 25 columns in a table with varchar datatype
+#Purpose: Impact of increasing filter column count
+#TESTS:
+#Time to fetch all columns based on 2 non indexed column
+#Time to fetch all columns based on 5 non indexed column
+#Time to fetch all columns based on 10 non indexed column
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_1;
+ - CREATE TABLE pkey_rangescan_fullTable_25column_1(col_varchar_id_1 varchar,col_varchar_id_2 varchar,col_varchar_id_3 varchar,col_varchar_id_4 varchar,col_varchar_id_5 varchar,col_varchar_id_6 varchar,col_varchar_id_7 varchar,col_varchar_id_8 varchar,col_varchar_id_9 varchar,col_varchar_id_10 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar);
+
+ loadRules:
+ - table: pkey_rangescan_fullTable_25column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 10
+ util: PrimaryStringGen
+ params: [ 1, 128 ]
+ - name: col_varchar_
+ count: 15
+ util: RandomAString
+ params: [ 16, 16 ]
+
+ executeRules:
+ - workload: cattribG6_pg_seqscan_table25column_2nonindexedCol_noRowsFetched
+ run:
+ - name: seqscan_table25column_2nonindexedCol_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_2='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab'
+ - workload: cattribG6_pg_seqscan_table25column_2nonindexedCol_1RowFetched
+ run:
+ - name: seqscan_table25column_2nonindexedCol_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_2='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG6_pg_seqscan_table25column_5nonindexedCol_noRowsFetched
+ run:
+ - name: seqscan_table25column_5nonindexedCol_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_2='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_3='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_4='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_5='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab'
+ - workload: cattribG6_pg_seqscan_table25column_5nonindexedCol_1RowFetched
+ run:
+ - name: seqscan_table25column_5nonindexedCol_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_2='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_3='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_4='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_5='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG6_pg_seqscan_table25column_10nonindexedCol_noRowsFetched
+ run:
+ - name: seqscan_table25column_10nonindexedCol_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_2='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_3='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_4='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_5='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_6='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_7='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_8='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_9='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_10='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab'
+ - workload: cattribG6_pg_seqscan_table25column_10nonindexedCol_1RowFetched
+ run:
+ - name: pg_seqscan_table25column_10nonindexedCol_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_2='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_3='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_4='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_5='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_6='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_7='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_8='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_9='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_10='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+
diff --git a/config/yugabyte/column_attributes/postgres/cattribG7_pg_icreasingNonIndexedFilter_bigint.yaml b/config/yugabyte/column_attributes/postgres/cattribG7_pg_icreasingNonIndexedFilter_bigint.yaml
new file mode 100644
index 000000000..cf0235a31
--- /dev/null
+++ b/config/yugabyte/column_attributes/postgres/cattribG7_pg_icreasingNonIndexedFilter_bigint.yaml
@@ -0,0 +1,86 @@
+#TEST FOR POSTGRES TABLES
+#GOAL7 Lookup on a table with 25 column with increasing count of filter columns
+#Projection: All columns
+#Filter: Increasing column count | Non indexed columns
+#Schema: 25 columns in a table with bigint datatype
+#Purpose: Impact of increasing filter column count
+#TESTS:
+#Time to fetch all columns based on 2 non indexed column
+#Time to fetch all columns based on 5 non indexed column
+#Time to fetch all columns based on 10 non indexed column
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS noidx_rangescan_fullTable_bigint_25column_1;
+ - CREATE TABLE noidx_rangescan_fullTable_bigint_25column_1(col_bigint_id_1 bigint,col_bigint_id_2 bigint,col_bigint_id_3 bigint,col_bigint_id_4 bigint,col_bigint_id_5 bigint,col_bigint_id_6 bigint,col_bigint_id_7 bigint,col_bigint_id_8 bigint,col_bigint_id_9 bigint,col_bigint_id_10 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint, col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint ,col_bigint_15 bigint);
+
+ loadRules:
+ - table: pkey_rangescan_fullTable_bigint_25column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 10
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 15
+ util: RandomNumber
+ params: [1, 1000000]
+
+ executeRules:
+ - workload: cattribG7_pg_seqscan_table25column_2nonindexedCol_bigint_noRowsFetched
+ run:
+ - name: seqscan_table25column_2nonindexedCol_bigint_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from noidx_rangescan_fullTable_bigint_25column_1 where col_bigint_id_1=1000001 and col_bigint_id_2=1000001
+ - workload: cattribG7_pg_seqscan_table25column_2nonindexedCol_bigint_1RowFetched
+ run:
+ - name: seqscan_table25column_2nonindexedCol_bigint_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from noidx_rangescan_fullTable_bigint_25column_1 where col_bigint_id_1=999998 and col_bigint_id_2=999998
+ - workload: cattribG7_pg_seqscan_table25column_5nonindexedCol_bigint_noRowsFetched
+ run:
+ - name: seqscan_table25column_5nonindexedCol_bigint_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from noidx_rangescan_fullTable_bigint_25column_1 where col_bigint_id_1=1000001 and col_bigint_id_2=1000001 and col_bigint_id_3=1000001 and col_bigint_id_4=1000001 and col_bigint_id_5=1000001
+ - workload: cattribG7_pg_seqscan_table25column_5nonindexedCol_bigint_1RowFetched
+ run:
+ - name: seqscan_table25column_5nonindexedCol_bigint_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from noidx_rangescan_fullTable_bigint_25column_1 where col_bigint_id_1=999998 and col_bigint_id_2=999998 and col_bigint_id_3=999998 and col_bigint_id_4=999998 and col_bigint_id_5=999998
+ - workload: cattribG7_pg_seqscan_table25column_10nonindexedCol_bigint_noRowsFetched
+ run:
+ - name: seqscan_table25column_10nonindexedCol_bigint_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from noidx_rangescan_fullTable_bigint_25column_1 where col_bigint_id_1=1000001 and col_bigint_id_2=1000001 and col_bigint_id_3=1000001 and col_bigint_id_4=1000001 and col_bigint_id_5=1000001 and col_bigint_id_6=1000001 and col_bigint_id_7=1000001 and col_bigint_id_8=1000001 and col_bigint_id_9=1000001 and col_bigint_id_10=1000001
+ - workload: cattribG7_pg_seqscan_table25column_10nonindexedCol_bigint_1RowFetched
+ run:
+ - name: pg_seqscan_table25column_10nonindexedCol_bigint_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from noidx_rangescan_fullTable_bigint_25column_1 where col_bigint_id_1=999998 and col_bigint_id_2=999998 and col_bigint_id_3=999998 and col_bigint_id_4=999998 and col_bigint_id_5=999998 and col_bigint_id_6=999998 and col_bigint_id_7=999998 and col_bigint_id_8=999998 and col_bigint_id_9=999998 and col_bigint_id_10=999998
+
diff --git a/config/yugabyte/column_attributes/postgres/cattribG8_pg_increasingPKFilter_varchar.yaml b/config/yugabyte/column_attributes/postgres/cattribG8_pg_increasingPKFilter_varchar.yaml
new file mode 100644
index 000000000..68c63165b
--- /dev/null
+++ b/config/yugabyte/column_attributes/postgres/cattribG8_pg_increasingPKFilter_varchar.yaml
@@ -0,0 +1,113 @@
+#TEST FOR POSTGRES TABLES
+#GOAL8 Lookup on a table with 25 column with increasing count of filter columns
+#Projection: All columns
+#Filter: Increasing column count | Primary Key
+#Schema: 25 columns in a table with varchar datatype
+#Purpose: Impact of increasing filter column count
+#TESTS:
+#Time to fetch all columns based on 2 non indexed column
+#Time to fetch all columns based on 5 non indexed column
+#Time to fetch all columns based on 10 non indexed column
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_2pk_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_5pk_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_10pk_1;
+ - CREATE TABLE pkey_rangescan_fullTable_25column_10pk_1(col_varchar_id_1 varchar,col_varchar_id_2 varchar,col_varchar_id_3 varchar,col_varchar_id_4 varchar,col_varchar_id_5 varchar,col_varchar_id_6 varchar,col_varchar_id_7 varchar,col_varchar_id_8 varchar,col_varchar_id_9 varchar,col_varchar_id_10 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar, PRIMARY KEY(col_varchar_id_1,col_varchar_id_2));
+ - CREATE TABLE pkey_rangescan_fullTable_25column_10pk_1(col_varchar_id_1 varchar,col_varchar_id_2 varchar,col_varchar_id_3 varchar,col_varchar_id_4 varchar,col_varchar_id_5 varchar,col_varchar_id_6 varchar,col_varchar_id_7 varchar,col_varchar_id_8 varchar,col_varchar_id_9 varchar,col_varchar_id_10 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar, PRIMARY KEY(col_varchar_id_1,col_varchar_id_2,col_varchar_id_3,col_varchar_id_4,col_varchar_id_5));
+ - CREATE TABLE pkey_rangescan_fullTable_25column_10pk_1(col_varchar_id_1 varchar,col_varchar_id_2 varchar,col_varchar_id_3 varchar,col_varchar_id_4 varchar,col_varchar_id_5 varchar,col_varchar_id_6 varchar,col_varchar_id_7 varchar,col_varchar_id_8 varchar,col_varchar_id_9 varchar,col_varchar_id_10 varchar,col_varchar_1 varchar ,col_varchar_2 varchar ,col_varchar_3 varchar ,col_varchar_4 varchar ,col_varchar_5 varchar ,col_varchar_6 varchar ,col_varchar_7 varchar ,col_varchar_8 varchar ,col_varchar_9 varchar, col_varchar_10 varchar ,col_varchar_11 varchar ,col_varchar_12 varchar ,col_varchar_13 varchar ,col_varchar_14 varchar ,col_varchar_15 varchar, PRIMARY KEY(col_varchar_id_1,col_varchar_id_2,col_varchar_id_3,col_varchar_id_4,col_varchar_id_5,col_varchar_id_6,col_varchar_id_7.col_varchar_id_8,col_varchar_id_9,col_varchar_id_10));
+
+ loadRules:
+ - table: pkey_rangescan_fullTable_25column_2pk_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 10
+ util: PrimaryStringGen
+ params: [ 1, 128 ]
+ - name: col_varchar_
+ count: 15
+ util: RandomAString
+ params: [ 16, 16 ]
+ - table: pkey_rangescan_fullTable_25column_5pk_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 10
+ util: PrimaryStringGen
+ params: [ 1, 128 ]
+ - name: col_varchar_
+ count: 15
+ util: RandomAString
+ params: [ 16, 16 ]
+ - table: pkey_rangescan_fullTable_25column_10pk_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 10
+ util: PrimaryStringGen
+ params: [ 1, 128 ]
+ - name: col_varchar_
+ count: 15
+ util: RandomAString
+ params: [ 16, 16 ]
+ executeRules:
+ - workload: cattribG8_pg_seqscan_table25column_2pkCol_noRowsFetched
+ run:
+ - name: seqscan_table25column_2pkCol_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_2pk_1 where col_varchar_id_1='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_2='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab'
+ - workload: cattribG8_pg_seqscan_table25column_2pkCol_1RowFetched
+ run:
+ - name: seqscan_table25column_2pkCol_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_2pk_1 where col_varchar_id_1='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_2='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG8_pg_seqscan_table25column_5pkCol_noRowsFetched
+ run:
+ - name: seqscan_table25column_5pkCol_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_5pk_1 where col_varchar_id_1='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_2='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_3='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_4='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_5='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab'
+ - workload: cattribG8_pg_seqscan_table25column_5pkCol_1RowFetched
+ run:
+ - name: seqscan_table25column_5pkCol_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_5pk_1 where col_varchar_id_1='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_2='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_3='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_4='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_5='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribG8_pg_seqscan_table25column_10pkCol_noRowsFetched
+ run:
+ - name: seqscan_table25column_10pkCol_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_10pk_1 where col_varchar_id_1='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_2='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_3='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_4='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_5='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_6='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_7='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_8='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_9='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab' and col_varchar_id_10='1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab'
+ - workload: cattribG8_pg_seqscan_table25column_10pkCol_1RowFetched
+ run:
+ - name: pg_seqscan_table25column_10pkCol_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_10pk_1 where col_varchar_id_1='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_2='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_3='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_4='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_5='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_6='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_7='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_8='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_9='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' and col_varchar_id_10='999998aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+
diff --git a/config/yugabyte/column_attributes/postgres/cattribG9_pg_increasingPKFilter_bigint.yaml b/config/yugabyte/column_attributes/postgres/cattribG9_pg_increasingPKFilter_bigint.yaml
new file mode 100644
index 000000000..9297e8058
--- /dev/null
+++ b/config/yugabyte/column_attributes/postgres/cattribG9_pg_increasingPKFilter_bigint.yaml
@@ -0,0 +1,113 @@
+#TEST FOR POSTGRES TABLES
+#GOAL9 Lookup on a table with 25 column with increasing count of filter columns
+#Projection: All columns
+#Filter: Increasing column count | Non indexed columns
+#Schema: 25 columns in a table with bigint datatype
+#Purpose: Impact of increasing filter column count
+#TESTS:
+#Time to fetch all columns based on 2 non indexed column
+#Time to fetch all columns based on 5 non indexed column
+#Time to fetch all columns based on 10 non indexed column
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_bigint_2pk_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_bigint_5pk_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_bigint_10pk_1;
+ - CREATE TABLE pkey_rangescan_fullTable_25column_bigint_2pk_1(col_bigint_id_1 bigint,col_bigint_id_2 bigint,col_bigint_id_3 bigint,col_bigint_id_4 bigint,col_bigint_id_5 bigint,col_bigint_id_6 bigint,col_bigint_id_7 bigint,col_bigint_id_8 bigint,col_bigint_id_9 bigint,col_bigint_id_10 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint, col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint,col_bigint_15 bigint , PRIMARY KEY(col_bigint_id_1,col_bigint_id_2));
+ - CREATE TABLE pkey_rangescan_fullTable_25column_bigint_5pk_1(col_bigint_id_1 bigint,col_bigint_id_2 bigint,col_bigint_id_3 bigint,col_bigint_id_4 bigint,col_bigint_id_5 bigint,col_bigint_id_6 bigint,col_bigint_id_7 bigint,col_bigint_id_8 bigint,col_bigint_id_9 bigint,col_bigint_id_10 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint, col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint,col_bigint_15 bigint , PRIMARY KEY(col_bigint_id_1,col_bigint_id_2,col_bigint_id_3,col_bigint_id_4,col_bigint_id_5));
+ - CREATE TABLE pkey_rangescan_fullTable_25column_bigint_10pk_1(col_bigint_id_1 bigint,col_bigint_id_2 bigint,col_bigint_id_3 bigint,col_bigint_id_4 bigint,col_bigint_id_5 bigint,col_bigint_id_6 bigint,col_bigint_id_7 bigint,col_bigint_id_8 bigint,col_bigint_id_9 bigint,col_bigint_id_10 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint, col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint,col_bigint_15 bigint , PRIMARY KEY(col_bigint_id_1,col_bigint_id_2,col_bigint_id_3,col_bigint_id_4,col_bigint_id_5,col_bigint_id_6,col_bigint_id_7,col_bigint_id_8,col_bigint_id_9,col_bigint_id_10));
+ loadRules:
+ - table: pkey_rangescan_fullTable_25column_bigint_2pk_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 10
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 15
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_25column_bigint_5pk_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 10
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 15
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_25column_bigint_10pk_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 10
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 15
+ util: RandomNumber
+ params: [1, 1000000]
+
+ executeRules:
+ - workload: cattribG9_pg_seqscan_table25column_2pk_bigint_noRowsFetched
+ run:
+ - name: seqscan_table25column_2pk_bigint_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_bigint_2pk_1 where col_bigint_id_1=1000001 and col_bigint_id_2=1000001
+ - workload: cattribG9_pg_seqscan_table25column_2pk_bigint_1RowFetched
+ run:
+ - name: seqscan_table25column_2pk_bigint_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_bigint_2pk_1 where col_bigint_id_1=999998 and col_bigint_id_2=999998
+ - workload: cattribG9_pg_seqscan_table25column_5pk_bigint_noRowsFetched
+ run:
+ - name: seqscan_table25column_5pk_bigint_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_bigint_5pk_1 where col_bigint_id_1=1000001 and col_bigint_id_2=1000001 and col_bigint_id_3=1000001 and col_bigint_id_4=1000001 and col_bigint_id_5=1000001
+ - workload: cattribG9_pg_seqscan_table25column_5pk_bigint_1RowFetched
+ run:
+ - name: seqscan_table25column_5pk_bigint_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_bigint_5pk_1 where col_bigint_id_1=999998 and col_bigint_id_2=999998 and col_bigint_id_3=999998 and col_bigint_id_4=999998 and col_bigint_id_5=999998
+ - workload: cattribG9_pg_seqscan_table25column_10pk_bigint_noRowsFetched
+ run:
+ - name: seqscan_table25column_10pk_bigint_noRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_bigint_10pk_1 where col_bigint_id_1=1000001 and col_bigint_id_2=1000001 and col_bigint_id_3=1000001 and col_bigint_id_4=1000001 and col_bigint_id_5=1000001 and col_bigint_id_6=1000001 and col_bigint_id_7=1000001 and col_bigint_id_8=1000001 and col_bigint_id_9=1000001 and col_bigint_id_10=1000001
+ - workload: cattribG9_pg_seqscan_table25column_10pk_bigint_1RowFetched
+ run:
+ - name: pg_seqscan_table25column_10pk_bigint_1RowFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_bigint_10pk_1 where col_bigint_id_1=999998 and col_bigint_id_2=999998 and col_bigint_id_3=999998 and col_bigint_id_4=999998 and col_bigint_id_5=999998 and col_bigint_id_6=999998 and col_bigint_id_7=999998 and col_bigint_id_8=999998 and col_bigint_id_9=999998 and col_bigint_id_10=999998
+
diff --git a/config/yugabyte/copy_command.yaml b/config/yugabyte/copy_command.yaml
new file mode 100644
index 000000000..54a8bd0c1
--- /dev/null
+++ b/config/yugabyte/copy_command.yaml
@@ -0,0 +1,27 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.CopyCommand
+ properties:
+ tableName: orders
+ columns: 10
+ rows: 100
+ indexes: 1
+ filePath: orders.csv
+ rowsPerTransaction: 1000
+
diff --git a/config/yugabyte/demo/Colocated_with_pk.yaml b/config/yugabyte/demo/Colocated_with_pk.yaml
new file mode 100644
index 000000000..bf508d2a9
--- /dev/null
+++ b/config/yugabyte/demo/Colocated_with_pk.yaml
@@ -0,0 +1,31 @@
+type: YUGABYTE
+createdb: CREATE DATABASE yb1 WITH colocated = true;
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 3
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.ColocatedWithPK
+ properties:
+ create:
+ - DROP PROCEDURE IF exists insert_demo
+ - CREATE PROCEDURE insert_demo(_numRows int)
+ LANGUAGE plpgsql
+ AS $$
+ DECLARE
+ BEGIN
+ insert into demo (id, col1, col2, col3, col4,col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15) select n, n, n+100, (n%100)+1, (n%1000)+1, 'aaa'||(n%1000)+1, '2022-12-10', n%50, n*10, 'bbb'||n, n%10, n*2, 'ccc'||(n%100), RANDOM()::INT::BOOLEAN, n, n from generate_series(1,_numRows) n;
+ END;
+ $$;
+ - drop table if exists demo;
+ - create table demo (id bigint primary key, col1 int, col2 int, col3 int, col4 int, col5 varchar(20), col6 date, col7 int, col8 bigint, col9 varchar(10), col10 int, col11 bigint, col12 varchar(10), col13 boolean, col14 int, col15 int) with (colocated = true);
diff --git a/config/yugabyte/demo/Write_Impact_with_extra_index_1.yaml b/config/yugabyte/demo/Write_Impact_with_extra_index_1.yaml
new file mode 100644
index 000000000..b39c25426
--- /dev/null
+++ b/config/yugabyte/demo/Write_Impact_with_extra_index_1.yaml
@@ -0,0 +1,32 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 5
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBMicroBenchmarkWriteImpactWithExtraIndex1
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP PROCEDURE if exists insert_demo;
+ - CREATE PROCEDURE insert_demo(_numRows int)
+ LANGUAGE plpgsql
+ AS $$
+ DECLARE
+ BEGIN
+ insert into demo (id, col1, col2, col3, col4,col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15) select n, n, n+100, (n%100)+1, (n%1000)+1, 'aaa'||(n%1000)+1, '2022-12-10', n%50, n*10, 'bbb'||n, n%10, n*2, 'ccc'||(n%100), RANDOM()::INT::BOOLEAN, n, n from generate_series(1,_numRows) n;
+ END;
+ $$;
+ - drop table if exists demo;
+ - create table demo (id bigint primary key, col1 int, col2 int, col3 int, col4 int, col5 varchar(20), col6 date, col7 int, col8 bigint, col9 varchar(10), col10 int, col11 bigint, col12 varchar(10), col13 boolean, col14 int, col15 int);
+ - create index demo_idx1 on demo(col1);
diff --git a/config/yugabyte/demo/Write_impact_with_extra_index_0.yaml b/config/yugabyte/demo/Write_impact_with_extra_index_0.yaml
new file mode 100644
index 000000000..eb230328d
--- /dev/null
+++ b/config/yugabyte/demo/Write_impact_with_extra_index_0.yaml
@@ -0,0 +1,31 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 5
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBMicroBenchmarkWriteImpactWithExtraIndex0
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP PROCEDURE if exists insert_demo;
+ - CREATE PROCEDURE insert_demo(_numRows int)
+ LANGUAGE plpgsql
+ AS $$
+ DECLARE
+ BEGIN
+ insert into demo (id, col1, col2, col3, col4,col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15) select n, n, n+100, (n%100)+1, (n%1000)+1, 'aaa'||(n%1000)+1, '2022-12-10', n%50, n*10, 'bbb'||n, n%10, n*2, 'ccc'||(n%100), RANDOM()::INT::BOOLEAN, n, n from generate_series(1,_numRows) n;
+ END;
+ $$;
+ - drop table if exists demo;
+ - create table demo (id bigint primary key, col1 int, col2 int, col3 int, col4 int, col5 varchar(20), col6 date, col7 int, col8 bigint, col9 varchar(10), col10 int, col11 bigint, col12 varchar(10), col13 boolean, col14 int, col15 int);
diff --git a/config/yugabyte/demo/Write_impact_with_extra_index_10.yaml b/config/yugabyte/demo/Write_impact_with_extra_index_10.yaml
new file mode 100644
index 000000000..2903d5ba9
--- /dev/null
+++ b/config/yugabyte/demo/Write_impact_with_extra_index_10.yaml
@@ -0,0 +1,41 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 5
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBMicroBenchmarkWriteImpactWithExtraIndex10
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP PROCEDURE if exists insert_demo;
+ - CREATE PROCEDURE insert_demo(_numRows int)
+ LANGUAGE plpgsql
+ AS $$
+ DECLARE
+ BEGIN
+ insert into demo (id, col1, col2, col3, col4,col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15) select n, n, n+100, (n%100)+1, (n%1000)+1, 'aaa'||(n%1000)+1, '2022-12-10', n%50, n*10, 'bbb'||n, n%10, n*2, 'ccc'||(n%100), RANDOM()::INT::BOOLEAN, n, n from generate_series(1,_numRows) n;
+ END;
+ $$;
+ - drop table if exists demo;
+ - create table demo (id bigint primary key, col1 int, col2 int, col3 int, col4 int, col5 varchar(20), col6 date, col7 int, col8 bigint, col9 varchar(10), col10 int, col11 bigint, col12 varchar(10), col13 boolean, col14 int, col15 int);
+ - create index demo_idx1 on demo(col1);
+ - create index demo_idx2 on demo(col5);
+ - create index demo_idx3 on demo(col6);
+ - create index demo_idx4 on demo(col8);
+ - create index demo_idx5 on demo(col13);
+ - create index demo_idx6 on demo(col9);
+ - create index demo_idx7 on demo(col10);
+ - create index demo_idx8 on demo(col11);
+ - create index demo_idx9 on demo(col12);
+ - create index demo_idx10 on demo(col2);
diff --git a/config/yugabyte/demo/Write_impact_with_extra_index_5.yaml b/config/yugabyte/demo/Write_impact_with_extra_index_5.yaml
new file mode 100644
index 000000000..e7bd32452
--- /dev/null
+++ b/config/yugabyte/demo/Write_impact_with_extra_index_5.yaml
@@ -0,0 +1,36 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 5
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBMicroBenchmarkWriteImpactWithExtraIndex5
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP PROCEDURE if exists insert_demo;
+ - CREATE PROCEDURE insert_demo(_numRows int)
+ LANGUAGE plpgsql
+ AS $$
+ DECLARE
+ BEGIN
+ insert into demo (id, col1, col2, col3, col4,col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15) select n, n, n+100, (n%100)+1, (n%1000)+1, 'aaa'||(n%1000)+1, '2022-12-10', n%50, n*10, 'bbb'||n, n%10, n*2, 'ccc'||(n%100), RANDOM()::INT::BOOLEAN, n, n from generate_series(1,_numRows) n;
+ END;
+ $$;
+ - drop table if exists demo;
+ - create table demo (id bigint primary key, col1 int, col2 int, col3 int, col4 int, col5 varchar(20), col6 date, col7 int, col8 bigint, col9 varchar(10), col10 int, col11 bigint, col12 varchar(10), col13 boolean, col14 int, col15 int);
+ - create index demo_idx1 on demo(col1);
+ - create index demo_idx2 on demo(col5);
+ - create index demo_idx3 on demo(col6);
+ - create index demo_idx4 on demo(col8);
+ - create index demo_idx5 on demo(col13);
diff --git a/config/yugabyte/demo/featurebench_after_load.yaml b/config/yugabyte/demo/featurebench_after_load.yaml
new file mode 100644
index 000000000..6db740795
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_after_load.yaml
@@ -0,0 +1,53 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+terminals: 1
+loaderthreads: 1
+works:
+ work:
+ time: 4
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit : true
+ create:
+ - DROP TABLE IF EXISTS categories cascade;
+ - CREATE TABLE categories(categoryId int NOT NULL, categoryName varchar(100) NOT NULL,PRIMARY KEY (categoryId));
+ - DROP TABLE IF EXISTS products;
+ - CREATE TABLE products(productId int NOT NULL,productName varchar(100) NOT NULL, PRIMARY KEY (productId));
+ loadRules:
+ - table: categories
+ rows: 50
+ columns:
+ - name: categoryId
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 50
+ - name: categoryName
+ util: RandomAString
+ params:
+ - 3
+ - 5
+ - table: products
+ rows: 50
+ columns:
+ - name: productId
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 50
+ - name: productName
+ util: RandomAString
+ params:
+ - 3
+ - 5
+ afterLoad :
+ - ALTER TABLE products add column categoryId int constraint fk_category_categoryId REFERENCES categories(categoryId);
\ No newline at end of file
diff --git a/config/yugabyte/demo/featurebench_colocated.yaml b/config/yugabyte/demo/featurebench_colocated.yaml
new file mode 100644
index 000000000..bfb6d7415
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_colocated.yaml
@@ -0,0 +1,72 @@
+type: YUGABYTE
+createdb: DROP database if exists yb1;CREATE database yb1 WITH colocated = true;
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 3
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ create:
+ - DROP TABLE IF EXISTS accounts;
+ - CREATE TABLE accounts (id int NOT NULL, name varchar(64) NOT NULL, CONSTRAINT pk_accounts PRIMARY KEY (id));
+ loadRules:
+ - table: accounts
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 10
+ - name: name
+ util: RandomStringNumeric
+ params:
+ - 10
+ executeRules:
+ - workload: Scan
+ run:
+ - name: Account_query1
+ weight: 50
+ queries:
+ - query: SELECT * FROM accounts WHERE id AND id>=?
+ bindings:
+ - util: RandomNumber
+ params:
+ - 8
+ - 10
+ - util: RandomNumber
+ params:
+ - 1
+ - 4
+ - query: SELECT * FROM accounts WHERE id<=?
+ bindings:
+ - util: RandomNumber
+ params:
+ - 5
+ - 10
+ - name: Account_query2
+ weight: 50
+ queries:
+ - query: SELECT * FROM accounts WHERE id>?
+ bindings:
+ - util: RandomNumber
+ params:
+ - 9
+ - 10
+ - query: SELECT * FROM accounts WHERE id<=?
+ bindings:
+ - util: RandomNumber
+ params:
+ - 7
+ - 9
diff --git a/config/yugabyte/demo/featurebench_comma_separated_config.yaml b/config/yugabyte/demo/featurebench_comma_separated_config.yaml
new file mode 100644
index 000000000..19bea7dd8
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_comma_separated_config.yaml
@@ -0,0 +1,37 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 5
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP Table if exists demo1_1;
+ - create table demo1_1(id int,name text, PRIMARY key (id))
+ - DROP Table if exists demo2_1;
+ - create table demo2_1(id int,name text, PRIMARY key (id))
+ loadRules:
+ - table: demo1_1 , demo2_1
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 10
+ - name: name
+ util: RandomStringNumeric
+ params:
+ - 4
diff --git a/config/yugabyte/demo/featurebench_count_execute.yaml b/config/yugabyte/demo/featurebench_count_execute.yaml
new file mode 100644
index 000000000..126c3b168
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_count_execute.yaml
@@ -0,0 +1,83 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 3
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS demo100col;
+ - CREATE TABLE demo100col (id INT, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, primary key (id ASC)) ;
+ loadRules:
+ - table: demo100col
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000
+ - name: col
+ count: 100
+ util: RandomStringNumeric
+ params:
+ - 128
+
+ executeRules:
+ - workload: RangeScan
+ run:
+ - name: ReadQuery1
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo100col WHERE id < ? and id > ?
+ bindings:
+ - util: RandomNumber
+ count: 2
+ params:
+ - 10
+ - 30
+
+ - name: WriteQuery1
+ weight: 50
+ queries:
+ - query: UPDATE demo100col set col3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
+ - run:
+ - name: ReadQuery2
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo100col WHERE id < 10
+
+ - name: WriteQuery2
+ weight: 50
+ queries:
+ - query: UPDATE demo100col set col4 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
diff --git a/config/yugabyte/demo/featurebench_count_query.yaml b/config/yugabyte/demo/featurebench_count_query.yaml
new file mode 100644
index 000000000..af25a6d57
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_count_query.yaml
@@ -0,0 +1,78 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 5
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS demo2col;
+ - CREATE TABLE demo2col (id INT, col1 TEXT, col2 TEXT, primary key (id ASC)) ;
+ loadRules:
+ - table: demo2col
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000
+ - name: col
+ count: 2
+ util: RandomStringNumeric
+ params:
+ - 128
+ executeRules:
+ - workload: RangeScan
+ run:
+ - name: ReadQuery1
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo2col WHERE id < 10
+ count: 3
+ - name: WriteQuery1
+ weight: 50
+ queries:
+ - query: UPDATE demo2col set col2 = ? where id = ?
+ count: 2
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
+
+ - run:
+ - name: ReadQuery2
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo2col WHERE id < 10
+ - name: WriteQuery2
+ weight: 50
+ queries:
+ - query: UPDATE demo2col set col2 = ? where id = ?
+ count: 2
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
diff --git a/config/yugabyte/demo/featurebench_count_sample.yaml b/config/yugabyte/demo/featurebench_count_sample.yaml
new file mode 100644
index 000000000..35e0844ab
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_count_sample.yaml
@@ -0,0 +1,143 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password: Password321@
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 3
+ active_terminals: 1
+ rate: unlimited
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create index index_test_2_idx1 on index_test_2(col_int_1);
+ - create index index_test_3_idx1 on index_test_3(col_int_1);
+ - create index index_test_3_idx2 on index_test_3(col_int_2);
+ - create index index_test_3_idx3 on index_test_3(col_int_3);
+ - create index index_test_3_idx4 on index_test_3(col_int_4);
+ - create index index_test_3_idx5 on index_test_3(col_int_5);
+ - create index index_test_4_idx1 on index_test_4(col_int_1);
+ - create index index_test_4_idx2 on index_test_4(col_int_2);
+ - create index index_test_4_idx3 on index_test_4(col_int_3);
+ - create index index_test_4_idx4 on index_test_4(col_int_4);
+ - create index index_test_4_idx5 on index_test_4(col_int_5);
+ - create index index_test_4_idx6 on index_test_4(col_int_6);
+ - create index index_test_4_idx7 on index_test_4(col_int_7);
+ - create index index_test_4_idx8 on index_test_4(col_int_8);
+ - create index index_test_4_idx9 on index_test_4(col_int_9);
+ - create index index_test_4_idx10 on index_test_4(col_int_10);
+ loadRules:
+ - table: index_test_
+ count: 4
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 1000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: no_index
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_1 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 10000001, 90000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 1_index_test
+ run:
+ - name: Insert_with_1_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_2 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 10000001, 90000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 5_index_test
+ run:
+ - name: Insert_with_5_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_3 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 10000001, 90000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 10_index_test
+ run:
+ - name: Insert_with_10_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_4 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 10000001, 90000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
diff --git a/config/yugabyte/demo/featurebench_default_afterLoad.yaml b/config/yugabyte/demo/featurebench_default_afterLoad.yaml
new file mode 100644
index 000000000..54c28631e
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_default_afterLoad.yaml
@@ -0,0 +1,20 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+works:
+ work:
+ time: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.TestAfterLoad
+ properties: {}
\ No newline at end of file
diff --git a/config/yugabyte/demo/featurebench_explain.yaml b/config/yugabyte/demo/featurebench_explain.yaml
new file mode 100644
index 000000000..e0ff0cec3
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_explain.yaml
@@ -0,0 +1,83 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 5
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS demo100col;
+ - CREATE TABLE demo100col (id INT, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, primary key (id ASC)) ;
+ loadRules:
+ - table: demo100col
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000
+ - name: col
+ count: 100
+ util: RandomStringNumeric
+ params:
+ - 128
+ executeRules:
+ - workload: RangeScan
+ run:
+ - name: ReadQuery1
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo100col WHERE id < 10
+ - query: SELECT * FROM demo100col WHERE id > ?
+ bindings:
+ - util: RandomNumber
+ params:
+ - 50
+ - 100
+
+ - name: WriteQuery1
+ weight: 50
+ queries:
+ - query: UPDATE demo100col set col3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
+
+ - run:
+ - name: ReadQuery2
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo100col WHERE id < 10
+
+ - name: WriteQuery2
+ weight: 50
+ queries:
+ - query: UPDATE demo100col set col3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
diff --git a/config/yugabyte/demo/featurebench_explain_dist.yaml b/config/yugabyte/demo/featurebench_explain_dist.yaml
new file mode 100644
index 000000000..b7e1ef45e
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_explain_dist.yaml
@@ -0,0 +1,35 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 5
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table if exists t1;
+ - drop table if exists t2;
+ - create table t1 (c1 int primary key, c2 int, c3 int, c4 text);
+ - insert into t1 select i, i % 10, i % 12, lpad(i::text, 80, '#') from generate_series(1, 10000) i;
+ - create index on t1 (c3 asc, c2 asc);
+ - create table t2 (c1 int primary key, c2 int, c3 int, c4 text);
+ - create index on t2 (c2);
+ executeRules:
+ - workload: explainDistTesting
+ run:
+ - name: DistTesting
+ weight: 100
+ queries:
+ - query: select * from t1 where c1 <= 123 and c2 = c3;
\ No newline at end of file
diff --git a/config/yugabyte/demo/featurebench_microbenchmark1_sonal.yaml b/config/yugabyte/demo/featurebench_microbenchmark1_sonal.yaml
new file mode 100644
index 000000000..2bb951340
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_microbenchmark1_sonal.yaml
@@ -0,0 +1,21 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 1
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+#transactiontypes:
+# transactiontype:
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBMicroBenchmarkImplSonal
+ properties:
+ execute: true
diff --git a/config/yugabyte/demo/featurebench_microbenchmark_1.yaml b/config/yugabyte/demo/featurebench_microbenchmark_1.yaml
new file mode 100644
index 000000000..4aef90e39
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_microbenchmark_1.yaml
@@ -0,0 +1,36 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ create:
+ - DROP TABLE IF EXISTS distributors;
+ - DROP SEQUENCE IF EXISTS serial_no;
+ - CREATE SEQUENCE serial_no;
+ - CREATE TABLE distributors(did DECIMAL(3) DEFAULT NEXTVAL('serial_no'), dname varchar(40) DEFAULT 'Lusofilms');
+ loadRules:
+ - table: distributors
+ rows: 100
+ columns:
+ - name: dname
+ util: RandomAString
+ params:
+ - 1
+ - 20
+ cleanup:
+ - DROP TABLE distributors;
diff --git a/config/yugabyte/demo/featurebench_sampleimplementation_4.yaml b/config/yugabyte/demo/featurebench_sampleimplementation_4.yaml
new file mode 100644
index 000000000..bef253f0b
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_sampleimplementation_4.yaml
@@ -0,0 +1,51 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ create:
+ - DROP TABLE IF EXISTS accounts;
+ - CREATE TABLE accounts (id int NOT NULL, name varchar(64) NOT NULL, CONSTRAINT pk_accounts PRIMARY KEY (id));
+ - CREATE INDEX idx_accounts_name ON accounts (name);
+ loadRules:
+ - table: accounts
+ rows: 100
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 100
+ - name: name
+ util: RandomStringNumeric
+ params:
+ - 10
+ executeRules:
+ - workload: RangeScan
+ run:
+ - name: AccountQuery
+ weight: 100
+ queries:
+ - query: SELECT * FROM accounts WHERE id > ?
+ bindings:
+ - util: RowRandomBoundedInt
+ params:
+ - 5
+ - 10
+ cleanup:
+ - DROP TABLE accounts;
diff --git a/config/yugabyte/demo/featurebench_santanu_employees1M.yaml b/config/yugabyte/demo/featurebench_santanu_employees1M.yaml
new file mode 100644
index 000000000..f1e1d1f39
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_santanu_employees1M.yaml
@@ -0,0 +1,55 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ create:
+ - DROP TABLE IF EXISTS employees1M;
+ - CREATE TABLE employees1M(id BIGINT PRIMARY KEY, name TEXT,email VARCHAR(10) NOT NULL,salary INT,hire_date DATE);
+ loadRules:
+ - table: employees1M
+ rows: 5
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000000
+ - name: name
+ util: RandomAString
+ params:
+ - 4
+ - 6
+ - name: email
+ util: RandomAString
+ params:
+ - 7
+ - 10
+ - name: salary
+ util: RandomInt
+ params:
+ - 1000000
+ - 9999999
+ - name: hire_date
+ util: RandomDateBtwYears
+ params:
+ - 2009
+ - 2023
+
+ cleanup:
+ - DROP TABLE employees1M;
diff --git a/config/yugabyte/demo/featurebench_santanu_t1_10_10k.yaml b/config/yugabyte/demo/featurebench_santanu_t1_10_10k.yaml
new file mode 100644
index 000000000..cb15b8ee5
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_santanu_t1_10_10k.yaml
@@ -0,0 +1,95 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ create:
+ - DROP TABLE IF EXISTS t1_10_10k;
+ - CREATE TABLE t1_10_10k(c1 BIGINT PRIMARY KEY,
+ c2 INT,
+ c3 BIGINT,
+ c4 FLOAT(2),
+ c5 DATE,
+ c6 Boolean,
+ c7 VARCHAR(10) NOT NULL,
+ c8 VARCHAR(100) NOT NULL,
+ c9 text);
+ - CREATE INDEX t1_idx_COM ON t1_10_10k(c2, c3);
+ - CREATE INDEX t1_idx_ASC ON t1_10_10k(c7 ASC);
+ - CREATE INDEX t1_idx_INC ON t1_10_10k(c2) INCLUDE (c4);
+ - CREATE INDEX t1_idx_PAR ON t1_10_10k(c2,c5,c6) WHERE c9='Type1';
+ loadRules:
+ - table: t1_10_10k
+ rows: 5
+ columns:
+ - name: c1
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 10000
+ - name: c2
+ util: RandomInt
+ params:
+ - 1
+ - 20000
+ - name: c3
+ util: RandomLong
+ params:
+ - 1000000
+ - 2000000
+ - name: c4
+ util: RandomFixedPoint
+ params:
+ - 2
+ - 1
+ - 10000
+ - name: c5
+ util: CurrentTime
+ - name: c6
+ util: RandomBoolean
+ - name: c7
+ util: RandomAString
+ params:
+ - 1
+ - 5
+ - name: c8
+ util: RandomAString
+ params:
+ - 1
+ - 10
+ - name: c9
+ util: OneStringFromArray
+ params:
+ - Type1
+ - Type2
+ - Type3
+ executeRules:
+ - workload: t1_10_10k
+ run:
+ - name: Scan_Query
+ weight: 100
+ queries:
+ - query: SELECT * FROM t1_10_10k WHERE c2 = ?;
+ bindings:
+ - util: RandomInt
+ params:
+ - 1
+ - 2000
+
+ cleanup:
+ - DROP TABLE t1_10_10k;
diff --git a/config/yugabyte/demo/featurebench_santanu_test.yaml b/config/yugabyte/demo/featurebench_santanu_test.yaml
new file mode 100644
index 000000000..d55ece2cb
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_santanu_test.yaml
@@ -0,0 +1,57 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ serial: true
+ active_terminals: 1
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ tableName: accounts
+ columns: 10
+ rows: 100
+ indexes: 2
+ filePath: accounts.csv
+ rowsPerTransaction: 2000
+ create:
+ - DROP TABLE IF EXISTS t1;
+ - CREATE TABLE t1 (k1 int, k2 text, v1 int, v2 text, PRIMARY KEY(k1 ASC, k2 ASC));
+ - CREATE INDEX ON t1(v1 ASC, k2 ASC);
+ cleanup:
+ - DROP TABLE t1;
+ loadRules:
+ - table: t1
+ rows: 1000
+ columns:
+ - name: k1
+ util: RandomInt
+ params:
+ - 100
+ - 500
+ - name: k2
+ util: RandomAString
+ params:
+ - 2
+ - 5
+ - name: v1
+ util: RandomInt
+ params:
+ - 5
+ - 6
+ - name: v2
+ util: RandomAString
+ params:
+ - 2
+ - 5
diff --git a/config/yugabyte/demo/featurebench_scan_sonal.yaml b/config/yugabyte/demo/featurebench_scan_sonal.yaml
new file mode 100644
index 000000000..5b1b7350f
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_scan_sonal.yaml
@@ -0,0 +1,20 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBMicroBenchmarkScansSonal
+ properties: {}
diff --git a/config/yugabyte/demo/featurebench_test_utils.yaml b/config/yugabyte/demo/featurebench_test_utils.yaml
new file mode 100644
index 000000000..8b57e8f85
--- /dev/null
+++ b/config/yugabyte/demo/featurebench_test_utils.yaml
@@ -0,0 +1,42 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+works:
+ work:
+ time: 3
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ create:
+ - DROP TABLE IF EXISTS accounts;
+ - CREATE TABLE accounts (id int NOT NULL, name varchar(64) NOT NULL, CONSTRAINT pk_accounts PRIMARY KEY (id),namesArray TEXT[],date DATE);
+ loadRules:
+ - table: accounts
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 100
+ - name: name
+ util: RandomStringNumeric
+ params:
+ - 10
+ - name: namesArray
+ util: RandomStringTextArrayGen
+ params:
+ - 5
+ - 2
+ - 8
+ - name: date
+ util: RandDate
\ No newline at end of file
diff --git a/config/yugabyte/demo/sample_featurebench_insert.yaml b/config/yugabyte/demo/sample_featurebench_insert.yaml
new file mode 100644
index 000000000..cb26126f0
--- /dev/null
+++ b/config/yugabyte/demo/sample_featurebench_insert.yaml
@@ -0,0 +1,65 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 2
+works:
+ work:
+ time_secs: 33
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS inserttest;
+ - CREATE TABLE inserttest(id int,name text, primary key (id))
+ loadRules:
+ - table: inserttest
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 10
+ - name: name
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ executeRules:
+ - workload: scanG4_yb_pkey_INclause_rangescan_increasing_rows_1row
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1row_test
+ weight: 100
+ queries:
+ - query: select * from inserttest where id IN (?)
+ bindings:
+ - count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+
+
+# executeRules:
+# - workload: InsertScan
+# run:
+# - name: Inserts
+# weight: 100
+# queries:
+# - query: INSERT INTO inserttest(id,name) values(? , ?);
+# bindings:
+# - util: PrimaryIntGen
+# params:
+# - 20
+# - 100000
+# - util: RandomAString
+# params:
+# - 4
+# - 4
+
diff --git a/config/yugabyte/demo/test_cli_params.yaml b/config/yugabyte/demo/test_cli_params.yaml
new file mode 100644
index 000000000..a7ff419ac
--- /dev/null
+++ b/config/yugabyte/demo/test_cli_params.yaml
@@ -0,0 +1,99 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username : {{ name }}
+password:
+batchsize: 128
+isolation : {{isolation_level}}
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: {{time}}
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit : true
+ create:
+ - DROP TABLE IF EXISTS demo100col;
+ - CREATE TABLE demo100col (id INT, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, primary key (id ASC)) ;
+ loadRules:
+ - table: demo100col
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000
+ - name: col
+ count: 100
+ util: RandomStringNumeric
+ params:
+ - 128
+ executeRules:
+ - workload: RangeScan1
+ run:
+ - name: ReadQuery1
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo100col WHERE id < 10
+
+ - name: WriteQuery1
+ weight: 50
+ queries:
+ - query: UPDATE demo100col set col2 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
+
+
+ - workload: RangeScan2
+ run:
+ - name: ReadQuery2
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo100col WHERE id < 10
+
+ - name: WriteQuery2
+ weight: 50
+ queries:
+ - query: UPDATE demo100col set col3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
+ - workload: RangeScan3
+ run:
+ - name: ReadQuery3
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo100col WHERE id < 50
+
+ - name: WriteQuery3
+ weight: 50
+ queries:
+ - query: UPDATE demo100col set col4 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
diff --git a/config/yugabyte/demo/test_pg_stats.yaml b/config/yugabyte/demo/test_pg_stats.yaml
new file mode 100644
index 000000000..667f90a80
--- /dev/null
+++ b/config/yugabyte/demo/test_pg_stats.yaml
@@ -0,0 +1,83 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 3
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS demo2col;
+ - CREATE TABLE demo2col (id INT, col1 TEXT, primary key (id ASC)) ;
+ loadRules:
+ - table: demo2col
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 10
+ - name: col1
+ util: RandomStringNumeric
+ params:
+ - 128
+ executeRules:
+ - workload: RangeScan
+ run:
+ - name: ReadQuery1
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo2col WHERE id < 10
+ - query: SELECT * FROM demo2col WHERE id > ?
+ bindings:
+ - util: RandomNumber
+ params:
+ - 50
+ - 100
+ - name: WriteQuery1
+ weight: 50
+ queries:
+ - query: UPDATE demo2col set col1 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
+
+ - workload: UpdateScan
+ run:
+ - name: ReadQuery2
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo2col WHERE id < 10
+
+ - name: WriteQuery2
+ weight: 50
+ queries:
+ - query: UPDATE demo2col set col1 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
diff --git a/config/yugabyte/demo/test_utils.yaml b/config/yugabyte/demo/test_utils.yaml
new file mode 100644
index 000000000..5027ea5c3
--- /dev/null
+++ b/config/yugabyte/demo/test_utils.yaml
@@ -0,0 +1,121 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit : true
+ create:
+ - DROP TABLE IF EXISTS STUDENTS;
+ - DROP TABLE IF EXISTS ALUMNI;
+ - DROP TABLE IF EXISTS USERS;
+ - DROP TABLE IF EXISTS CUSTOMERS;
+ - DROP TABLE IF EXISTS EMPLOYEE;
+ - CREATE TABLE STUDENTS(id text PRIMARY KEY, name text,subject text,merits int, time1 DATE,time2 text,time3 text,cgpa numeric(6,2),standard int)
+ - CREATE TABLE ALUMNI(regno text,is_2022_passout boolean,passoutYear text,no_of_subjects int, savings int)
+ - CREATE TABLE users (id uuid PRIMARY KEY, name varchar(255), customer_code text, credits int,total_expenditure bigint,date_issue DATE);
+ - CREATE TABLE customers(id serial primary key,cid text, customer_points numeric(5,2));
+ - CREATE TABLE employee(id serial primary key, basic_sal bigint, variable_sal int,hra bigint,ppa int)
+ loadRules:
+ - table: students
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryStringGen
+ params: [1,5]
+ - name: name
+ util: GenerateRandomString
+ params: [5,4]
+ - name : subject
+ util: OneStringFromArray
+ params : ["maths","computer","english","physics"]
+ - name : merits
+ util : OneNumberFromArray
+ params: [1,2,3,5,7]
+ - name: time1
+ util: CurrentTime
+ - name: time2
+ util: CurrentTimeString
+ - name: time3
+ util: CurrentTimeString14
+ - name: cgpa
+ util: RandomNormalFloat
+ params: [5,2]
+ - name: standard
+ util: ConstantValue
+ params: [5.5]
+ - table: alumni
+ rows: 10
+ columns:
+ - name: regno
+ util: PrimaryStringGen
+ params: [1,5]
+ - name: is_2022_passout
+ util: RandomBoolean
+ - name : passoutYear
+ util: RandomDate
+ params : [2013,2022]
+ - name : no_of_subjects
+ util: RandomInt
+ params : [5,8]
+ - name: savings
+ util: RandomNumberDefault
+ - table: users
+ rows: 10
+ columns:
+ - name: id
+ util: RandomUUID
+ - name: name
+ util: RandomStringAlphabets
+ params: [7]
+ - name: customer_code
+ util: RandomStringNumeric
+ params: [5]
+ - name : credits
+ util : RandomNumber
+ params : [1,10]
+ - name: total_expenditure
+ util: RandomLong
+ params : [223372036854775808, 9223372036854775807]
+ - name: date_issue
+ util: RandomDateBtwYears
+ params: [2013,2022]
+ - table: customers
+ rows: 10
+ columns:
+ - name: cid
+ util: RandomNstring
+ params: [4,6]
+ - name: customer_points
+ util : RandomNoWithDecimalPoints
+ params: [4,5,2]
+ - table: employee
+ rows: 10
+ columns:
+ - name: basic_sal
+ util: RowRandomBoundedLong
+ params: [100000000,2000000000]
+ - name: variable_sal
+ util: RowRandomBoundedInt
+ params: [10000,20000]
+ - name: hra
+ util: RandomNormalLong
+ params: [1000000,20000]
+ - name: ppa
+ util: RandomNormalInt
+ params: [10000,2000]
+
+
+
diff --git a/config/yugabyte/featurebench_copycommand.yaml b/config/yugabyte/featurebench_copycommand.yaml
new file mode 100644
index 000000000..4eb7328d7
--- /dev/null
+++ b/config/yugabyte/featurebench_copycommand.yaml
@@ -0,0 +1,27 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 6
+terminals: 6
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.CopyCommandBenchmark
+ properties:
+ rows: 100
+ columns: 10
+ indexes: 2
+ rowspertransaction: 1000
+# tableName: accounts
+# filePath: accounts.csv
+
+works:
+ work:
+ time: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
\ No newline at end of file
diff --git a/config/yugabyte/featurebench_ddl.yaml b/config/yugabyte/featurebench_ddl.yaml
new file mode 100644
index 000000000..aedc1b427
--- /dev/null
+++ b/config/yugabyte/featurebench_ddl.yaml
@@ -0,0 +1,24 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.CreateAndDeleteTables
+ properties:
+ testDrop: true
+# testCreate: true
+ numTables: 10
+
diff --git a/config/yugabyte/featurebench_microbenchmark_1.yaml b/config/yugabyte/featurebench_microbenchmark_1.yaml
new file mode 100644
index 000000000..a5053d99d
--- /dev/null
+++ b/config/yugabyte/featurebench_microbenchmark_1.yaml
@@ -0,0 +1,36 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ create:
+ - DROP TABLE IF EXISTS distributors;
+ - DROP SEQUENCE IF EXISTS serial_no;
+ - CREATE SEQUENCE serial_no;
+ - CREATE TABLE distributors(did DECIMAL(3) DEFAULT NEXTVAL('serial_no'), dname varchar(40) DEFAULT 'Lusofilms');
+ loadRules:
+ - table: distributors
+ rows: 10
+ columns:
+ - name: dname
+ util: RandomAString
+ params:
+ - 1
+ - 20
+ cleanup:
+ - DROP TABLE distributors;
diff --git a/config/yugabyte/featurebench_pointquery.yaml b/config/yugabyte/featurebench_pointquery.yaml
new file mode 100644
index 000000000..6c58cdf26
--- /dev/null
+++ b/config/yugabyte/featurebench_pointquery.yaml
@@ -0,0 +1,21 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.PointQuery
+ properties:
+
diff --git a/config/yugabyte/featurebench_sampleimplementation_4.yaml b/config/yugabyte/featurebench_sampleimplementation_4.yaml
new file mode 100644
index 000000000..c2e03f12f
--- /dev/null
+++ b/config/yugabyte/featurebench_sampleimplementation_4.yaml
@@ -0,0 +1,51 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ create:
+ - DROP TABLE IF EXISTS accounts;
+ - CREATE TABLE accounts (id int NOT NULL, name varchar(64) NOT NULL, CONSTRAINT pk_accounts PRIMARY KEY (id));
+ - CREATE INDEX idx_accounts_name ON accounts (name);
+ loadRules:
+ - table: accounts
+ rows: 100
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 100
+ - name: name
+ util: RandomStringNumeric
+ params:
+ - 10
+ executeRules:
+ - workload: RangeScan
+ run:
+ - name: AccountQuery
+ weight: 100
+ queries:
+ - query: SELECT * FROM accounts WHERE id > ?
+ bindings :
+ - util: RowRandomBoundedInt
+ params:
+ - 5
+ - 10
+ cleanup:
+ - DROP TABLE accounts;
diff --git a/config/yugabyte/featurebench_santanu_test.yaml b/config/yugabyte/featurebench_santanu_test.yaml
new file mode 100644
index 000000000..d4db81c44
--- /dev/null
+++ b/config/yugabyte/featurebench_santanu_test.yaml
@@ -0,0 +1,57 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+works:
+ work:
+ serial: true
+ active_terminals: 1
+ rate: 1000
+ weights: 100
+transactiontypes:
+ transactiontype:
+ name: FeatureBench
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ tableName: accounts
+ columns: 10
+ rows: 100
+ indexes: 2
+ filePath: accounts.csv
+ rowsPerTransaction: 2000
+ create:
+ - DROP TABLE IF EXISTS t1;
+ - CREATE TABLE t1 (k1 int,k2 text,v1 int,v2 text,PRIMARY KEY(k1 ASC, k2 ASC));
+ - CREATE INDEX ON t1(v1 ASC, k2 ASC);
+ cleanup:
+ - DROP TABLE t1;
+ loadRules:
+ - table: t1
+ rows: 1000
+ columns:
+ - name: k1
+ util: RandomInt
+ params:
+ - 100
+ - 500
+ - name: k2
+ util: RandomAstring
+ params:
+ - 2
+ - 5
+ - name: v1
+ util: RandomInt
+ params:
+ - 5
+ - 6
+ - name: v2
+ util: RandomAString
+ params:
+ - 2
+ - 5
diff --git a/config/yugabyte/featurebench_select.yaml b/config/yugabyte/featurebench_select.yaml
new file mode 100644
index 000000000..9eff02fc3
--- /dev/null
+++ b/config/yugabyte/featurebench_select.yaml
@@ -0,0 +1,50 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ create:
+ - DROP TABLE IF EXISTS accounts;
+ - CREATE TABLE accounts (id int NOT NULL, name varchar(64) NOT NULL, CONSTRAINT pk_accounts PRIMARY KEY (id));
+ - CREATE INDEX idx_accounts_name ON accounts (name);
+ cleanup:
+ - DROP TABLE accounts;
+ loadRules:
+ - table: accounts
+ rows: 1000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000
+ - name: name
+ util: RandomStringNumeric
+ params:
+ - 16
+ executeRules:
+ - workload: AccountQuery
+ run:
+ - name: selectQuery
+ weight: 100
+ queries:
+ - query: SELECT * FROM accounts WHERE id > ?
+ bindings:
+ - util: RandomNumber
+ params:
+ - 1
+ - 100
+
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG10_U_pkey_index_hash_tbl_point_selects_data_cardinality_bigint.yaml b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG10_U_pkey_index_hash_tbl_point_selects_data_cardinality_bigint.yaml
new file mode 100644
index 000000000..7c02e83ac
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG10_U_pkey_index_hash_tbl_point_selects_data_cardinality_bigint.yaml
@@ -0,0 +1,130 @@
+#100000 col1 col2 col3 col4
+#Table1 1*1M 1000*1k 10000*100
+#Table2 1*1L 1000*100 10000*10
+#Table3 1*10k 1000*10 10000*1
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS iNDG10_U_pkeyBigint1M_1;
+ - CREATE TABLE iNDG10_U_pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+
+ cleanup:
+ - DROP TABLE IF EXISTS iNDG10_U_pkeyBigint1M_1;
+
+ loadRules:
+ - table: iNDG10_U_pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: RandomUniqueCyclicIntGen
+ params: [ 1000001, 1000050, 10000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1010000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+
+ executeRules:
+
+ - workload: INDG10_1_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_first_part_hash_1M
+ customTags: customer=2
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from iNDG10_U_pkeyBigint1M_1 where col_bigint_card1_1=?
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [ 1000001, 1000050 ]
+
+ - workload: INDG10_2_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash_1k
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from iNDG10_U_pkeyBigint1M_1 where col_bigint_card2_1=?
+ bindings:
+ - util: RandomInt
+ params: [ 1000001, 1001000 ]
+
+ - workload: INDG10_4_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash_1k_two_conditions
+ customTags: customer=1
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from iNDG10_U_pkeyBigint1M_1 where col_bigint_card1_1=? and col_bigint_card2_1 between ? and ?
+ bindings:
+ - util: RandomInt
+ params: [ 1000001, 1000050 ]
+ - util: RandomInt
+ params: [ 1000001, 1001000 ]
+ referenceName: start_value
+ - util: ExpressionEval
+ params:
+ - "start_value + 50"
+
+ - workload: INDG10_5_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_third_part_hash_100_two_conditions
+ customTags: customer=2
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from iNDG10_U_pkeyBigint1M_1 where col_bigint_card1_1=? and col_bigint_card3_1=?
+ bindings:
+ - util: RandomInt
+ params: [ 1000001, 1000050 ]
+ - util: RandomInt
+ params: [ 1000001, 1010000 ]
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG11_U_pkey_index_hash_tbl_point_selects_data_cardinality_varchar.yaml b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG11_U_pkey_index_hash_tbl_point_selects_data_cardinality_varchar.yaml
new file mode 100644
index 000000000..c959d78e7
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG11_U_pkey_index_hash_tbl_point_selects_data_cardinality_varchar.yaml
@@ -0,0 +1,125 @@
+#Table1 1*1M 1000*1k 10000*100
+#Table2 1*1L 1000*100 10000*10
+#Table3 1*10k 1000*10 10000*1
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG11_U_pkeyVarchar10_1;
+ - CREATE TABLE INDG11_U_pkeyVarchar10_1(col_varchar_card1_1 varchar(15), col_varchar_card2_1 varchar(15), col_varchar_card3_1 varchar(15), col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_varchar_card1_1, col_varchar_card2_1, col_varchar_card3_1, col_bigint_id_1));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG11_U_pkeyVarchar10_1;
+
+ loadRules:
+ - table: INDG11_U_pkeyVarchar10_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_card1_
+ count: 1
+ util: RandomUniqueCyclicStringGen
+ params: [ 1, 50, 10000 ]
+ - name: col_varchar_card2_
+ count: 1
+ util: CyclicSeqStringGen
+ params: [ 1, 1000 ]
+ - name: col_varchar_card3_
+ count: 1
+ util: CyclicSeqStringGen
+ params: [ 1, 10000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG11_1_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_first_part_hash_1M
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG11_U_pkeyVarchar10_1 where col_varchar_card1_1=?
+ bindings:
+ - util: RandomUniqueCyclicStringGen
+ params: [ 1, 50, "id-" ]
+
+ - workload: INDG11_2_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash_1k
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG11_U_pkeyVarchar10_1 where col_varchar_card2_1=?
+ bindings:
+ - util: CyclicSeqStringGen
+ params: [ 1, 1000, "id-" ]
+
+
+ - workload: INDG11_2_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash_1k_two_conditions
+ customTags: customer=1
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG11_U_pkeyVarchar10_1 where col_varchar_card1_1=? and col_varchar_card2_1 between ? and ?
+ bindings:
+ - util: RandomUniqueCyclicStringGen
+ params: [ 1, 50, "id-" ]
+ - util: CyclicSeqStringGen
+ params: [ 1, 980, "id-" ]
+ - util: CyclicSeqStringGen
+ params: [ 20, 1000, "id-" ]
+
+ - workload: INDG11_2_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_third_part_hash_100_two_conditions
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG11_U_pkeyVarchar10_1 where col_varchar_card1_1=? and col_varchar_card3_1=?
+ bindings:
+ - util: RandomUniqueCyclicStringGen
+ params: [ 1, 50, "id-" ]
+ - util: CyclicSeqStringGen
+ params: [ 1, 10000, "id-" ]
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG12_U_sec_index_hash_tbl_data_cardinality_bigint.yaml b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG12_U_sec_index_hash_tbl_data_cardinality_bigint.yaml
new file mode 100644
index 000000000..10081cc76
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG12_U_sec_index_hash_tbl_data_cardinality_bigint.yaml
@@ -0,0 +1,114 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS iNDG12_U_pkeyBigint1M_1;
+ - CREATE TABLE iNDG12_U_pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON iNDG12_U_pkeyBigint1M_1(col_bigint_card1_1);
+ - CREATE INDEX ON iNDG12_U_pkeyBigint1M_1(col_bigint_card2_1 ASC);
+ - CREATE INDEX ON iNDG12_U_pkeyBigint1M_1(col_bigint_card3_1 DESC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS iNDG12_U_pkeyBigint1M_1;
+
+ loadRules:
+ - table: iNDG12_U_pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+
+ executeRules:
+
+ - workload: INDG12_1_index_scan_hash_skey_point_select
+ customTags: schematype=regular,partition=hash,pkey=single,cardinality=multiple,projection=all,filtercount=one,filteron=hashskey,filtertype=pointselect
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from iNDG12_U_pkeyBigint1M_1 where col_bigint_card1_1 IN (?,?,?,?,?);
+ bindings:
+ count: 5
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+
+ - workload: INDG12_2_index_scan_range_skey_point_select
+ customTags: schematype=regular,partition=hash,pkey=single,cardinality=multiple,projection=all,filtercount=one,filteron=rangeskey,filtertype=pointselect
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from iNDG12_U_pkeyBigint1M_1 where col_bigint_card2_1 IN (?,?,?,?,?);
+ bindings:
+ count: 5
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+
+ - workload: INDG12_3_index_scan_range_skey_desc_point_select
+ customTags: schematype=regular,partition=hash,pkey=single,cardinality=multiple,projection=all,filtercount=one,filteron=rangeskey,filtertype=pointselect
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from iNDG12_U_pkeyBigint1M_1 where col_bigint_card3_1 IN (?,?,?,?,?);
+ bindings:
+ count: 5
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG13_U_compare_index_scan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG13_U_compare_index_scan.yaml
new file mode 100644
index 000000000..fbe7f7018
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG13_U_compare_index_scan.yaml
@@ -0,0 +1,74 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG13_U_rangetbl_1;
+ - CREATE TABLE INDG13_U_rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON INDG13_U_rangetbl_1(col_bigint_id_2);
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG13_U_rangetbl_1;
+
+ loadRules:
+ - table: INDG13_U_rangetbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: INDG13_3_indexscan_using_skey
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from INDG13_U_rangetbl_1 where col_bigint_id_2>0
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG1_U_pkey_point_selects_hash_table_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG1_U_pkey_point_selects_hash_table_indexscan.yaml
new file mode 100644
index 000000000..0a975ddd3
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG1_U_pkey_point_selects_hash_table_indexscan.yaml
@@ -0,0 +1,84 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG1_U_CompositeHashtbl_1;
+ - CREATE TABLE INDG1_U_CompositeHashtbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG1_U_CompositeHashtbl_1;
+
+ loadRules:
+
+ - table: INDG1_U_CompositeHashtbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+
+ executeRules:
+
+ - workload: INDG1_1_hashtbl_point_lookup_index_scan_using_comp_pkey_first_part_hash
+ customTags: customer=10
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG1_U_CompositeHashtbl_1 where col_bigint_id_1=500009
+
+ - workload: INDG1_2_hashtbl_point_lookup_index_scan_using_comp_pkey_sec_part_range
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG1_U_CompositeHashtbl_1 where col_bigint_id_2=500009
+
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG2_U_pkey_point_selects_range_table_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG2_U_pkey_point_selects_range_table_indexscan.yaml
new file mode 100644
index 000000000..5b66817de
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG2_U_pkey_point_selects_range_table_indexscan.yaml
@@ -0,0 +1,84 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG2_U_CompositeRangetbl_1;
+ - CREATE TABLE INDG2_U_CompositeRangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG2_U_CompositeRangetbl_1;
+
+
+ loadRules:
+ - table: INDG2_U_CompositeRangetbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+
+ - workload: INDG2_1_rangetbl_point_lookup_index_scan_using_comp_pkey_first_part_range
+ customTags: customer=7
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG2_U_CompositeRangetbl_1 where col_bigint_id_1=500009
+
+ - workload: INDG2_2_rangetbl_point_lookup_index_scan_using_comp_pkey_sec_part_range
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG2_U_CompositeRangetbl_1 where col_bigint_id_2=500009
+
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG3_U_pkey_hash_tbl_range_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG3_U_pkey_hash_tbl_range_selects_indexscan.yaml
new file mode 100644
index 000000000..1ea457b02
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG3_U_pkey_hash_tbl_range_selects_indexscan.yaml
@@ -0,0 +1,95 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG3_U_CompositeRangetbl_1;
+ - CREATE TABLE INDG3_U_CompositeRangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG3_U_CompositeRangetbl_1;
+
+ loadRules:
+
+ - table: INDG3_U_CompositeRangetbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG3_1_hashtbl_range_lookup_index_scan_using_comp_pkey_first_part_hash
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG3_U_CompositeRangetbl_1 where col_bigint_id_1>500000
+
+ - workload: INDG3_2_hashtbl_range_lookup_index_scan_using_comp_pkey_sec_part_range
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG3_U_CompositeRangetbl_1 where col_bigint_id_2>500000
+
+ - workload: INDG3_3_hashtbl_range_lookup_index_scan_using_comp_pkey_using_two_conditions_hash_range
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG3_U_CompositeRangetbl_1 where col_bigint_id_1>250000 and col_bigint_id_2<750000
+
+ - workload: INDG3_4_hashtbl_range_lookup_index_scan_using_pkey_two_conditions_both_hash
+ run:
+ - name: hashtbl_index_scan_pkey
+ weight: 100
+ queries:
+ - query: select * from INDG3_U_CompositeRangetbl_1 where col_bigint_id_1>250000 and col_bigint_id_1<750000
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG4_U_pkey_range_tbl_range_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG4_U_pkey_range_tbl_range_selects_indexscan.yaml
new file mode 100644
index 000000000..a5e178a87
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG4_U_pkey_range_tbl_range_selects_indexscan.yaml
@@ -0,0 +1,95 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG4_U_CompositeRangetbl_1;
+ - CREATE TABLE INDG4_U_CompositeRangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG4_U_CompositeRangetbl_1;
+
+ loadRules:
+
+ - table: INDG4_U_CompositeRangetbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG4_1_rangetbl_range_lookup_index_scan_using_comp_pkey_first_part_range
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG4_U_CompositeRangetbl_1 where col_bigint_id_1>500000
+
+ - workload: INDG4_2_rangetbl_range_lookup_index_scan_using_comp_pkey_sec_part_range
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG4_U_CompositeRangetbl_1 where col_bigint_id_2>500000
+
+ - workload: INDG4_3_rangetbl_range_lookup_index_scan_using_comp_pkey_using_two_conditions_range
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG4_U_CompositeRangetbl_1 where col_bigint_id_1>250000 and col_bigint_id_2<750000
+
+ - workload: INDG4_4_rangetbl_range_lookup_index_scan_using_pkey_two_conditions_range
+ run:
+ - name: hashtbl_index_scan_pkey
+ weight: 100
+ queries:
+ - query: select * from INDG4_U_CompositeRangetbl_1 where col_bigint_id_1>250000 and col_bigint_id_1<750000
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG5_U_sec_index_hash_tbl_point_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG5_U_sec_index_hash_tbl_point_selects_indexscan.yaml
new file mode 100644
index 000000000..6630bb825
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG5_U_sec_index_hash_tbl_point_selects_indexscan.yaml
@@ -0,0 +1,80 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG5_U_Hashtbl_comp_skey_1;
+ - CREATE TABLE INDG5_U_Hashtbl_comp_skey_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON INDG5_U_Hashtbl_comp_skey_1(col_bigint_id_2, col_bigint_id_3);
+ - CREATE INDEX ON INDG5_U_Hashtbl_comp_skey_1(col_bigint_id_4, col_bigint_id_5);
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG5_U_Hashtbl_comp_skey_1;
+
+ loadRules:
+
+ - table: INDG5_U_Hashtbl_comp_skey_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 6
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG5_1_hashtbl_point_lookup_index_scan_using_comp_skey_first_part_hash
+ customTags: customer=9
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG5_U_Hashtbl_comp_skey_1 where col_bigint_id_2=500009
+
+ - workload: INDG5_2_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG5_U_Hashtbl_comp_skey_1 where col_bigint_id_3=500009
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG6_U_sec_index_range_tbl_point_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG6_U_sec_index_range_tbl_point_selects_indexscan.yaml
new file mode 100644
index 000000000..90ae7ea9a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG6_U_sec_index_range_tbl_point_selects_indexscan.yaml
@@ -0,0 +1,82 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG6_U_Rangetbl_1;
+ - CREATE TABLE INDG6_U_Rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON INDG6_U_Rangetbl_1(col_bigint_id_2, col_bigint_id_3);
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG6_U_Rangetbl_1;
+
+ loadRules:
+
+ - table: INDG6_U_Rangetbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 6
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+
+ - workload: INDG6_1_iNDG6_U_Rangetbl_point_lookup_index_scan_using_comp_range_skey_first_part_range
+ customTags: customer=1
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG6_U_Rangetbl_1 where col_bigint_id_2=500009
+
+ - workload: INDG6_2_iNDG6_U_Rangetbl_point_lookup_index_scan_using_comp_range_skey_sec_part_range
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG6_U_Rangetbl_1 where col_bigint_id_3=500009
+
+
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG7_U_sec_index_hash_tbl_range_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG7_U_sec_index_hash_tbl_range_selects_indexscan.yaml
new file mode 100644
index 000000000..a4916f918
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG7_U_sec_index_hash_tbl_range_selects_indexscan.yaml
@@ -0,0 +1,93 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG7_U_Hashtbl_comp_skey_1;
+ - CREATE TABLE INDG7_U_Hashtbl_comp_skey_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON INDG7_U_Hashtbl_comp_skey_1(col_bigint_id_2, col_bigint_id_3);
+ - CREATE INDEX ON INDG7_U_Hashtbl_comp_skey_1(col_bigint_id_4, col_bigint_id_5);
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG7_U_Hashtbl_comp_skey_1;
+
+ loadRules:
+
+ - table: INDG7_U_Hashtbl_comp_skey_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 6
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG7_1_hashtbl_range_lookup_index_scan_using_comp_skey_first_part_hash
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG7_U_Hashtbl_comp_skey_1 where col_bigint_id_2>500000
+
+ - workload: INDG7_2_hashtbl_range_lookup_index_scan_using_comp_skey_sec_part_range
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG7_U_Hashtbl_comp_skey_1 where col_bigint_id_3>500000
+
+ - workload: INDG7_6_hashtbl_range_lookup_index_scan_using_mixed_comp_skey_two_conditions_hash_range
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG7_U_Hashtbl_comp_skey_1 where col_bigint_id_4>250000 and col_bigint_id_5<750000
+
+ - workload: INDG7_7_hashtbl_range_lookup_index_scan_using_skey_two_conditions_on_hash
+ run:
+ - name: hashtbl_index_scan_pkey
+ weight: 100
+ queries:
+ - query: select * from INDG7_U_Hashtbl_comp_skey_1 where col_bigint_id_2>250000 and col_bigint_id_2<750000
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG8_U_sec_index_range_tbl_range_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG8_U_sec_index_range_tbl_range_selects_indexscan.yaml
new file mode 100644
index 000000000..9c223595c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/postgres/INDG8_U_sec_index_range_tbl_range_selects_indexscan.yaml
@@ -0,0 +1,92 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG8_U_Rangetbl_comp_skey_1;
+ - CREATE TABLE INDG8_U_Rangetbl_comp_skey_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON INDG8_U_Rangetbl_comp_skey_1(col_bigint_id_3, col_bigint_id_4);
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG8_U_Rangetbl_comp_skey_1;
+
+ loadRules:
+
+ - table: INDG8_U_Rangetbl_comp_skey_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 6
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG8_1_rangetbl_range_lookup_index_scan_using_comp_skey_first_part_range
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_3>500000
+
+ - workload: INDG8_2_rangetbl_range_lookup_index_scan_using_comp_skey_sec_part_range
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_4>500000
+
+ - workload: INDG8_5_rangetbl_range_lookup_index_scan_using_comp_skey_two_conditions_range
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_3>250000 and col_bigint_id_4<750000
+
+ - workload: INDG8_7_rangetbl_range_lookup_index_scan_using_skey_two_conditions_range
+ run:
+ - name: hashtbl_index_scan_pkey
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_3>250000 and col_bigint_id_3<750000
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG10_U_pkey_index_hash_tbl_point_selects_data_cardinality_bigint.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG10_U_pkey_index_hash_tbl_point_selects_data_cardinality_bigint.yaml
new file mode 100644
index 000000000..a02803963
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG10_U_pkey_index_hash_tbl_point_selects_data_cardinality_bigint.yaml
@@ -0,0 +1,133 @@
+#100000 col1 col2 col3 col4
+#Table1 1*1M 1000*1k 10000*100
+#Table2 1*1L 1000*100 10000*10
+#Table3 1*10k 1000*10 10000*1
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG10_U_pkeyBigint1M_1;
+ - CREATE TABLE INDG10_U_pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1 ASC, col_bigint_card2_1 ASC, col_bigint_card3_1 ASC, col_bigint_id_1 ASC));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG10_U_pkeyBigint1M_1;
+
+ loadRules:
+ - table: INDG10_U_pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: RandomUniqueCyclicIntGen
+ params: [ 1000001, 1000050, 10000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1010000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+
+ executeRules:
+
+ - workload: INDG10_1_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_first_part_hash_1M
+ customTags: customer=2,schematype=colocated,partition=range,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG10_U_pkeyBigint1M_1 where col_bigint_card1_1=?
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [ 1000001, 1000050 ]
+
+ - workload: INDG10_2_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash_1k
+ customTags: customer=2,schematype=colocated,partition=range,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG10_U_pkeyBigint1M_1 where col_bigint_card2_1=?
+ bindings:
+ - util: RandomInt
+ params: [ 1000001, 1001000 ]
+
+ - workload: INDG10_4_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash_1k_two_conditions
+ customTags: customer=2,schematype=colocated,partition=range,pkey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=rangepkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG10_U_pkeyBigint1M_1 where col_bigint_card1_1=? and col_bigint_card2_1 between ? and ?
+ bindings:
+ - util: RandomInt
+ params: [ 1000001, 1000050 ]
+ - util: RandomInt
+ params: [ 1000001, 1001000 ]
+ referenceName: start_value
+ - util: ExpressionEval
+ params:
+ - "start_value + 50"
+
+ - workload: INDG10_5_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_third_part_hash_100_two_conditions
+ customTags: customer=2,schematype=colocated,partition=range,pkey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=rangepkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG10_U_pkeyBigint1M_1 where col_bigint_card1_1=? and col_bigint_card3_1=?
+ bindings:
+ - util: RandomInt
+ params: [ 1000001, 1000050 ]
+ - util: RandomInt
+ params: [ 1000001, 1010000 ]
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG11_U_pkey_index_hash_tbl_point_selects_data_cardinality_varchar.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG11_U_pkey_index_hash_tbl_point_selects_data_cardinality_varchar.yaml
new file mode 100644
index 000000000..09a53405c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG11_U_pkey_index_hash_tbl_point_selects_data_cardinality_varchar.yaml
@@ -0,0 +1,131 @@
+#Table1 1*1M 1000*1k 10000*100
+#Table2 1*1L 1000*100 10000*10
+#Table3 1*10k 1000*10 10000*1
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG11_U_pkeyVarchar10_1;
+ - CREATE TABLE INDG11_U_pkeyVarchar10_1(col_varchar_card1_1 varchar(15), col_varchar_card2_1 varchar(15), col_varchar_card3_1 varchar(15), col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_varchar_card1_1 ASC, col_varchar_card2_1 ASC, col_varchar_card3_1 ASC, col_bigint_id_1 ASC));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG11_U_pkeyVarchar10_1;
+
+ loadRules:
+ - table: INDG11_U_pkeyVarchar10_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_card1_
+ count: 1
+ util: RandomUniqueCyclicStringGen
+ params: [ 1, 50, 10000 ]
+ - name: col_varchar_card2_
+ count: 1
+ util: CyclicSeqStringGen
+ params: [ 1, 1000 ]
+ - name: col_varchar_card3_
+ count: 1
+ util: CyclicSeqStringGen
+ params: [ 1, 10000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG11_1_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_first_part_hash_1M
+ customTags: schematype=colocated,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,filterdatatype=varchar,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG11_U_pkeyVarchar10_1 where col_varchar_card1_1=?
+ bindings:
+ - util: RandomUniqueCyclicStringGen
+ params: [ 1, 50, "id-" ]
+
+ - workload: INDG11_2_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash_1k
+ customTags: schematype=colocated,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,filterdatatype=varchar,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG11_U_pkeyVarchar10_1 where col_varchar_card2_1=?
+ bindings:
+ - util: CyclicSeqStringGen
+ params: [ 1, 1000, "id-" ]
+
+
+ - workload: INDG11_2_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash_1k_two_conditions
+ customTags: customer=1,schematype=colocated,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,filterdatatype=varchar,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG11_U_pkeyVarchar10_1 where col_varchar_card1_1=? and col_varchar_card2_1 between ? and ?
+ bindings:
+ - util: RandomUniqueCyclicStringGen
+ params: [ 1, 50, "id-" ]
+ - util: CyclicSeqStringGen
+ params: [ 1, 980, "id-" ]
+ - util: CyclicSeqStringGen
+ params: [ 20, 1000, "id-" ]
+
+ - workload: INDG11_2_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_third_part_hash_100_two_conditions
+ customTags: schematype=colocated,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,filterdatatype=varchar,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG11_U_pkeyVarchar10_1 where col_varchar_card1_1=? and col_varchar_card3_1=?
+ bindings:
+ - util: RandomUniqueCyclicStringGen
+ params: [ 1, 50, "id-" ]
+ - util: CyclicSeqStringGen
+ params: [ 1, 10000, "id-" ]
+
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG12_U_sec_index_hash_tbl_data_cardinality_bigint.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG12_U_sec_index_hash_tbl_data_cardinality_bigint.yaml
new file mode 100644
index 000000000..b0e3ea3f6
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG12_U_sec_index_hash_tbl_data_cardinality_bigint.yaml
@@ -0,0 +1,117 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS iNDG12_U_pkeyBigint1M_1;
+ - CREATE TABLE iNDG12_U_pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON iNDG12_U_pkeyBigint1M_1(col_bigint_card1_1);
+ - CREATE INDEX ON iNDG12_U_pkeyBigint1M_1(col_bigint_card2_1 ASC);
+ - CREATE INDEX ON iNDG12_U_pkeyBigint1M_1(col_bigint_card3_1 DESC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS iNDG12_U_pkeyBigint1M_1;
+
+ loadRules:
+ - table: iNDG12_U_pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+
+ executeRules:
+
+ - workload: INDG12_1_index_scan_hash_skey_point_select
+ customTags: schematype=regular,partition=hash,pkey=single,cardinality=multiple,projection=all,filtercount=one,filteron=hashskey,filtertype=pointselect
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from iNDG12_U_pkeyBigint1M_1 where col_bigint_card1_1 IN (?,?,?,?,?);
+ bindings:
+ count: 5
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+
+ - workload: INDG12_2_index_scan_range_skey_point_select
+ customTags: schematype=regular,partition=hash,pkey=single,cardinality=multiple,projection=all,filtercount=one,filteron=rangeskey,filtertype=pointselect
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from iNDG12_U_pkeyBigint1M_1 where col_bigint_card2_1 IN (?,?,?,?,?);
+ bindings:
+ count: 5
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+
+ - workload: INDG12_3_index_scan_range_skey_desc_point_select
+ customTags: schematype=regular,partition=hash,pkey=single,cardinality=multiple,projection=all,filtercount=one,filteron=rangeskey,filtertype=pointselect
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from iNDG12_U_pkeyBigint1M_1 where col_bigint_card3_1 IN (?,?,?,?,?);
+ bindings:
+ count: 5
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG13_U_compare_index_scan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG13_U_compare_index_scan.yaml
new file mode 100644
index 000000000..d5c49ea32
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG13_U_compare_index_scan.yaml
@@ -0,0 +1,76 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG13_U_rangetbl_1;
+ - CREATE TABLE INDG13_U_rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON INDG13_U_rangetbl_1(col_bigint_id_2);
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG13_U_rangetbl_1;
+
+ loadRules:
+ - table: INDG13_U_rangetbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: INDG13_3_indexscan_using_skey
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from INDG13_U_rangetbl_1 where col_bigint_id_2>0
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG2_U_pkey_point_selects_range_table_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG2_U_pkey_point_selects_range_table_indexscan.yaml
new file mode 100644
index 000000000..633936625
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG2_U_pkey_point_selects_range_table_indexscan.yaml
@@ -0,0 +1,86 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG2_U_CompositeRangetbl_1;
+ - CREATE TABLE INDG2_U_CompositeRangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC, col_bigint_id_2 ASC));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG2_U_CompositeRangetbl_1;
+
+
+ loadRules:
+
+ - table: INDG2_U_CompositeRangetbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG2_1_rangetbl_point_lookup_index_scan_using_comp_pkey_first_part_range
+ customTags: customer=7,schematype=colocated,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG2_U_CompositeRangetbl_1 where col_bigint_id_1=500009
+
+ - workload: INDG2_2_rangetbl_point_lookup_index_scan_using_comp_pkey_sec_part_range
+ customTags: schematype=colocated,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG2_U_CompositeRangetbl_1 where col_bigint_id_2=500009
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG4_U_pkey_range_tbl_range_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG4_U_pkey_range_tbl_range_selects_indexscan.yaml
new file mode 100644
index 000000000..3ede5418c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG4_U_pkey_range_tbl_range_selects_indexscan.yaml
@@ -0,0 +1,101 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG4_U_CompositeRangetbl_1;
+ - CREATE TABLE INDG4_U_CompositeRangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC, col_bigint_id_2 ASC));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG4_U_CompositeRangetbl_1;
+
+ loadRules:
+
+ - table: INDG4_U_CompositeRangetbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG4_1_rangetbl_range_lookup_index_scan_using_comp_pkey_first_part_range
+ customTags: schematype=colocated,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG4_U_CompositeRangetbl_1 where col_bigint_id_1>500000
+
+ - workload: INDG4_2_rangetbl_range_lookup_index_scan_using_comp_pkey_sec_part_range
+ customTags: schematype=colocated,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG4_U_CompositeRangetbl_1 where col_bigint_id_2>500000
+
+ - workload: INDG4_3_rangetbl_range_lookup_index_scan_using_comp_pkey_using_two_conditions_range
+ customTags: schematype=colocated,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=two,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG4_U_CompositeRangetbl_1 where col_bigint_id_1>250000 and col_bigint_id_2<750000
+
+ - workload: INDG4_4_rangetbl_range_lookup_index_scan_using_pkey_two_conditions_range
+ customTags: schematype=colocated,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=two,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_pkey
+ weight: 100
+ queries:
+ - query: select * from INDG4_U_CompositeRangetbl_1 where col_bigint_id_1>250000 and col_bigint_id_1<750000
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG6_U_sec_index_range_tbl_point_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG6_U_sec_index_range_tbl_point_selects_indexscan.yaml
new file mode 100644
index 000000000..5a5734d3e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG6_U_sec_index_range_tbl_point_selects_indexscan.yaml
@@ -0,0 +1,85 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG6_U_Rangetbl_1;
+ - CREATE TABLE INDG6_U_Rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON INDG6_U_Rangetbl_1(col_bigint_id_2 ASC, col_bigint_id_3 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG6_U_Rangetbl_1;
+
+ loadRules:
+
+ - table: INDG6_U_Rangetbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 6
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+
+ - workload: INDG6_1_INDG6_U_Rangetbl_point_lookup_index_scan_using_comp_range_skey_first_part_range
+ customTags: customer=1,schematype=colocated,partition=range,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangeskey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG6_U_Rangetbl_1 where col_bigint_id_2=500009
+
+ - workload: INDG6_2_INDG6_U_Rangetbl_point_lookup_index_scan_using_comp_range_skey_sec_part_range
+ customTags: schematype=colocated,partition=range,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangeskey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG6_U_Rangetbl_1 where col_bigint_id_3=500009
+
+
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG8_U_sec_index_range_tbl_range_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG8_U_sec_index_range_tbl_range_selects_indexscan.yaml
new file mode 100644
index 000000000..cbac25824
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yb_colocated/INDG8_U_sec_index_range_tbl_range_selects_indexscan.yaml
@@ -0,0 +1,99 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG8_U_Rangetbl_comp_skey_1;
+ - CREATE TABLE INDG8_U_Rangetbl_comp_skey_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON INDG8_U_Rangetbl_comp_skey_1(col_bigint_id_2 ASC);
+ - CREATE INDEX ON INDG8_U_Rangetbl_comp_skey_1(col_bigint_id_3 ASC, col_bigint_id_4 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG8_U_Rangetbl_comp_skey_1;
+
+ loadRules:
+
+ - table: INDG8_U_Rangetbl_comp_skey_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 6
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG8_1_rangetbl_range_lookup_index_scan_using_comp_skey_first_part_range
+ customTags: schematype=colocated,partition=range,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_3>500000
+
+ - workload: INDG8_2_rangetbl_range_lookup_index_scan_using_comp_skey_sec_part_range
+ customTags: schematype=colocated,partition=range,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_4>500000
+
+ - workload: INDG8_5_rangetbl_range_lookup_index_scan_using_comp_skey_two_conditions_range
+ customTags: schematype=colocated,partition=range,skey=composite,cardinality=single,projection=all,filtercount=two,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_3>250000 and col_bigint_id_4<750000
+
+ - workload: INDG8_7_rangetbl_range_lookup_index_scan_using_skey_two_conditions_range
+ customTags: schematype=colocated,partition=range,skey=composite,cardinality=single,projection=all,filtercount=two,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_pkey
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_3>250000 and col_bigint_id_3<750000
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG10_U_pkey_index_hash_tbl_point_selects_data_cardinality_bigint.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG10_U_pkey_index_hash_tbl_point_selects_data_cardinality_bigint.yaml
new file mode 100644
index 000000000..8eaa472e1
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG10_U_pkey_index_hash_tbl_point_selects_data_cardinality_bigint.yaml
@@ -0,0 +1,132 @@
+#100000 col1 col2 col3 col4
+#Table1 1*1M 1000*1k 10000*100
+#Table2 1*1L 1000*100 10000*10
+#Table3 1*10k 1000*10 10000*1
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG10_U_pkeyBigint1M_1;
+ - CREATE TABLE INDG10_U_pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG10_U_pkeyBigint1M_1;
+
+ loadRules:
+ - table: INDG10_U_pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: RandomUniqueCyclicIntGen
+ params: [ 1000001, 1000050, 10000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1010000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+
+ executeRules:
+
+ - workload: INDG10_1_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_first_part_hash_1M
+ customTags: customer=2,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=hashpkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG10_U_pkeyBigint1M_1 where col_bigint_card1_1=?
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [ 1000001, 1000050 ]
+
+ - workload: INDG10_2_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash_1k
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG10_U_pkeyBigint1M_1 where col_bigint_card2_1=?
+ bindings:
+ - util: RandomInt
+ params: [ 1000001, 1001000 ]
+
+ - workload: INDG10_4_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash_1k_two_conditions
+ customTags: customer=1,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedpkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG10_U_pkeyBigint1M_1 where col_bigint_card1_1=? and col_bigint_card2_1 between ? and ?
+ bindings:
+ - util: RandomInt
+ params: [ 1000001, 1000050 ]
+ - util: RandomInt
+ params: [ 1000001, 1001000 ]
+ referenceName: start_value
+ - util: ExpressionEval
+ params:
+ - "start_value + 50"
+
+ - workload: INDG10_5_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_third_part_hash_100_two_conditions
+ customTags: customer=2,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedpkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG10_U_pkeyBigint1M_1 where col_bigint_card1_1=? and col_bigint_card3_1=?
+ bindings:
+ - util: RandomInt
+ params: [ 1000001, 1000050 ]
+ - util: RandomInt
+ params: [ 1000001, 1010000 ]
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG11_U_pkey_index_hash_tbl_point_selects_data_cardinality_varchar.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG11_U_pkey_index_hash_tbl_point_selects_data_cardinality_varchar.yaml
new file mode 100644
index 000000000..ed31c6d05
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG11_U_pkey_index_hash_tbl_point_selects_data_cardinality_varchar.yaml
@@ -0,0 +1,130 @@
+#Table1 1*1M 1000*1k 10000*100
+#Table2 1*1L 1000*100 10000*10
+#Table3 1*10k 1000*10 10000*1
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG11_U_pkeyVarchar10_1;
+ - CREATE TABLE INDG11_U_pkeyVarchar10_1(col_varchar_card1_1 varchar(15), col_varchar_card2_1 varchar(15), col_varchar_card3_1 varchar(15), col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_varchar_card1_1, col_varchar_card2_1, col_varchar_card3_1, col_bigint_id_1));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG11_U_pkeyVarchar10_1;
+
+ loadRules:
+ - table: INDG11_U_pkeyVarchar10_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_card1_
+ count: 1
+ util: RandomUniqueCyclicStringGen
+ params: [ 1, 50, 10000 ]
+ - name: col_varchar_card2_
+ count: 1
+ util: CyclicSeqStringGen
+ params: [ 1, 1000 ]
+ - name: col_varchar_card3_
+ count: 1
+ util: CyclicSeqStringGen
+ params: [ 1, 10000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+
+ executeRules:
+
+ - workload: INDG11_1_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_first_part_hash_1M
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=hashpkey,filtertype=pointselect,filterdatatype=varchar,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG11_U_pkeyVarchar10_1 where col_varchar_card1_1=?
+ bindings:
+ - util: RandomUniqueCyclicStringGen
+ params: [ 1, 50, "id-" ]
+
+ - workload: INDG11_2_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash_1k
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,filterdatatype=varchar,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG11_U_pkeyVarchar10_1 where col_varchar_card2_1=?
+ bindings:
+ - util: CyclicSeqStringGen
+ params: [ 1, 1000, "id-" ]
+
+
+ - workload: INDG11_2_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash_1k_two_conditions
+ customTags: customer=1,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=mixedpkey,filtertype=pointselect,filterdatatype=varchar,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG11_U_pkeyVarchar10_1 where col_varchar_card1_1=? and col_varchar_card2_1 between ? and ?
+ bindings:
+ - util: RandomUniqueCyclicStringGen
+ params: [ 1, 50, "id-" ]
+ - util: CyclicSeqStringGen
+ params: [ 1, 980, "id-" ]
+ - util: CyclicSeqStringGen
+ params: [ 20, 1000, "id-" ]
+
+ - workload: INDG11_2_data_cardinality_hashtbl_point_lookup_index_scan_using_comp_skey_third_part_hash_100_two_conditions
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=mixedpkey,filtertype=pointselect,filterdatatype=varchar,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG11_U_pkeyVarchar10_1 where col_varchar_card1_1=? and col_varchar_card3_1=?
+ bindings:
+ - util: RandomUniqueCyclicStringGen
+ params: [ 1, 50, "id-" ]
+ - util: CyclicSeqStringGen
+ params: [ 1, 10000, "id-" ]
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG12_U_sec_index_hash_tbl_data_cardinality_bigint.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG12_U_sec_index_hash_tbl_data_cardinality_bigint.yaml
new file mode 100644
index 000000000..dd9ecde7c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG12_U_sec_index_hash_tbl_data_cardinality_bigint.yaml
@@ -0,0 +1,114 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG12_U_pkeyBigint1M_1;
+ - CREATE TABLE INDG12_U_pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON INDG12_U_pkeyBigint1M_1(col_bigint_card1_1);
+ - CREATE INDEX ON INDG12_U_pkeyBigint1M_1(col_bigint_card2_1 ASC);
+ - CREATE INDEX ON INDG12_U_pkeyBigint1M_1(col_bigint_card3_1 DESC);
+ cleanup:
+ - DROP TABLE IF EXISTS INDG12_U_pkeyBigint1M_1;
+ loadRules:
+ - table: INDG12_U_pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+
+
+ executeRules:
+
+ - workload: INDG12_1_index_scan_hash_skey_point_select
+ customTags: schematype=regular,partition=hash,pkey=single,cardinality=multiple,projection=all,filtercount=one,filteron=hashskey,filtertype=pointselect
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG12_U_pkeyBigint1M_1 where col_bigint_card1_1 IN (?,?,?,?,?);
+ bindings:
+ count: 5
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+
+ - workload: INDG12_2_index_scan_range_skey_point_select
+ customTags: schematype=regular,partition=hash,pkey=single,cardinality=multiple,projection=all,filtercount=one,filteron=rangeskey,filtertype=pointselect
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG12_U_pkeyBigint1M_1 where col_bigint_card2_1 IN (?,?,?,?,?);
+ bindings:
+ count: 5
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+
+ - workload: INDG12_3_index_scan_range_skey_desc_point_select
+ customTags: schematype=regular,partition=hash,pkey=single,cardinality=multiple,projection=all,filtercount=one,filteron=rangeskey,filtertype=pointselect
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG12_U_pkeyBigint1M_1 where col_bigint_card3_1 IN (?,?,?,?,?);
+ bindings:
+ count: 5
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG13_U_compare_index_scan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG13_U_compare_index_scan.yaml
new file mode 100644
index 000000000..a2a588753
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG13_U_compare_index_scan.yaml
@@ -0,0 +1,75 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG13_U_rangetbl_1;
+ - CREATE TABLE INDG13_U_rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON INDG13_U_rangetbl_1(col_bigint_id_2 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG13_U_rangetbl_1;
+
+ loadRules:
+ - table: INDG13_U_rangetbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: INDG13_3_indexscan_using_skey
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from INDG13_U_rangetbl_1 where col_bigint_id_2>0
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG1_U_pkey_point_selects_hash_table_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG1_U_pkey_point_selects_hash_table_indexscan.yaml
new file mode 100644
index 000000000..4f1ad999a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG1_U_pkey_point_selects_hash_table_indexscan.yaml
@@ -0,0 +1,86 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG1_U_CompositeHashtbl_1;
+ - CREATE TABLE INDG1_U_CompositeHashtbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG1_U_CompositeHashtbl_1;
+
+ loadRules:
+
+ - table: INDG1_U_CompositeHashtbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+
+ executeRules:
+
+ - workload: INDG1_1_hashtbl_point_lookup_index_scan_using_comp_pkey_first_part_hash
+ customTags: customer=10,schematype=regular,partition=hash,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=hashpkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG1_U_CompositeHashtbl_1 where col_bigint_id_1=500009
+
+ - workload: INDG1_2_hashtbl_point_lookup_index_scan_using_comp_pkey_sec_part_range
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG1_U_CompositeHashtbl_1 where col_bigint_id_2=500009
+
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG2_U_pkey_point_selects_range_table_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG2_U_pkey_point_selects_range_table_indexscan.yaml
new file mode 100644
index 000000000..7c1fb17e7
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG2_U_pkey_point_selects_range_table_indexscan.yaml
@@ -0,0 +1,86 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG2_U_CompositeHashtbl_1;
+ - CREATE TABLE INDG2_U_CompositeHashtbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC, col_bigint_id_2 ASC));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG2_U_CompositeHashtbl_1;
+
+
+ loadRules:
+
+ - table: INDG2_U_CompositeHashtbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+
+ - workload: INDG2_1_rangetbl_point_lookup_index_scan_using_comp_pkey_first_part_range
+ customTags: customer=7,schematype=regular,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG2_U_CompositeHashtbl_1 where col_bigint_id_1=500009
+
+ - workload: INDG2_2_rangetbl_point_lookup_index_scan_using_comp_pkey_sec_part_range
+ customTags: schematype=regular,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG2_U_CompositeHashtbl_1 where col_bigint_id_2=500009
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG3_U_pkey_hash_tbl_range_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG3_U_pkey_hash_tbl_range_selects_indexscan.yaml
new file mode 100644
index 000000000..3245cd6cb
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG3_U_pkey_hash_tbl_range_selects_indexscan.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG3_U_CompositeHashtbl_1;
+ - CREATE TABLE INDG3_U_CompositeHashtbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG3_U_CompositeHashtbl_1;
+
+ loadRules:
+
+ - table: INDG3_U_CompositeHashtbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG3_1_hashtbl_range_lookup_index_scan_using_comp_pkey_first_part_hash
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG3_U_CompositeHashtbl_1 where col_bigint_id_1>500000
+
+ - workload: INDG3_2_hashtbl_range_lookup_index_scan_using_comp_pkey_sec_part_range
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG3_U_CompositeHashtbl_1 where col_bigint_id_2>500000
+
+ - workload: INDG3_3_hashtbl_range_lookup_index_scan_using_comp_pkey_using_two_conditions_hash_range
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=single,projection=all,filtercount=two,filteron=mixedpkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG3_U_CompositeHashtbl_1 where col_bigint_id_1>250000 and col_bigint_id_2<750000
+
+ - workload: INDG3_4_hashtbl_range_lookup_index_scan_using_pkey_two_conditions_both_hash
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=single,projection=all,filtercount=two,filteron=hashpkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_pkey
+ weight: 100
+ queries:
+ - query: select * from INDG3_U_CompositeHashtbl_1 where col_bigint_id_1>250000 and col_bigint_id_1<750000
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG4_U_pkey_range_tbl_range_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG4_U_pkey_range_tbl_range_selects_indexscan.yaml
new file mode 100644
index 000000000..0e06bf30e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG4_U_pkey_range_tbl_range_selects_indexscan.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG4_U_CompositeHashtbl_1;
+ - CREATE TABLE INDG4_U_CompositeHashtbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC, col_bigint_id_2 ASC));
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG4_U_CompositeHashtbl_1;
+
+ loadRules:
+
+ - table: INDG4_U_CompositeHashtbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG4_1_rangetbl_range_lookup_index_scan_using_comp_pkey_first_part_range
+ customTags: schematype=regular,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG4_U_CompositeHashtbl_1 where col_bigint_id_1>500000
+
+ - workload: INDG4_2_rangetbl_range_lookup_index_scan_using_comp_pkey_sec_part_range
+ customTags: schematype=regular,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG4_U_CompositeHashtbl_1 where col_bigint_id_2>500000
+
+ - workload: INDG4_3_rangetbl_range_lookup_index_scan_using_comp_pkey_using_two_conditions_range
+ customTags: schematype=regular,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=two,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG4_U_CompositeHashtbl_1 where col_bigint_id_1>250000 and col_bigint_id_2<750000
+
+ - workload: INDG4_4_rangetbl_range_lookup_index_scan_using_pkey_two_conditions_range
+ customTags: schematype=regular,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=two,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_pkey
+ weight: 100
+ queries:
+ - query: select * from INDG4_U_CompositeHashtbl_1 where col_bigint_id_1>250000 and col_bigint_id_1<750000
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG5_U_sec_index_hash_tbl_point_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG5_U_sec_index_hash_tbl_point_selects_indexscan.yaml
new file mode 100644
index 000000000..c6f11bc67
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG5_U_sec_index_hash_tbl_point_selects_indexscan.yaml
@@ -0,0 +1,82 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG5_U_Hashtbl_comp_skey_1;
+ - CREATE TABLE INDG5_U_Hashtbl_comp_skey_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON INDG5_U_Hashtbl_comp_skey_1(col_bigint_id_2, col_bigint_id_3);
+ - CREATE INDEX ON INDG5_U_Hashtbl_comp_skey_1(col_bigint_id_4, col_bigint_id_5 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG5_U_Hashtbl_comp_skey_1;
+
+ loadRules:
+
+ - table: INDG5_U_Hashtbl_comp_skey_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 6
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG5_1_hashtbl_point_lookup_index_scan_using_comp_skey_first_part_hash
+ customTags: customer=9,schematype=regular,partition=hash,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=hashskey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG5_U_Hashtbl_comp_skey_1 where col_bigint_id_2=500009
+
+ - workload: INDG5_2_hashtbl_point_lookup_index_scan_using_comp_skey_sec_part_hash
+ customTags: schematype=regular,partition=hash,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangeskey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG5_U_Hashtbl_comp_skey_1 where col_bigint_id_3=500009
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG6_U_sec_index_range_tbl_point_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG6_U_sec_index_range_tbl_point_selects_indexscan.yaml
new file mode 100644
index 000000000..89669d3a5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG6_U_sec_index_range_tbl_point_selects_indexscan.yaml
@@ -0,0 +1,99 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG6_U_Rangetbl_comp_skey_1;
+ - CREATE TABLE INDG6_U_Rangetbl_comp_skey_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON INDG6_U_Rangetbl_comp_skey_1(col_bigint_id_2 ASC, col_bigint_id_3 ASC);
+ - CREATE INDEX ON INDG6_U_Rangetbl_comp_skey_1(col_bigint_id_4, col_bigint_id_5 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG6_U_Rangetbl_comp_skey_1;
+
+ loadRules:
+
+ - table: INDG6_U_Rangetbl_comp_skey_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 6
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG6_1_rangetbl_point_lookup_index_scan_using_comp_range_skey_first_part_range
+ customTags: customer=1,schematype=regular,partition=range,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangeskey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG6_U_Rangetbl_comp_skey_1 where col_bigint_id_2=500009
+
+ - workload: INDG6_2_rangetbl_point_lookup_index_scan_using_comp_range_skey_sec_part_range
+ customTags: schematype=regular,partition=range,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangeskey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG6_U_Rangetbl_comp_skey_1 where col_bigint_id_3=500009
+
+ - workload: INDG6_4_rangetbl_point_lookup_index_scan_using_mixed_comp_skey_first_part_hash
+ customTags: customer=1,schematype=regular,partition=range,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=hashskey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG6_U_Rangetbl_comp_skey_1 where col_bigint_id_4=500009
+
+ - workload: INDG6_5_rangetbl_point_lookup_index_scan_using_mixed_comp_skey_sec_part_range
+ customTags: customer=1,schematype=regular,partition=range,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangeskey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG6_U_Rangetbl_comp_skey_1 where col_bigint_id_5=500009
+
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG7_U_sec_index_hash_tbl_range_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG7_U_sec_index_hash_tbl_range_selects_indexscan.yaml
new file mode 100644
index 000000000..82f68661d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG7_U_sec_index_hash_tbl_range_selects_indexscan.yaml
@@ -0,0 +1,98 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG7_U_Hashtbl_comp_skey_1;
+ - CREATE TABLE INDG7_U_Hashtbl_comp_skey_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON INDG7_U_Hashtbl_comp_skey_1(col_bigint_id_2, col_bigint_id_3);
+ - CREATE INDEX ON INDG7_U_Hashtbl_comp_skey_1(col_bigint_id_4, col_bigint_id_5 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG7_U_Hashtbl_comp_skey_1;
+
+ loadRules:
+
+ - table: INDG7_U_Hashtbl_comp_skey_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 6
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG7_1_hashtbl_range_lookup_index_scan_using_comp_skey_first_part_hash
+ customTags: schematype=regular,partition=hash,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=hashskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG7_U_Hashtbl_comp_skey_1 where col_bigint_id_2>500000
+
+ - workload: INDG7_2_hashtbl_range_lookup_index_scan_using_comp_skey_sec_part_range
+ customTags: schematype=regular,partition=hash,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG7_U_Hashtbl_comp_skey_1 where col_bigint_id_3>500000
+
+ - workload: INDG7_6_hashtbl_range_lookup_index_scan_using_mixed_comp_skey_two_conditions_hash_range
+ customTags: schematype=regular,partition=hash,skey=composite,cardinality=single,projection=all,filtercount=two,filteron=mixedskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG7_U_Hashtbl_comp_skey_1 where col_bigint_id_4>250000 and col_bigint_id_5<750000
+
+ - workload: INDG7_7_hashtbl_range_lookup_index_scan_using_skey_two_conditions_on_hash
+ customTags: schematype=regular,partition=hash,skey=composite,cardinality=single,projection=all,filtercount=two,filteron=hashskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_pkey
+ weight: 100
+ queries:
+ - query: select * from INDG7_U_Hashtbl_comp_skey_1 where col_bigint_id_2>250000 and col_bigint_id_2<750000
diff --git a/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG8_U_sec_index_range_tbl_range_selects_indexscan.yaml b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG8_U_sec_index_range_tbl_range_selects_indexscan.yaml
new file mode 100644
index 000000000..a46c45ed9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/Index_workloads/yugabyte/INDG8_U_sec_index_range_tbl_range_selects_indexscan.yaml
@@ -0,0 +1,124 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS INDG8_U_Rangetbl_comp_skey_1;
+ - CREATE TABLE INDG8_U_Rangetbl_comp_skey_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON INDG8_U_Rangetbl_comp_skey_1(col_bigint_id_2 ASC, col_bigint_id_3 ASC);
+ - CREATE INDEX ON INDG8_U_Rangetbl_comp_skey_1(col_bigint_id_4, col_bigint_id_5 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS INDG8_U_Rangetbl_comp_skey_1;
+
+ loadRules:
+
+ - table: INDG8_U_Rangetbl_comp_skey_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 6
+ util: RandomUniqueIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: INDG8_1_rangetbl_range_lookup_index_scan_using_comp_skey_first_part_range
+ customTags: schematype=regular,partition=range,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_2>500000
+
+ - workload: INDG8_2_rangetbl_range_lookup_index_scan_using_comp_skey_sec_part_range
+ customTags: schematype=regular,partition=range,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_3>500000
+
+ - workload: INDG8_3_rangetbl_range_lookup_index_scan_using_mixed_comp_skey_first_part_hash
+ customTags: schematype=regular,partition=range,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=hashskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_4>500000
+
+ - workload: INDG8_4_rangetbl_range_lookup_index_scan_using_mixed_comp_skey_sec_part_range
+ customTags: schematype=regular,partition=range,skey=composite,cardinality=single,projection=all,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_5>500000
+
+ - workload: INDG8_5_rangetbl_range_lookup_index_scan_using_comp_skey_two_conditions_range
+ customTags: schematype=regular,partition=range,skey=composite,cardinality=single,projection=all,filtercount=two,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_2>250000 and col_bigint_id_3<750000
+
+ - workload: INDG8_6_rangetbl_range_lookup_index_scan_using_mixed_comp_skey_two_conditions_hash_range
+ customTags: schematype=regular,partition=range,skey=composite,cardinality=single,projection=all,filtercount=two,filteron=mixedskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_4>250000 and col_bigint_id_5<750000
+
+ - workload: INDG8_7_rangetbl_range_lookup_index_scan_using_skey_two_conditions_range
+ customTags: schematype=regular,partition=range,skey=composite,cardinality=single,projection=all,filtercount=two,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: hashtbl_index_scan_pkey
+ weight: 100
+ queries:
+ - query: select * from INDG8_U_Rangetbl_comp_skey_1 where col_bigint_id_2>250000 and col_bigint_id_2<750000
+
+
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG10_aggregate_cardinality.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG10_aggregate_cardinality.yaml
new file mode 100644
index 000000000..57054a623
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG10_aggregate_cardinality.yaml
@@ -0,0 +1,126 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+analyze_on_all_tables: true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1010000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: AGGRG10_1_count_point_select_multiple_values
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_card2_1) from pkeyBigint1M_1 where col_bigint_card2_1 = ?
+ bindings:
+ - util: RandomInt
+ params: [ 1000001, 1001000 ]
+
+ - workload: AGGRG10_2_count_point_select_multiple_values_IN
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_card2_1) from pkeyBigint1M_1 where col_bigint_card2_1 in (?,?)
+ bindings:
+ - util: RandomInt
+ count: 2
+ params: [ 1000001, 1001000 ]
+
+ - workload: AGGRG10_3_count_point_select_multiple_values_IN_groupby
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_card2_1) from pkeyBigint1M_1 where col_bigint_card2_1 in (?,?) group by col_bigint_card2_1
+ bindings:
+ - util: RandomInt
+ count: 2
+ params: [ 1000001, 1001000 ]
+
+ - workload: AGGRG10_4_count_indexed_col_multiple_values_groupby
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_card2_1,count(col_bigint_card2_1) from pkeyBigint1M_1 group by col_bigint_card2_1
+
+ - workload: AGGRG10_5_count_indexed_col_multiple_values_groupby_orderby
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_card2_1,count(col_bigint_card2_1) from pkeyBigint1M_1 group by col_bigint_card2_1 order by col_bigint_card2_1
+
+ - workload: AGGRG10_6_distinct_indexed_col_multiple_values_orderby
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select distinct(col_bigint_card3_1) from pkeyBigint1M_1 order by col_bigint_card3_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG2_impact_of_increasing_row.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG2_impact_of_increasing_row.yaml
new file mode 100644
index 000000000..22cc64dd9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG2_impact_of_increasing_row.yaml
@@ -0,0 +1,163 @@
+#TEST FOR POSTGRES
+#GOAL1 Impact of increasing rows on count aggregate
+#TESTS:
+#Aggregate function count on 0.1M rows
+#Aggregate function count on 1M rows
+#Aggregate function count on 10M rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: AGGRG2_count_bigint_1L_table_rows
+ run:
+ - name: pg_count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1L_1
+ - workload: AGGRG2_count_bigint_1M_table_rows
+ run:
+ - name: pg_count_bigint_1M_table_rows
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1M_1
+ - workload: AGGRG2_count_bigint_10M_table_rows
+ run:
+ - name: pg_count_bigint_10M_table_rows
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint10M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG3_projection_datatype_impact.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG3_projection_datatype_impact.yaml
new file mode 100644
index 000000000..b5ca153f8
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG3_projection_datatype_impact.yaml
@@ -0,0 +1,107 @@
+#TEST FOR POSTGRES
+#GOAL3 Impact of projection datatype on aggregate count
+#TESTS:
+#Aggregate function count on all tupples(*)
+#Aggregate function count on indexed bigint column
+#Aggregate function count on indexed float column
+#Aggregate function count on indexed varchar(10) column
+#Aggregate function count on indexed varchar(500) column
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+ - CREATE INDEX ON Indexed1M_1(col_varchar10_id_1);
+ - CREATE INDEX ON Indexed1M_1(col_varchar500_id_1);
+ - CREATE INDEX ON Indexed1M_1(col_float5_1);
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: AGGRG3_count_on_all_tupples_columns
+ run:
+ - name: pg_count_bigint_on_all_tupples_columns
+ weight: 100
+ queries:
+ - query: select count(*) from Indexed1M_1
+ - workload: AGGRG3_count_bigint_on_indexed
+ run:
+ - name: pg_count_on_indexed_bigint
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_1
+ - workload: AGGRG3_count_on_indexed_float
+ customTags: customer=1
+ run:
+ - name: pg_count_on_indexed_varchar10
+ weight: 100
+ queries:
+ - query: select count(col_float5_1) from Indexed1M_1
+ - workload: AGGRG3_count_on_indexed_varchar10
+ customTags: customer=1
+ run:
+ - name: pg_count_on_indexed_varchar10
+ weight: 100
+ queries:
+ - query: select count(col_varchar10_id_1) from Indexed1M_1
+ - workload: AGGRG3_count_on_indexed_varchar500
+ run:
+ - name: pg_count_on_indexed_varchar500
+ weight: 100
+ queries:
+ - query: select count(col_varchar500_id_1) from Indexed1M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG4_impact_of_distinct_on_increasing_row.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG4_impact_of_distinct_on_increasing_row.yaml
new file mode 100644
index 000000000..9246704e6
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG4_impact_of_distinct_on_increasing_row.yaml
@@ -0,0 +1,165 @@
+#TEST FOR POSTGRES
+#GOAL4 Impact of increasing rows on distinct aggregate
+#TESTS:
+#Aggregate function distinct on 0.1M rows
+#Aggregate function distinct on 1M rows
+#Aggregate function distinct on 10M rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: AGGRG4_distinct_bigint_1L_table_rows
+ customTags: customer=1
+ run:
+ - name: pg_distinct_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select distinct(col_bigint_id_1) from pkeyBigint1L_1
+ - workload: AGGRG4_distinct_bigint_1M_table_rows
+ run:
+ - name: pg_distinct_bigint_1M_table_rows
+ weight: 100
+ queries:
+ - query: select distinct(col_bigint_id_1) from pkeyBigint1M_1
+ - workload: AGGRG4_distinct_bigint_10M_table_rows
+ customTags: customer=2
+ run:
+ - name: pg_distinct_bigint_10M_table_rows
+ weight: 100
+ queries:
+ - query: select distinct(col_bigint_id_1) from pkeyBigint10M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG5_impact_of_max_on_increasing_row.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG5_impact_of_max_on_increasing_row.yaml
new file mode 100644
index 000000000..a5b6db049
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG5_impact_of_max_on_increasing_row.yaml
@@ -0,0 +1,164 @@
+#TEST FOR POSTGRES
+#GOAL5 Impact of increasing rows on max aggregate
+#TESTS:
+#Aggregate function max on 0.1M rows
+#Aggregate function max on 1M rows
+#Aggregate function max on 10M rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: AGGRG5_max_bigint_1L_table_rows
+ customTags: customer=2
+ run:
+ - name: pg_distinct_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select max(col_bigint_id_1) from pkeyBigint1L_1
+ - workload: AGGRG5_max_bigint_1M_table_rows
+ run:
+ - name: pg_distinct_bigint_1M_table_rows
+ weight: 100
+ queries:
+ - query: select max(col_bigint_id_1) from pkeyBigint1M_1
+ - workload: AGGRG5_max_bigint_10M_table_rows
+ run:
+ - name: pg_distinct_bigint_10M_table_rows
+ weight: 100
+ queries:
+ - query: select max(col_bigint_id_1) from pkeyBigint10M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG6_impact_of_sum_on_increasing_row.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG6_impact_of_sum_on_increasing_row.yaml
new file mode 100644
index 000000000..6b6202c8c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG6_impact_of_sum_on_increasing_row.yaml
@@ -0,0 +1,164 @@
+#TEST FOR POSTGRES
+#GOAL6 Impact of increasing rows on sum aggregate
+#TESTS:
+#Aggregate function sum on 0.1M rows
+#Aggregate function sum on 1M rows
+#Aggregate function sum on 10M rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: AGGRG6_sum_bigint_1L_table_rows
+ run:
+ - name: pg_distinct_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select sum(col_bigint_id_1) from pkeyBigint1L_1
+ - workload: AGGRG6_sum_bigint_1M_table_rows
+ run:
+ - name: pg_distinct_bigint_1M_table_rows
+ weight: 100
+ queries:
+ - query: select sum(col_bigint_id_1) from pkeyBigint1M_1
+ - workload: AGGRG6_sum_bigint_10M_table_rows
+ customTags: customer=2
+ run:
+ - name: pg_distinct_bigint_10M_table_rows
+ weight: 100
+ queries:
+ - query: select sum(col_bigint_id_1) from pkeyBigint10M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG7_filter_condition_index_type_impact.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG7_filter_condition_index_type_impact.yaml
new file mode 100644
index 000000000..bafa5dd33
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG7_filter_condition_index_type_impact.yaml
@@ -0,0 +1,94 @@
+#TEST FOR POSTGRES
+#GOAL7 Impact of index type on aggregation
+#TESTS:
+#Aggregate function count with 1 filter condition on non indexed column of bigint datatype
+#Aggregate function count with 1 filter condition on pkey column of bigint datatype
+#Aggregate function count with 1 filter condition on secondary indexed column of bigint datatype
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: AGGRG7_count_bigint_non_indexed_column_with_filter_condition
+ customTags: customer=2
+ run:
+ - name: yb_count_bigint_non_indexed_column_with_filter_condition
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_1 where col_bigint_id_3>1
+ - workload: AGGRG7_count_bigint_pkey_column_with_filter_condition
+ customTags: customer=2
+ run:
+ - name: yb_count_bigint_non_indexed_column_with_filter_condition
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from Indexed1M_1 where col_bigint_id_1>1
+ - workload: AGGRG7_count_bigint_secondary_indexed_column_with_filter_condition
+ customTags: customer=2
+ run:
+ - name: yb_count_bigint_non_indexed_column_with_filter_condition
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_1 where col_bigint_id_2>1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG8_composite_key_impact.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG8_composite_key_impact.yaml
new file mode 100644
index 000000000..401204b5a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG8_composite_key_impact.yaml
@@ -0,0 +1,187 @@
+#TEST FOR POSTGRES
+#GOAL8 Impact of composite constraints
+#Aggregate function count on 1st elelemt of composite pkey
+#Aggregate function count on 2nd elelemt of composite pkey
+#Aggregate function count on 1st elelemt of composite pkey with 1 filter on 1st element
+#Aggregate function count on 2nd elelemt of composite pkey with 1 filter on 2nd element
+#Aggregate function count on 1st elelemt of composite pkey with 1 filter on 2nd element
+#Aggregate function count on 2nd elelemt of composite pkey with 1 filter on 1st element
+#Aggregate function count on 1st elelemt of composite secondary key
+#Repeat for indexed col
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_comp2keys_1;
+ - DROP TABLE IF EXISTS Indexed1M_comp2keys_1;
+ - CREATE TABLE pkeyBigint1M_comp2keys_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2));
+ - CREATE TABLE Indexed1M_comp2keys_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_comp2keys_1(col_bigint_id_2, col_bigint_id_3);
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_comp2keys_1;
+ - DROP TABLE IF EXISTS Indexed1M_comp2keys_1;
+ loadRules:
+ - table: pkeyBigint1M_comp2keys_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: Indexed1M_comp2keys_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: AGGRG8_count_bigint_comp_pkey_first_ele
+ run:
+ - name: pg_count_bigint_comp_pkey_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1M_comp2keys_1
+ - workload: AGGRG8_count_bigint_comp_pkey_second_ele
+ run:
+ - name: pg_count_bigint_comp_pkey_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from pkeyBigint1M_comp2keys_1
+ - workload: AGGRG8_count_bigint_comp_pkey_withfilter_first_ele
+ run:
+ - name: pg_count_bigint_comp_pkey_withfilter_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1M_comp2keys_1 where col_bigint_id_1>1
+ - workload: AGGRG8_count_bigint_comp_pkey_withfilter_second_ele
+ run:
+ - name: pg_count_bigint_comp_pkey_withfilter_second_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from pkeyBigint1M_comp2keys_1 where col_bigint_id_2>1
+ - workload: AGGRG8_count_bigint_comp_pkey_project_first_ele_withfilter_sec_ele
+ run:
+ - name: pg_count_bigint_comp_pkey_project_first_ele_withfilter_sec_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1M_comp2keys_1 where col_bigint_id_2>1
+ - workload: AGGRG8_count_bigint_comp_pkey_project_sec_ele_withfilter_first_ele
+ run:
+ - name: pg_count_bigint_comp_pkey_project_sec_ele_withfilter_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from pkeyBigint1M_comp2keys_1 where col_bigint_id_1>1
+
+
+ - workload: AGGRG8_count_bigint_comp_index_first_ele
+ run:
+ - name: pg_count_bigint_comp_index_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_comp2keys_1
+ - workload: AGGRG8_count_bigint_comp_index_second_ele
+ run:
+ - name: pg_count_bigint_comp_index_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_comp2keys_1
+ - workload: AGGRG8_count_bigint_comp_index_withfilter_first_ele
+ run:
+ - name: pg_count_bigint_comp_index_withfilter_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_comp2keys_1 where col_bigint_id_2>1
+ - workload: AGGRG8_count_bigint_comp_index_withfilter_second_ele
+ run:
+ - name: pg_count_bigint_comp_index_withfilter_second_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_comp2keys_1 where col_bigint_id_3>1
+ - workload: AGGRG8_count_bigint_comp_index_project_first_ele_withfilter_sec_ele
+ run:
+ - name: pg_count_bigint_comp_index_project_first_ele_withfilter_sec_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_comp2keys_1 where col_bigint_id_3>1
+ - workload: AGGRG8_count_bigint_comp_index_project_sec_ele_withfilter_first_ele
+ run:
+ - name: pg_count_bigint_comp_index_project_sec_ele_withfilter_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_comp2keys_1 where col_bigint_id_2>1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG9_aggregates_on_hash_partitioned_table.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG9_aggregates_on_hash_partitioned_table.yaml
new file mode 100644
index 000000000..d75d231ba
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/postgres/AGGRG9_aggregates_on_hash_partitioned_table.yaml
@@ -0,0 +1,102 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL9 Aggregates on hash partioned tables
+#Aggregate function count on non indexed column of bigint datatype
+#Aggregate function count on hash pkey column of bigint datatype
+#Aggregate function count on hash secondary indexed column of bigint datatype
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: AGGRG9_count_bigint_non_indexed_column
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_1
+ - workload: AGGRG9_count_bigint_hash_pkey_column
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from Indexed1M_1
+ - workload: AGGRG9_count_bigint_hash_pkey_column_with_filter
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from Indexed1M_1 where col_bigint_id_1>1
+ - workload: AGGRG9_count_bigint_hash_secondary_indexed_column
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_1
+ - workload: AGGRG9_count_bigint_hash_secondary_indexed_column_with_filter
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_1 where col_bigint_id_2>1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG10_aggregate_cardinality.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG10_aggregate_cardinality.yaml
new file mode 100644
index 000000000..a6c129ab5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG10_aggregate_cardinality.yaml
@@ -0,0 +1,134 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1010000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: AGGRG10_1_count_point_select_multiple_values
+ customTags: schematype=colocated,pkey=composite,partition=range,aggregate=count,cardinality=multiple,projection=aggregate,aggregateon=rangepkey,queryshape=aggregate,filteron=rangepkey,filtertype=pointselect
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_card2_1) from pkeyBigint1M_1 where col_bigint_card2_1 = ?
+ bindings:
+ - util: RandomInt
+ params: [ 1000001, 1001000 ]
+
+ - workload: AGGRG10_2_count_point_select_multiple_values_IN
+ customTags: schematype=colocated,pkey=composite,partition=range,aggregate=count,cardinality=multiple,projection=aggregate,aggregateon=rangepkey,queryshape=aggregate,filteron=rangepkey,filtertype=IN
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_card2_1) from pkeyBigint1M_1 where col_bigint_card2_1 in (?,?)
+ bindings:
+ - util: RandomInt
+ count: 2
+ params: [ 1000001, 1001000 ]
+
+ - workload: AGGRG10_3_count_point_select_multiple_values_IN_groupby
+ customTags: schematype=colocated,pkey=composite,partition=range,aggregate=count,cardinality=multiple,projection=aggregate,aggregateon=rangepkey,queryshape=aggregate,filteron=rangepkey,filtertype=IN,groupby=rangepkey
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_card2_1) from pkeyBigint1M_1 where col_bigint_card2_1 in (?,?) group by col_bigint_card2_1
+ bindings:
+ - util: RandomInt
+ count: 2
+ params: [ 1000001, 1001000 ]
+
+ - workload: AGGRG10_4_count_indexed_col_multiple_values_groupby
+ customTags: schematype=colocated,pkey=composite,partition=range,aggregate=count,cardinality=multiple,projection=aggregate,aggregateon=rangepkey,queryshape=aggregate,groupby=rangepkey
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_card2_1,count(col_bigint_card2_1) from pkeyBigint1M_1 group by col_bigint_card2_1
+
+ - workload: AGGRG10_5_count_indexed_col_multiple_values_groupby_orderby
+ customTags: schematype=colocated,pkey=composite,partition=range,aggregate=count,cardinality=multiple,projection=aggregate,aggregateon=rangepkey,queryshape=aggregate,groupby=rangepkey,orderbyon=rangepkey
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_card2_1,count(col_bigint_card2_1) from pkeyBigint1M_1 group by col_bigint_card2_1 order by col_bigint_card2_1
+
+ - workload: AGGRG10_6_distinct_indexed_col_multiple_values_orderby
+ customTags: schematype=colocated,partition=range,aggregate=count,cardinality=multiple,projection=aggregate,aggregateon=rangepkey,queryshape=aggregate,orderbyon=rangepkey
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select distinct(col_bigint_card3_1) from pkeyBigint1M_1 order by col_bigint_card3_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG2_impact_of_increasing_row.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG2_impact_of_increasing_row.yaml
new file mode 100644
index 000000000..301e35bfe
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG2_impact_of_increasing_row.yaml
@@ -0,0 +1,168 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL1 Impact of increasing rows on count aggregate
+#TESTS:
+#Aggregate function count on 0.1M rows
+#Aggregate function count on 1M rows
+#Aggregate function count on 10M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: AGGRG2_count_bigint_1L_table_rows
+ customTags: schematype=colocated,partition=range,pkey=asc,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1L_1
+ - workload: AGGRG2_count_bigint_1M_table_rows
+ customTags: schematype=colocated,partition=range,pkey=asc,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_count_bigint_1M_table_rows
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1M_1
+ - workload: AGGRG2_count_bigint_10M_table_rows
+ customTags: schematype=colocated,partition=range,pkey=asc,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_count_bigint_10M_table_rows
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint10M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG3_projection_datatype_impact.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG3_projection_datatype_impact.yaml
new file mode 100644
index 000000000..daa6504f4
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG3_projection_datatype_impact.yaml
@@ -0,0 +1,112 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL3 Impact of projection datatype on aggregate count
+#TESTS:
+#Aggregate function count on all tupples(*)
+#Aggregate function count on indexed bigint column
+#Aggregate function count on indexed float column
+#Aggregate function count on indexed varchar(10) column
+#Aggregate function count on indexed varchar(500) column
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+ - CREATE INDEX ON Indexed1M_1(col_varchar10_id_1);
+ - CREATE INDEX ON Indexed1M_1(col_varchar500_id_1);
+ - CREATE INDEX ON Indexed1M_1(col_float5_1);
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: AGGRG3_count_on_all_tupples_columns
+ customTags: schematype=colocated,partition=range,pkey=asc,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: ybc_count_bigint_on_all_tupples_columns
+ weight: 100
+ queries:
+ - query: select count(*) from Indexed1M_1
+ - workload: AGGRG3_count_bigint_on_indexed
+ customTags: schematype=colocated,partition=range,pkey=asc,columndatatype=bigint,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: ybc_count_on_indexed_bigint
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_1
+ - workload: AGGRG3_count_on_indexed_float
+ customTags: customer=1,schematype=colocated,partition=range,pkey=asc,columndatatype=float,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: ybc_count_on_indexed_varchar10
+ weight: 100
+ queries:
+ - query: select count(col_float5_1) from Indexed1M_1
+ - workload: AGGRG3_count_on_indexed_varchar10
+ customTags: customer=1,schematype=colocated,partition=range,pkey=asc,columndatatype=varchar,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: ybc_count_on_indexed_varchar10
+ weight: 100
+ queries:
+ - query: select count(col_varchar10_id_1) from Indexed1M_1
+ - workload: AGGRG3_count_on_indexed_varchar500
+ customTags: schematype=colocated,partition=range,pkey=asc,columndatatype=varchar,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: ybc_count_on_indexed_varchar500
+ weight: 100
+ queries:
+ - query: select count(col_varchar500_id_1) from Indexed1M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG4_impact_of_distinct_on_increasing_row.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG4_impact_of_distinct_on_increasing_row.yaml
new file mode 100644
index 000000000..a027787f5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG4_impact_of_distinct_on_increasing_row.yaml
@@ -0,0 +1,168 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL4 Impact of increasing rows on distinct aggregate
+#TESTS:
+#Aggregate function distinct on 0.1M rows
+#Aggregate function distinct on 1M rows
+#Aggregate function distinct on 10M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: AGGRG4_distinct_bigint_1L_table_rows
+ customTags: customer=1,schematype=colocated,partition=range,pkey=asc,aggregate=distinct,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_distinct_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select distinct(col_bigint_id_1) from pkeyBigint1L_1
+ - workload: AGGRG4_distinct_bigint_1M_table_rows
+ customTags: schematype=colocated,partition=range,pkey=asc,aggregate=distinct,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_distinct_bigint_1M_table_rows
+ weight: 100
+ queries:
+ - query: select distinct(col_bigint_id_1) from pkeyBigint1M_1
+ - workload: AGGRG4_distinct_bigint_10M_table_rows
+ customTags: customer=2,schematype=colocated,partition=range,pkey=asc,aggregate=distinct,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_distinct_bigint_10M_table_rows
+ weight: 100
+ queries:
+ - query: select distinct(col_bigint_id_1) from pkeyBigint10M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG5_impact_of_max_on_increasing_row.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG5_impact_of_max_on_increasing_row.yaml
new file mode 100644
index 000000000..9e843dbc6
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG5_impact_of_max_on_increasing_row.yaml
@@ -0,0 +1,168 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL5 Impact of increasing rows on max aggregate
+#TESTS:
+#Aggregate function max on 0.1M rows
+#Aggregate function max on 1M rows
+#Aggregate function max on 10M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: AGGRG5_max_bigint_1L_table_rows
+ customTags: customer=2,schematype=colocated,partition=range,pkey=asc,aggregate=max,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_distinct_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select max(col_bigint_id_1) from pkeyBigint1L_1
+ - workload: AGGRG5_max_bigint_1M_table_rows
+ customTags: schematype=colocated,partition=range,pkey=asc,aggregate=max,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_distinct_bigint_1M_table_rows
+ weight: 100
+ queries:
+ - query: select max(col_bigint_id_1) from pkeyBigint1M_1
+ - workload: AGGRG5_max_bigint_10M_table_rows
+ customTags: schematype=colocated,partition=range,pkey=asc,aggregate=max,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_distinct_bigint_10M_table_rows
+ weight: 100
+ queries:
+ - query: select max(col_bigint_id_1) from pkeyBigint10M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG6_impact_of_sum_on_increasing_row.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG6_impact_of_sum_on_increasing_row.yaml
new file mode 100644
index 000000000..87de9b706
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG6_impact_of_sum_on_increasing_row.yaml
@@ -0,0 +1,168 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL6 Impact of increasing rows on sum aggregate
+#TESTS:
+#Aggregate function sum on 0.1M rows
+#Aggregate function sum on 1M rows
+#Aggregate function sum on 10M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: AGGRG6_sum_bigint_1L_table_rows
+ customTags: schematype=colocated,partition=range,pkey=asc,aggregate=sum,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_distinct_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select sum(col_bigint_id_1) from pkeyBigint1L_1
+ - workload: AGGRG6_sum_bigint_1M_table_rows
+ customTags: schematype=colocated,partition=range,pkey=asc,aggregate=sum,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_distinct_bigint_1M_table_rows
+ weight: 100
+ queries:
+ - query: select sum(col_bigint_id_1) from pkeyBigint1M_1
+ - workload: AGGRG6_sum_bigint_10M_table_rows
+ customTags: customer=2,schematype=colocated,partition=range,pkey=asc,aggregate=sum,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_distinct_bigint_10M_table_rows
+ weight: 100
+ queries:
+ - query: select sum(col_bigint_id_1) from pkeyBigint10M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG7_filter_condition_index_type_impact.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG7_filter_condition_index_type_impact.yaml
new file mode 100644
index 000000000..bf672a3da
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG7_filter_condition_index_type_impact.yaml
@@ -0,0 +1,96 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL7 Impact of index type on aggregation
+#TESTS:
+#Aggregate function count with 1 filter condition on non indexed column of bigint datatype
+#Aggregate function count with 1 filter condition on pkey column of bigint datatype
+#Aggregate function count with 1 filter condition on secondary indexed column of bigint datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: AGGRG7_count_bigint_non_indexed_column_with_filter_condition
+ customTags: customer=2,schematype=colocated,partition=range,pkey=asc,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=nonindexed,filteron=nonindexed,filtertype=comparision
+ run:
+ - name: yb_count_bigint_non_indexed_column_with_filter_condition
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_1 where col_bigint_id_3>1
+ - workload: AGGRG7_count_bigint_pkey_column_with_filter_condition
+ customTags: customer=2,schematype=colocated,partition=range,pkey=asc,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=nonindexed,filteron=rangepkey,filtertype=comparision
+ run:
+ - name: yb_count_bigint_non_indexed_column_with_filter_condition
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from Indexed1M_1 where col_bigint_id_1>1
+ - workload: AGGRG7_count_bigint_secondary_indexed_column_with_filter_condition
+ customTags: customer=2,schematype=colocated,partition=range,skey=asc,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=nonindexed,filteron=rangeskey,filtertype=comparision
+ run:
+ - name: yb_count_bigint_non_indexed_column_with_filter_condition
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_1 where col_bigint_id_2>1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG8_composite_key_impact.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG8_composite_key_impact.yaml
new file mode 100644
index 000000000..556f0d853
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG8_composite_key_impact.yaml
@@ -0,0 +1,201 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL8 Impact of composite constraints
+#Aggregate function count on 1st elelemt of composite pkey
+#Aggregate function count on 2nd elelemt of composite pkey
+#Aggregate function count on 1st elelemt of composite pkey with 1 filter on 1st element
+#Aggregate function count on 2nd elelemt of composite pkey with 1 filter on 2nd element
+#Aggregate function count on 1st elelemt of composite pkey with 1 filter on 2nd element
+#Aggregate function count on 2nd elelemt of composite pkey with 1 filter on 1st element
+#Aggregate function count on 1st elelemt of composite secondary key
+#Repeat for indexed col
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_comp2keys_1;
+ - DROP TABLE IF EXISTS Indexed1M_comp2keys_1;
+ - CREATE TABLE pkeyBigint1M_comp2keys_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2));
+ - CREATE TABLE Indexed1M_comp2keys_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_comp2keys_1(col_bigint_id_2, col_bigint_id_3);
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_comp2keys_1;
+ - DROP TABLE IF EXISTS Indexed1M_comp2keys_1;
+ loadRules:
+ - table: pkeyBigint1M_comp2keys_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: Indexed1M_comp2keys_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: AGGRG8_count_bigint_comp_pkey_first_ele
+ customTags: schematype=colocated,partition=range,pkey=composite,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_count_bigint_comp_pkey_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1M_comp2keys_1
+ - workload: AGGRG8_count_bigint_comp_pkey_second_ele
+ customTags: schematype=colocated,partition=range,pkey=composite,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: ybc_count_bigint_comp_pkey_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from pkeyBigint1M_comp2keys_1
+ - workload: AGGRG8_count_bigint_comp_pkey_withfilter_first_ele
+ customTags: schematype=colocated,partition=range,pkey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangepkey,filteron=rangepkey,filtertype=comparision
+ run:
+ - name: ybc_count_bigint_comp_pkey_withfilter_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1M_comp2keys_1 where col_bigint_id_1>1
+ - workload: AGGRG8_count_bigint_comp_pkey_withfilter_second_ele
+ customTags: schematype=colocated,partition=range,pkey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangepkey,filteron=rangepkey,filtertype=comparision
+ run:
+ - name: ybc_count_bigint_comp_pkey_withfilter_second_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from pkeyBigint1M_comp2keys_1 where col_bigint_id_2>1
+ - workload: AGGRG8_count_bigint_comp_pkey_project_first_ele_withfilter_sec_ele
+ customTags: schematype=colocated,partition=range,pkey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangepkey,filteron=rangepkey,filtertype=comparision
+ run:
+ - name: ybc_count_bigint_comp_pkey_project_first_ele_withfilter_sec_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1M_comp2keys_1 where col_bigint_id_2>1
+ - workload: AGGRG8_count_bigint_comp_pkey_project_sec_ele_withfilter_first_ele
+ customTags: schematype=colocated,partition=range,pkey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangepkey,filteron=rangepkey,filtertype=comparision
+ run:
+ - name: ybc_count_bigint_comp_pkey_project_sec_ele_withfilter_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from pkeyBigint1M_comp2keys_1 where col_bigint_id_1>1
+
+
+ - workload: AGGRG8_count_bigint_comp_index_first_ele
+ customTags: schematype=colocated,partition=range,skey=composite,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: ybc_count_bigint_comp_index_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_comp2keys_1
+ - workload: AGGRG8_count_bigint_comp_index_second_ele
+ customTags: schematype=colocated,partition=range,skey=composite,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: ybc_count_bigint_comp_index_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_comp2keys_1
+ - workload: AGGRG8_count_bigint_comp_index_withfilter_first_ele
+ customTags: schematype=colocated,partition=range,skey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangeskey,filteron=rangeskey,filtertype=comparision
+ run:
+ - name: ybc_count_bigint_comp_index_withfilter_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_comp2keys_1 where col_bigint_id_2>1
+ - workload: AGGRG8_count_bigint_comp_index_withfilter_second_ele
+ customTags: schematype=colocated,partition=range,skey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangeskey,filteron=rangeskey,filtertype=comparision
+ run:
+ - name: ybc_count_bigint_comp_index_withfilter_second_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_comp2keys_1 where col_bigint_id_3>1
+ - workload: AGGRG8_count_bigint_comp_index_project_first_ele_withfilter_sec_ele
+ customTags: schematype=colocated,partition=range,skey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangeskey,filteron=rangeskey,filtertype=comparision
+ run:
+ - name: ybc_count_bigint_comp_index_project_first_ele_withfilter_sec_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_comp2keys_1 where col_bigint_id_3>1
+ - workload: AGGRG8_count_bigint_comp_index_project_sec_ele_withfilter_first_ele
+ customTags: schematype=colocated,partition=range,skey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangeskey,filteron=rangeskey,filtertype=comparision
+ run:
+ - name: ybc_count_bigint_comp_index_project_sec_ele_withfilter_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_comp2keys_1 where col_bigint_id_2>1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG9_aggregates_on_hash_partitioned_table.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG9_aggregates_on_hash_partitioned_table.yaml
new file mode 100644
index 000000000..5893e287d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yb_colocated/AGGRG9_aggregates_on_hash_partitioned_table.yaml
@@ -0,0 +1,104 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: AGGRG9_count_bigint_non_indexed_column
+ customTags: schematype=colocated,partition=range,aggregate=count,cardinality=single,projection=aggregate,aggregateon=nonindexed
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_1
+ - workload: AGGRG9_count_bigint_hash_pkey_column
+ customTags: schematype=colocated,partition=range,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from Indexed1M_1
+ - workload: AGGRG9_count_bigint_hash_pkey_column_with_filter
+ customTags: schematype=colocated,partition=range,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=hashpkey,filteron=rangepkey,filtertype=comparision
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from Indexed1M_1 where col_bigint_id_1>1
+ - workload: AGGRG9_count_bigint_hash_secondary_indexed_column
+ customTags: schematype=colocated,partition=range,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_1
+ - workload: AGGRG9_count_bigint_hash_secondary_indexed_column_with_filter
+ customTags: schematype=colocated,partition=range,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangeskey,filteron=rangeskey,filtertype=comparision
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_1 where col_bigint_id_2>1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG10_aggregate_cardinality.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG10_aggregate_cardinality.yaml
new file mode 100644
index 000000000..05bc722c0
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG10_aggregate_cardinality.yaml
@@ -0,0 +1,134 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1 , col_bigint_card2_1 , col_bigint_card3_1 , col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1010000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+
+ executeRules:
+ - workload: AGGRG10_1_count_point_select_multiple_values
+ customTags: schematype=regular,pkey=composite,partition=hash,aggregate=count,cardinality=multiple,projection=aggregate,aggregateon=rangepkey,queryshape=aggregate,filteron=rangepkey,filtertype=pointselect
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_card2_1) from pkeyBigint1M_1 where col_bigint_card2_1 = ?
+ bindings:
+ - util: RandomInt
+ params: [ 1000001, 1001000 ]
+
+ - workload: AGGRG10_2_count_point_select_multiple_values_IN
+ customTags: schematype=regular,pkey=composite,partition=hash,aggregate=count,cardinality=multiple,projection=aggregate,aggregateon=rangepkey,queryshape=aggregate,filteron=rangepkey,filtertype=IN
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_card2_1) from pkeyBigint1M_1 where col_bigint_card2_1 in (?,?)
+ bindings:
+ - util: RandomInt
+ count: 2
+ params: [ 1000001, 1001000 ]
+
+ - workload: AGGRG10_3_count_point_select_multiple_values_IN_groupby
+ customTags: schematype=regular,pkey=composite,partition=hash,aggregate=count,cardinality=multiple,projection=aggregate,aggregateon=rangepkey,queryshape=aggregate,filteron=rangepkey,filtertype=IN,groupby=rangepkey
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_card2_1) from pkeyBigint1M_1 where col_bigint_card2_1 in (?,?) group by col_bigint_card2_1
+ bindings:
+ - util: RandomInt
+ count: 2
+ params: [ 1000001, 1001000 ]
+
+ - workload: AGGRG10_4_count_indexed_col_multiple_values_groupby
+ customTags: schematype=regular,pkey=composite,partition=hash,aggregate=count,cardinality=multiple,projection=aggregate,aggregateon=rangepkey,queryshape=aggregate,groupby=rangepkey
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_card2_1,count(col_bigint_card2_1) from pkeyBigint1M_1 group by col_bigint_card2_1
+
+ - workload: AGGRG10_5_count_indexed_col_multiple_values_groupby_orderby
+ customTags: schematype=regular,pkey=composite,partition=hash,aggregate=count,cardinality=multiple,projection=aggregate,aggregateon=rangepkey,queryshape=aggregate,groupby=rangepkey,orderbyon=rangepkey
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_card2_1,count(col_bigint_card2_1) from pkeyBigint1M_1 group by col_bigint_card2_1 order by col_bigint_card2_1
+
+ - workload: AGGRG10_6_distinct_indexed_col_multiple_values_orderby
+ customTags: schematype=regular,partition=hash,aggregate=count,cardinality=multiple,projection=aggregate,aggregateon=rangepkey,queryshape=aggregate,orderbyon=rangepkey
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select distinct(col_bigint_card3_1) from pkeyBigint1M_1 order by col_bigint_card3_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG2_impact_of_increasing_row.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG2_impact_of_increasing_row.yaml
new file mode 100644
index 000000000..c50515088
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG2_impact_of_increasing_row.yaml
@@ -0,0 +1,169 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL1 Impact of increasing rows on count aggregate
+#TESTS:
+#Aggregate function count on 0.1M rows
+#Aggregate function count on 1M rows
+#Aggregate function count on 10M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+
+ executeRules:
+ - workload: AGGRG2_count_bigint_1L_table_rows
+ customTags: schematype=regular,partition=range,pkey=asc,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1L_1
+ - workload: AGGRG2_count_bigint_1M_table_rows
+ customTags: schematype=regular,partition=range,pkey=asc,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_count_bigint_1M_table_rows
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1M_1
+ - workload: AGGRG2_count_bigint_10M_table_rows
+ customTags: schematype=regular,partition=range,pkey=asc,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_count_bigint_10M_table_rows
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint10M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG3_projection_datatype_impact.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG3_projection_datatype_impact.yaml
new file mode 100644
index 000000000..ec661595f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG3_projection_datatype_impact.yaml
@@ -0,0 +1,111 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL3 Impact of projection datatype on aggregate count
+#TESTS:
+#Aggregate function count on all tupples(*)
+#Aggregate function count on indexed bigint column
+#Aggregate function count on indexed float column
+#Aggregate function count on indexed varchar(10) column
+#Aggregate function count on indexed varchar(500) column
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2 ASC);
+ - CREATE INDEX ON Indexed1M_1(col_varchar10_id_1 ASC);
+ - CREATE INDEX ON Indexed1M_1(col_varchar500_id_1 ASC);
+ - CREATE INDEX ON Indexed1M_1(col_float5_1 ASC);
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: AGGRG3_count_on_all_tupples_columns
+ customTags: schematype=regular,partition=range,pkey=asc,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: yb_count_bigint_on_all_tupples_columns
+ weight: 100
+ queries:
+ - query: select count(*) from Indexed1M_1
+ - workload: AGGRG3_count_bigint_on_indexed
+ customTags: schematype=regular,partition=range,pkey=asc,columndatatype=bigint,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: yb_count_on_indexed_bigint
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_1
+ - workload: AGGRG3_count_on_indexed_float
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,columndatatype=float,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: yb_count_on_indexed_varchar10
+ weight: 100
+ queries:
+ - query: select count(col_float5_1) from Indexed1M_1
+ - workload: AGGRG3_count_on_indexed_varchar10
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,columndatatype=varchar,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: yb_count_on_indexed_varchar10
+ weight: 100
+ queries:
+ - query: select count(col_varchar10_id_1) from Indexed1M_1
+ - workload: AGGRG3_count_on_indexed_varchar500
+ customTags: schematype=regular,partition=range,pkey=asc,columndatatype=varchar,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: yb_count_on_indexed_varchar500
+ weight: 100
+ queries:
+ - query: select count(col_varchar500_id_1) from Indexed1M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG4_impact_of_distinct_on_increasing_row.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG4_impact_of_distinct_on_increasing_row.yaml
new file mode 100644
index 000000000..1b1e856c4
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG4_impact_of_distinct_on_increasing_row.yaml
@@ -0,0 +1,167 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL4 Impact of increasing rows on distinct aggregate
+#TESTS:
+#Aggregate function distinct on 0.1M rows
+#Aggregate function distinct on 1M rows
+#Aggregate function distinct on 10M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: AGGRG4_distinct_bigint_1L_table_rows
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,aggregate=distinct,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_distinct_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select distinct(col_bigint_id_1) from pkeyBigint1L_1
+ - workload: AGGRG4_distinct_bigint_1M_table_rows
+ customTags: schematype=regular,partition=range,pkey=asc,aggregate=distinct,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_distinct_bigint_1M_table_rows
+ weight: 100
+ queries:
+ - query: select distinct(col_bigint_id_1) from pkeyBigint1M_1
+ - workload: AGGRG4_distinct_bigint_10M_table_rows
+ customTags: customer=2,schematype=regular,partition=range,pkey=asc,aggregate=distinct,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_distinct_bigint_10M_table_rows
+ weight: 100
+ queries:
+ - query: select distinct(col_bigint_id_1) from pkeyBigint10M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG5_impact_of_max_on_increasing_row.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG5_impact_of_max_on_increasing_row.yaml
new file mode 100644
index 000000000..8d6fb3b46
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG5_impact_of_max_on_increasing_row.yaml
@@ -0,0 +1,167 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL5 Impact of increasing rows on max aggregate
+#TESTS:
+#Aggregate function max on 0.1M rows
+#Aggregate function max on 1M rows
+#Aggregate function max on 10M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: AGGRG5_max_bigint_1L_table_rows
+ customTags: customer=2,schematype=regular,partition=range,pkey=asc,aggregate=max,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_distinct_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select max(col_bigint_id_1) from pkeyBigint1L_1
+ - workload: AGGRG5_max_bigint_1M_table_rows
+ customTags: schematype=regular,partition=range,pkey=asc,aggregate=max,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_distinct_bigint_1M_table_rows
+ weight: 100
+ queries:
+ - query: select max(col_bigint_id_1) from pkeyBigint1M_1
+ - workload: AGGRG5_max_bigint_10M_table_rows
+ customTags: schematype=regular,partition=range,pkey=asc,aggregate=max,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_distinct_bigint_10M_table_rows
+ weight: 100
+ queries:
+ - query: select max(col_bigint_id_1) from pkeyBigint10M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG6_impact_of_sum_on_increasing_row.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG6_impact_of_sum_on_increasing_row.yaml
new file mode 100644
index 000000000..4f7e6ee86
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG6_impact_of_sum_on_increasing_row.yaml
@@ -0,0 +1,168 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL6 Impact of increasing rows on sum aggregate
+#TESTS:
+#Aggregate function sum on 0.1M rows
+#Aggregate function sum on 1M rows
+#Aggregate function sum on 10M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: CyclicSeqIntGen
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: AGGRG6_sum_bigint_1L_table_rows
+ customTags: schematype=regular,partition=range,pkey=asc,aggregate=sum,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_distinct_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select sum(col_bigint_id_1) from pkeyBigint1L_1
+ - workload: AGGRG6_sum_bigint_1M_table_rows
+ customTags: schematype=regular,partition=range,pkey=asc,aggregate=sum,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_distinct_bigint_1M_table_rows
+ weight: 100
+ queries:
+ - query: select sum(col_bigint_id_1) from pkeyBigint1M_1
+ - workload: AGGRG6_sum_bigint_10M_table_rows
+ customTags: customer=2,schematype=regular,partition=range,pkey=asc,aggregate=sum,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_distinct_bigint_10M_table_rows
+ weight: 100
+ queries:
+ - query: select sum(col_bigint_id_1) from pkeyBigint10M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG7_filter_condition_index_type_impact.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG7_filter_condition_index_type_impact.yaml
new file mode 100644
index 000000000..bc7ecb7f8
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG7_filter_condition_index_type_impact.yaml
@@ -0,0 +1,95 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL7 Impact of index type on aggregation
+#TESTS:
+#Aggregate function count with 1 filter condition on non indexed column of bigint datatype
+#Aggregate function count with 1 filter condition on pkey column of bigint datatype
+#Aggregate function count with 1 filter condition on secondary indexed column of bigint datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: AGGRG7_count_bigint_non_indexed_column_with_filter_condition
+ customTags: customer=2,schematype=regular,partition=range,pkey=asc,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=nonindexed,filteron=nonindexed,filtertype=comparision
+ run:
+ - name: yb_count_bigint_non_indexed_column_with_filter_condition
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_1 where col_bigint_id_3>1
+ - workload: AGGRG7_count_bigint_pkey_column_with_filter_condition
+ customTags: customer=2,schematype=regular,partition=range,pkey=asc,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=nonindexed,filteron=rangepkey,filtertype=comparision
+ run:
+ - name: yb_count_bigint_non_indexed_column_with_filter_condition
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from Indexed1M_1 where col_bigint_id_1>1
+ - workload: AGGRG7_count_bigint_secondary_indexed_column_with_filter_condition
+ customTags: customer=2,schematype=regular,partition=range,skey=asc,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=nonindexed,filteron=rangeskey,filtertype=comparision
+ run:
+ - name: yb_count_bigint_non_indexed_column_with_filter_condition
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_1 where col_bigint_id_2>1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG8_composite_key_impact.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG8_composite_key_impact.yaml
new file mode 100644
index 000000000..791c77e3d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG8_composite_key_impact.yaml
@@ -0,0 +1,200 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL8 Impact of composite constraints
+#Aggregate function count on 1st elelemt of composite pkey
+#Aggregate function count on 2nd elelemt of composite pkey
+#Aggregate function count on 1st elelemt of composite pkey with 1 filter on 1st element
+#Aggregate function count on 2nd elelemt of composite pkey with 1 filter on 2nd element
+#Aggregate function count on 1st elelemt of composite pkey with 1 filter on 2nd element
+#Aggregate function count on 2nd elelemt of composite pkey with 1 filter on 1st element
+#Aggregate function count on 1st elelemt of composite secondary key
+#Repeat for indexed col
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_comp2keys_1;
+ - DROP TABLE IF EXISTS Indexed1M_comp2keys_1;
+ - CREATE TABLE pkeyBigint1M_comp2keys_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC, col_bigint_id_2 ASC));
+ - CREATE TABLE Indexed1M_comp2keys_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON Indexed1M_comp2keys_1(col_bigint_id_2 ASC, col_bigint_id_3 ASC);
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_comp2keys_1;
+ - DROP TABLE IF EXISTS Indexed1M_comp2keys_1;
+ loadRules:
+ - table: pkeyBigint1M_comp2keys_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: Indexed1M_comp2keys_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: AGGRG8_count_bigint_comp_pkey_first_ele
+ customTags: schematype=regular,partition=range,pkey=composite,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_count_bigint_comp_pkey_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1M_comp2keys_1
+ - workload: AGGRG8_count_bigint_comp_pkey_second_ele
+ customTags: schematype=regular,partition=range,pkey=composite,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangepkey
+ run:
+ - name: yb_count_bigint_comp_pkey_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from pkeyBigint1M_comp2keys_1
+ - workload: AGGRG8_count_bigint_comp_pkey_withfilter_first_ele
+ customTags: schematype=regular,partition=range,pkey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangepkey,filteron=rangepkey,filtertype=comparision
+ run:
+ - name: yb_count_bigint_comp_pkey_withfilter_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1M_comp2keys_1 where col_bigint_id_1>1
+ - workload: AGGRG8_count_bigint_comp_pkey_withfilter_second_ele
+ customTags: schematype=regular,partition=range,pkey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangepkey,filteron=rangepkey,filtertype=comparision
+ run:
+ - name: yb_count_bigint_comp_pkey_withfilter_second_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from pkeyBigint1M_comp2keys_1 where col_bigint_id_2>1
+ - workload: AGGRG8_count_bigint_comp_pkey_project_first_ele_withfilter_sec_ele
+ customTags: schematype=regular,partition=range,pkey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangepkey,filteron=rangepkey,filtertype=comparision
+ run:
+ - name: yb_count_bigint_comp_pkey_project_first_ele_withfilter_sec_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from pkeyBigint1M_comp2keys_1 where col_bigint_id_2>1
+ - workload: AGGRG8_count_bigint_comp_pkey_project_sec_ele_withfilter_first_ele
+ customTags: schematype=regular,partition=range,pkey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangepkey,filteron=rangepkey,filtertype=comparision
+ run:
+ - name: yb_count_bigint_comp_pkey_project_sec_ele_withfilter_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from pkeyBigint1M_comp2keys_1 where col_bigint_id_1>1
+
+
+ - workload: AGGRG8_count_bigint_comp_index_first_ele
+ customTags: schematype=regular,partition=range,skey=composite,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: yb_count_bigint_comp_index_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_comp2keys_1
+ - workload: AGGRG8_count_bigint_comp_index_second_ele
+ customTags: schematype=regular,partition=range,skey=composite,aggregate=count,cardinality=single,projection=aggregate,aggregateon=rangeskey
+ run:
+ - name: yb_count_bigint_comp_index_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_comp2keys_1
+ - workload: AGGRG8_count_bigint_comp_index_withfilter_first_ele
+ customTags: schematype=regular,partition=range,skey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangeskey,filteron=rangeskey,filtertype=comparision
+ run:
+ - name: yb_count_bigint_comp_index_withfilter_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_comp2keys_1 where col_bigint_id_2>1
+ - workload: AGGRG8_count_bigint_comp_index_withfilter_second_ele
+ customTags: schematype=regular,partition=range,skey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangeskey,filteron=rangeskey,filtertype=comparision
+ run:
+ - name: yb_count_bigint_comp_index_withfilter_second_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_comp2keys_1 where col_bigint_id_3>1
+ - workload: AGGRG8_count_bigint_comp_index_project_first_ele_withfilter_sec_ele
+ customTags: schematype=regular,partition=range,skey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangeskey,filteron=rangeskey,filtertype=comparision
+ run:
+ - name: yb_count_bigint_comp_index_project_first_ele_withfilter_sec_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_comp2keys_1 where col_bigint_id_3>1
+ - workload: AGGRG8_count_bigint_comp_index_project_sec_ele_withfilter_first_ele
+ customTags: schematype=regular,partition=range,skey=composite,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=rangeskey,filteron=rangeskey,filtertype=comparision
+ run:
+ - name: yb_count_bigint_comp_index_project_sec_ele_withfilter_first_ele
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_comp2keys_1 where col_bigint_id_2>1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG9_aggregates_on_hash_partitioned_table.yaml b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG9_aggregates_on_hash_partitioned_table.yaml
new file mode 100644
index 000000000..86c21a491
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/aggregate_workloads/yugabyte/AGGRG9_aggregates_on_hash_partitioned_table.yaml
@@ -0,0 +1,108 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL9 Aggregates on hash partioned tables
+#Aggregate function count on non indexed column of bigint datatype
+#Aggregate function count on hash pkey column of bigint datatype
+#Aggregate function count on hash secondary indexed column of bigint datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: AGGRG9_count_bigint_non_indexed_column
+ customTags: schematype=regular,partition=hash,aggregate=count,cardinality=single,projection=aggregate,aggregateon=nonindexed
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_3) from Indexed1M_1
+ - workload: AGGRG9_count_bigint_hash_pkey_column
+ customTags: schematype=regular,partition=hash,aggregate=count,cardinality=single,projection=aggregate,aggregateon=hashpkey
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from Indexed1M_1
+ - workload: AGGRG9_count_bigint_hash_pkey_column_with_filter
+ customTags: schematype=regular,partition=hash,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=hashpkey,filteron=hashpkey,filtertype=comparision
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from Indexed1M_1 where col_bigint_id_1>1
+ - workload: AGGRG9_count_bigint_hash_secondary_indexed_column
+ customTags: schematype=regular,partition=hash,aggregate=count,cardinality=single,projection=aggregate,aggregateon=hashskey
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_1
+ - workload: AGGRG9_count_bigint_hash_secondary_indexed_column_with_filter
+ customTags: schematype=regular,partition=hash,aggregate=count,cardinality=single,projection=aggregate,filtercount=one,aggregateon=hashskey,filteron=hashskey,filtertype=comparision
+ run:
+ - name: count_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_2) from Indexed1M_1 where col_bigint_id_2>1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/bulkload/300M_rows_pg.yaml b/config/yugabyte/regression_pipelines/bulkload/300M_rows_pg.yaml
new file mode 100644
index 000000000..2c18d5274
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/300M_rows_pg.yaml
@@ -0,0 +1,26 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.0
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal3
+ properties:
+ # Goal3 - 3 :: create table with 15 fields -> load data for 300M rows (only PK)
+ workload: load_300Mrows
+ tableName: orders
+ columns: 15
+ rows: 300000000
+ filePath: orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/300M_rows_yb.yaml b/config/yugabyte/regression_pipelines/bulkload/300M_rows_yb.yaml
new file mode 100644
index 000000000..a12bb1628
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/300M_rows_yb.yaml
@@ -0,0 +1,26 @@
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.0
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal3
+ properties:
+ # Goal3 - 3 :: create table with 15 fields -> load data for 300M rows (only PK)
+ workload: load_300Mrows
+ tableName: orders
+ columns: 15
+ rows: 300000000
+ filePath: orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/300M_rows_yb_colocated.yaml b/config/yugabyte/regression_pipelines/bulkload/300M_rows_yb_colocated.yaml
new file mode 100644
index 000000000..3b1a5b49b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/300M_rows_yb_colocated.yaml
@@ -0,0 +1,27 @@
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.0
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal3
+ properties:
+ # Goal3 - 3 :: create table with 15 fields -> load data for 300M rows (only PK)
+ workload: load_300Mrows
+ tableName: orders
+ columns: 15
+ rows: 300000000
+ filePath: orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/postgres/goal1_varying_indexes/10_indexes.yaml b/config/yugabyte/regression_pipelines/bulkload/postgres/goal1_varying_indexes/10_indexes.yaml
new file mode 100644
index 000000000..8c1f992eb
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/postgres/goal1_varying_indexes/10_indexes.yaml
@@ -0,0 +1,29 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.1
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal1
+ properties:
+ # Goal 1 - 4 :: create table with PK -> create 10 index -> load data (10 index)
+ workload: create10index_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 10
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/postgres/goal1_varying_indexes/1_index.yaml b/config/yugabyte/regression_pipelines/bulkload/postgres/goal1_varying_indexes/1_index.yaml
new file mode 100644
index 000000000..b50bcbd79
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/postgres/goal1_varying_indexes/1_index.yaml
@@ -0,0 +1,29 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.1
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal1
+ properties:
+ # Goal 1 - 2 :: create table with PK -> create 1 index -> load data (1 index)
+ workload: create1index_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 1
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/postgres/goal1_varying_indexes/5_indexes.yaml b/config/yugabyte/regression_pipelines/bulkload/postgres/goal1_varying_indexes/5_indexes.yaml
new file mode 100644
index 000000000..5749f7e27
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/postgres/goal1_varying_indexes/5_indexes.yaml
@@ -0,0 +1,29 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.1
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal1
+ properties:
+ # Goal 1 - 3 :: create table with PK -> create 5 index -> load data (5 index)
+ workload: create5index_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 5
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/postgres/goal1_varying_indexes/no_indexes.yaml b/config/yugabyte/regression_pipelines/bulkload/postgres/goal1_varying_indexes/no_indexes.yaml
new file mode 100644
index 000000000..0efb63d0c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/postgres/goal1_varying_indexes/no_indexes.yaml
@@ -0,0 +1,29 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.1
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal1
+ properties:
+ # Goal 1 - 1 :: create table with PK -> load data (no index)
+ workload: noindex_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 0
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/postgres/goal2_index_pre_and_backfilling/1_index_load.yaml b/config/yugabyte/regression_pipelines/bulkload/postgres/goal2_index_pre_and_backfilling/1_index_load.yaml
new file mode 100644
index 000000000..ca03a3a60
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/postgres/goal2_index_pre_and_backfilling/1_index_load.yaml
@@ -0,0 +1,31 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.1
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal2
+ properties:
+ # Goal2 - 1 :: create table with PK -> create 1 index -> Load data (1 index)
+ workload: create_1_index_then_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 1
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ create_index_before_load: true
+ create_index_after_load: false
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/postgres/goal2_index_pre_and_backfilling/5_index_load.yaml b/config/yugabyte/regression_pipelines/bulkload/postgres/goal2_index_pre_and_backfilling/5_index_load.yaml
new file mode 100644
index 000000000..951ea5d6c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/postgres/goal2_index_pre_and_backfilling/5_index_load.yaml
@@ -0,0 +1,30 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.1
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal2
+ properties:
+ # Goal2 - 3 :: create table with PK -> create 5 index -> Load data (5 index)
+ workload: create_5_indexes_then_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 5
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ create_index_before_load: true
+ create_index_after_load: false
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/postgres/goal3_varying_rows/30M_rows.yaml b/config/yugabyte/regression_pipelines/bulkload/postgres/goal3_varying_rows/30M_rows.yaml
new file mode 100644
index 000000000..dc1009817
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/postgres/goal3_varying_rows/30M_rows.yaml
@@ -0,0 +1,26 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.1
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal3
+ properties:
+ # Goal3 - 2 :: create table with 15 fields -> load data for 30M rows (only PK)
+ workload: load_30Mrows
+ tableName: orders
+ columns: 15
+ rows: 30000000
+ filePath: bulkload/goal3/30m_orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/postgres/goal3_varying_rows/3M_rows.yaml b/config/yugabyte/regression_pipelines/bulkload/postgres/goal3_varying_rows/3M_rows.yaml
new file mode 100644
index 000000000..0afd1b610
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/postgres/goal3_varying_rows/3M_rows.yaml
@@ -0,0 +1,26 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.1
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal3
+ properties:
+ # Goal3 - 1 :: create table with 15 fields -> load data for 3M rows (only PK)
+ workload: load_3Mrows
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ filePath: bulkload/goal3/3m_orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/postgres/goal4_varying_columns/100_columns.yaml b/config/yugabyte/regression_pipelines/bulkload/postgres/goal4_varying_columns/100_columns.yaml
new file mode 100644
index 000000000..dfddc5be4
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/postgres/goal4_varying_columns/100_columns.yaml
@@ -0,0 +1,26 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.1
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal4
+ properties:
+ # Goal4 - 3 :: create table with 100 fields, 3M rows -> load data (only PK)
+ workload: create_100fields_table_then_load
+ tableName: orders
+ columns: 100
+ rows: 3000000
+ filePath: bulkload/goal4/100col_orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/postgres/goal4_varying_columns/10_columns.yaml b/config/yugabyte/regression_pipelines/bulkload/postgres/goal4_varying_columns/10_columns.yaml
new file mode 100644
index 000000000..c580341f0
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/postgres/goal4_varying_columns/10_columns.yaml
@@ -0,0 +1,26 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.1
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal4
+ properties:
+ # Goal4 - 1 :: create table with 10 fields, 3M rows -> load data (only PK)
+ workload: create_10fields_table_then_load
+ tableName: orders
+ columns: 10
+ rows: 3000000
+ filePath: bulkload/goal4/10col_orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/postgres/goal4_varying_columns/20_columns.yaml b/config/yugabyte/regression_pipelines/bulkload/postgres/goal4_varying_columns/20_columns.yaml
new file mode 100644
index 000000000..dd263ca34
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/postgres/goal4_varying_columns/20_columns.yaml
@@ -0,0 +1,26 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.1
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal4
+ properties:
+ # Goal4 - 2 :: create table with 20 fields, 3M rows -> load data (only PK)
+ workload: create_20fields_table_then_load
+ tableName: orders
+ columns: 20
+ rows: 3000000
+ filePath: bulkload/goal4/20col_orders.csv
+ stringLength: 32
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal1_varying_indexes/10_indexes.yaml b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal1_varying_indexes/10_indexes.yaml
new file mode 100644
index 000000000..6e8b978fd
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal1_varying_indexes/10_indexes.yaml
@@ -0,0 +1,30 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal1
+ properties:
+ setAutoCommit: true
+ # Goal 1 - 4 :: create table with PK -> create 10 index -> load data (10 index)
+ workload: create10index_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 10
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal1_varying_indexes/1_index.yaml b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal1_varying_indexes/1_index.yaml
new file mode 100644
index 000000000..467e813ef
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal1_varying_indexes/1_index.yaml
@@ -0,0 +1,30 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal1
+ properties:
+ setAutoCommit: true
+ # Goal 1 - 2 :: create table with PK -> create 1 index -> load data (1 index)
+ workload: create1index_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 1
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal1_varying_indexes/5_indexes.yaml b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal1_varying_indexes/5_indexes.yaml
new file mode 100644
index 000000000..fa4ca14c5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal1_varying_indexes/5_indexes.yaml
@@ -0,0 +1,30 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal1
+ properties:
+ setAutoCommit: true
+ # Goal 1 - 3 :: create table with PK -> create 5 index -> load data (5 index)
+ workload: create5index_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 5
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal1_varying_indexes/no_indexes.yaml b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal1_varying_indexes/no_indexes.yaml
new file mode 100644
index 000000000..76ff90ca4
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal1_varying_indexes/no_indexes.yaml
@@ -0,0 +1,30 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal1
+ properties:
+ setAutoCommit: true
+ # Goal 1 - 1 :: create table with PK -> load data (no index)
+ workload: noindex_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 0
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal2_index_pre_and_backfilling/1_index_load.yaml b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal2_index_pre_and_backfilling/1_index_load.yaml
new file mode 100644
index 000000000..1bf682308
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal2_index_pre_and_backfilling/1_index_load.yaml
@@ -0,0 +1,32 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal2
+ properties:
+ setAutoCommit: true
+ # Goal2 - 1 :: create table with PK -> create 1 index -> Load data (1 index)
+ workload: create_1_index_then_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 1
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ create_index_before_load: true
+ create_index_after_load: false
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal2_index_pre_and_backfilling/5_index_load.yaml b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal2_index_pre_and_backfilling/5_index_load.yaml
new file mode 100644
index 000000000..e404867f9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal2_index_pre_and_backfilling/5_index_load.yaml
@@ -0,0 +1,31 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal2
+ properties:
+ setAutoCommit: true
+ # Goal2 - 3 :: create table with PK -> create 5 index -> Load data (5 index)
+ workload: create_5_indexes_then_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 5
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ create_index_before_load: true
+ create_index_after_load: false
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal2_index_pre_and_backfilling/load_backfill_1_index.yaml b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal2_index_pre_and_backfilling/load_backfill_1_index.yaml
new file mode 100644
index 000000000..7a159ce1b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal2_index_pre_and_backfilling/load_backfill_1_index.yaml
@@ -0,0 +1,31 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal2
+ properties:
+ setAutoCommit: true
+ # Goal2 - 2 :: create table with PK -> load data -> create 1 index
+ workload: load_then_backfill_1_index
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 1
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ create_index_before_load: false
+ create_index_after_load: true
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal2_index_pre_and_backfilling/load_backfill_5_index.yaml b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal2_index_pre_and_backfilling/load_backfill_5_index.yaml
new file mode 100644
index 000000000..351226756
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal2_index_pre_and_backfilling/load_backfill_5_index.yaml
@@ -0,0 +1,31 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal2
+ properties:
+ setAutoCommit: true
+ # Goal2 - 4 :: create table with PK -> load data -> create 5 index
+ workload: load_then_backfill_5_indexes
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 5
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ create_index_before_load: false
+ create_index_after_load: true
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal3_varying_rows/30M_rows.yaml b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal3_varying_rows/30M_rows.yaml
new file mode 100644
index 000000000..ba66fc768
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal3_varying_rows/30M_rows.yaml
@@ -0,0 +1,28 @@
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal3
+ properties:
+ setAutoCommit: true
+ # Goal3 - 2 :: create table with 15 fields -> load data for 30M rows (only PK)
+ workload: load_30Mrows
+ tableName: orders
+ columns: 15
+ rows: 30000000
+ filePath: bulkload/goal3/30m_orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal3_varying_rows/3M_rows.yaml b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal3_varying_rows/3M_rows.yaml
new file mode 100644
index 000000000..917b64840
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal3_varying_rows/3M_rows.yaml
@@ -0,0 +1,27 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal3
+ properties:
+ setAutoCommit: true
+ # Goal3 - 1 :: create table with 15 fields -> load data for 3M rows (only PK)
+ workload: load_3Mrows
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ filePath: bulkload/goal3/3m_orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal4_varying_columns/100_columns.yaml b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal4_varying_columns/100_columns.yaml
new file mode 100644
index 000000000..6b7a5454b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal4_varying_columns/100_columns.yaml
@@ -0,0 +1,27 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal4
+ properties:
+ setAutoCommit: true
+ # Goal4 - 3 :: create table with 100 fields, 3M rows -> load data (only PK)
+ workload: create_100fields_table_then_load
+ tableName: orders
+ columns: 100
+ rows: 3000000
+ filePath: bulkload/goal4/100col_orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal4_varying_columns/10_columns.yaml b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal4_varying_columns/10_columns.yaml
new file mode 100644
index 000000000..7293c0f67
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal4_varying_columns/10_columns.yaml
@@ -0,0 +1,27 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal4
+ properties:
+ setAutoCommit: true
+ # Goal4 - 1 :: create table with 10 fields, 3M rows -> load data (only PK)
+ workload: create_10fields_table_then_load
+ tableName: orders
+ columns: 10
+ rows: 3000000
+ filePath: bulkload/goal4/10col_orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal4_varying_columns/20_columns.yaml b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal4_varying_columns/20_columns.yaml
new file mode 100644
index 000000000..58abaa716
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yb_colocated/goal4_varying_columns/20_columns.yaml
@@ -0,0 +1,27 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal4
+ properties:
+ setAutoCommit: true
+ # Goal4 - 2 :: create table with 20 fields, 3M rows -> load data (only PK)
+ workload: create_20fields_table_then_load
+ tableName: orders
+ columns: 20
+ rows: 3000000
+ filePath: bulkload/goal4/20col_orders.csv
+ stringLength: 32
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal1_varying_indexes/10_indexes.yaml b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal1_varying_indexes/10_indexes.yaml
new file mode 100644
index 000000000..1ed840e8e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal1_varying_indexes/10_indexes.yaml
@@ -0,0 +1,29 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal1
+ properties:
+ setAutoCommit: true
+ # Goal 1 - 4 :: create table with PK -> create 10 index -> load data (10 index)
+ workload: create10index_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 10
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal1_varying_indexes/1_index.yaml b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal1_varying_indexes/1_index.yaml
new file mode 100644
index 000000000..4735c0ecb
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal1_varying_indexes/1_index.yaml
@@ -0,0 +1,29 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal1
+ properties:
+ setAutoCommit: true
+ # Goal 1 - 2 :: create table with PK -> create 1 index -> load data (1 index)
+ workload: create1index_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 1
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal1_varying_indexes/5_indexes.yaml b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal1_varying_indexes/5_indexes.yaml
new file mode 100644
index 000000000..cf9f7df46
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal1_varying_indexes/5_indexes.yaml
@@ -0,0 +1,29 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal1
+ properties:
+ setAutoCommit: true
+ # Goal 1 - 3 :: create table with PK -> create 5 index -> load data (5 index)
+ workload: create5index_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 5
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal1_varying_indexes/no_indexes.yaml b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal1_varying_indexes/no_indexes.yaml
new file mode 100644
index 000000000..758d33a9f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal1_varying_indexes/no_indexes.yaml
@@ -0,0 +1,29 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal1
+ properties:
+ setAutoCommit: true
+ # Goal 1 - 1 :: create table with PK -> load data (no index)
+ workload: noindex_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 0
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal2_index_pre_and_backfilling/1_index_load.yaml b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal2_index_pre_and_backfilling/1_index_load.yaml
new file mode 100644
index 000000000..940848b93
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal2_index_pre_and_backfilling/1_index_load.yaml
@@ -0,0 +1,31 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal2
+ properties:
+ setAutoCommit: true
+ # Goal2 - 1 :: create table with PK -> create 1 index -> Load data (1 index)
+ workload: create_1_index_then_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 1
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ create_index_before_load: true
+ create_index_after_load: false
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal2_index_pre_and_backfilling/5_index_load.yaml b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal2_index_pre_and_backfilling/5_index_load.yaml
new file mode 100644
index 000000000..d16f19f14
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal2_index_pre_and_backfilling/5_index_load.yaml
@@ -0,0 +1,30 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal2
+ properties:
+ setAutoCommit: true
+ # Goal2 - 3 :: create table with PK -> create 5 index -> Load data (5 index)
+ workload: create_5_indexes_then_load
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 5
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ create_index_before_load: true
+ create_index_after_load: false
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal2_index_pre_and_backfilling/load_backfill_1_index.yaml b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal2_index_pre_and_backfilling/load_backfill_1_index.yaml
new file mode 100644
index 000000000..b30ea3fd6
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal2_index_pre_and_backfilling/load_backfill_1_index.yaml
@@ -0,0 +1,30 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal2
+ properties:
+ setAutoCommit: true
+ # Goal2 - 2 :: create table with PK -> load data -> create 1 index
+ workload: load_then_backfill_1_index
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 1
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ create_index_before_load: false
+ create_index_after_load: true
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal2_index_pre_and_backfilling/load_backfill_5_index.yaml b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal2_index_pre_and_backfilling/load_backfill_5_index.yaml
new file mode 100644
index 000000000..5b1015d79
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal2_index_pre_and_backfilling/load_backfill_5_index.yaml
@@ -0,0 +1,30 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal2
+ properties:
+ setAutoCommit: true
+ # Goal2 - 4 :: create table with PK -> load data -> create 5 index
+ workload: load_then_backfill_5_indexes
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ indexes: 5
+ filePath: bulkload/goal1_2/orders.csv
+ stringLength: 32
+ create_index_before_load: false
+ create_index_after_load: true
+ recreateCsvIfExists: false
diff --git a/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal3_varying_rows/30M_rows.yaml b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal3_varying_rows/30M_rows.yaml
new file mode 100644
index 000000000..bfcef38a2
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal3_varying_rows/30M_rows.yaml
@@ -0,0 +1,27 @@
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal3
+ properties:
+ setAutoCommit: true
+ # Goal3 - 2 :: create table with 15 fields -> load data for 30M rows (only PK)
+ workload: load_30Mrows
+ tableName: orders
+ columns: 15
+ rows: 30000000
+ filePath: bulkload/goal3/30m_orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal3_varying_rows/3M_rows.yaml b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal3_varying_rows/3M_rows.yaml
new file mode 100644
index 000000000..e8f523ab9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal3_varying_rows/3M_rows.yaml
@@ -0,0 +1,26 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal3
+ properties:
+ setAutoCommit: true
+ # Goal3 - 1 :: create table with 15 fields -> load data for 3M rows (only PK)
+ workload: load_3Mrows
+ tableName: orders
+ columns: 15
+ rows: 3000000
+ filePath: bulkload/goal3/3m_orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal4_varying_columns/100_columns.yaml b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal4_varying_columns/100_columns.yaml
new file mode 100644
index 000000000..67cf16a32
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal4_varying_columns/100_columns.yaml
@@ -0,0 +1,26 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal4
+ properties:
+ setAutoCommit: true
+ # Goal4 - 3 :: create table with 100 fields, 3M rows -> load data (only PK)
+ workload: create_100fields_table_then_load
+ tableName: orders
+ columns: 100
+ rows: 3000000
+ filePath: bulkload/goal4/100col_orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal4_varying_columns/10_columns.yaml b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal4_varying_columns/10_columns.yaml
new file mode 100644
index 000000000..13509d364
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal4_varying_columns/10_columns.yaml
@@ -0,0 +1,26 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal4
+ properties:
+ setAutoCommit: true
+ # Goal4 - 1 :: create table with 10 fields, 3M rows -> load data (only PK)
+ workload: create_10fields_table_then_load
+ tableName: orders
+ columns: 10
+ rows: 3000000
+ filePath: bulkload/goal4/10col_orders.csv
+ stringLength: 32
diff --git a/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal4_varying_columns/20_columns.yaml b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal4_varying_columns/20_columns.yaml
new file mode 100644
index 000000000..01847efb9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/bulkload/yugabyte/goal4_varying_columns/20_columns.yaml
@@ -0,0 +1,26 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+collect_pg_stat_statements: false
+loaderthreads: 1
+terminals: 1
+yaml_version: v1.2
+works:
+ work:
+ rate: unlimited
+ serial: true
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.bulkload.Goal4
+ properties:
+ setAutoCommit: true
+ # Goal4 - 2 :: create table with 20 fields, 3M rows -> load data (only PK)
+ workload: create_20fields_table_then_load
+ tableName: orders
+ columns: 20
+ rows: 3000000
+ filePath: bulkload/goal4/20col_orders.csv
+ stringLength: 32
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW1_on_conflict_do_nothing.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW1_on_conflict_do_nothing.yaml
new file mode 100644
index 000000000..29541f4f5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW1_on_conflict_do_nothing.yaml
@@ -0,0 +1,242 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.2
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS accounts_1;
+ - CREATE TABLE IF NOT EXISTS accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_accounts_1 ON accounts_1( user_id_1, account_id_1);
+ - CREATE UNIQUE INDEX user_accounts_2 ON accounts_1( user_id_1, account_id_1, addr_1, bal_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS accounts_1;
+
+ loadRules:
+ - table: accounts_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 1000000, 2 ]
+
+ executeRules:
+ - workload: CW1_1_2column_condition_no_conflict_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1000001, 5000000, 2 ]
+
+
+ - workload: CW1_2_4column_condition_no_conflict_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 5000001, 10000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 10000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 5000001, 10000000, 2 ]
+
+ - workload: CW1_3_2column_condition_no_conflict_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO NOTHING
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 10000000, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 10000000, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 10000000, 15000000, 2 ]
+
+ - workload: CW1_4_2column_condition_no_conflict_so_2048_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO NOTHING
+ count: 2048
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 15000000, 20000000 ]
+ - util: PrimaryIntGen
+ params: [ 15000000, 20000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 15000000, 20000000, 2 ]
+
+ - workload: CW1_5_2column_condition_no_conflict_so_10_insert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO NOTHING RETURNING *
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 20000001, 25000000 ]
+ - util: PrimaryIntGen
+ params: [ 20000001, 25000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 20000001, 25000000, 2 ]
+
+ - workload: CW1_6_4column_condition_no_conflict_so_10_insert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO NOTHING RETURNING *
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 25000001, 30000000 ]
+ - util: PrimaryIntGen
+ params: [ 25000001, 30000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 25000001, 30000000, 2 ]
+
+ - workload: CW1_7_2column_condition_no_conflict_so_10values_in_1insert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 30000001, 35000000 ]
+ - util: PrimaryIntGen
+ params: [ 30000001, 35000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 30000001, 35000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 35000001, 40000000 ]
+ - util: PrimaryIntGen
+ params: [ 35000001, 40000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 35000001, 40000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 40000001, 45000000 ]
+ - util: PrimaryIntGen
+ params: [ 40000001, 45000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 40000001, 45000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 45000001, 50000000 ]
+ - util: PrimaryIntGen
+ params: [ 45000001, 50000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 45000001, 50000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 50000001, 55000000 ]
+ - util: PrimaryIntGen
+ params: [ 50000001, 55000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 50000001, 55000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 55000001, 60000000 ]
+ - util: PrimaryIntGen
+ params: [ 55000001, 60000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 55000001, 60000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 60000001, 65000000 ]
+ - util: PrimaryIntGen
+ params: [ 60000001, 65000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 60000001, 65000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 65000001, 70000000 ]
+ - util: PrimaryIntGen
+ params: [ 65000001, 70000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 65000001, 70000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 70000001, 75000000 ]
+ - util: PrimaryIntGen
+ params: [ 70000001, 75000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 70000001, 75000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 75000001, 80000000 ]
+ - util: PrimaryIntGen
+ params: [ 75000001, 80000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 75000001, 80000000, 2 ]
+
+
+
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW2_on_conflict_do_update.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW2_on_conflict_do_update.yaml
new file mode 100644
index 000000000..f0cbcae50
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW2_on_conflict_do_update.yaml
@@ -0,0 +1,272 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS accounts_1;
+ - CREATE TABLE IF NOT EXISTS accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 bigint,PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_accounts_1 ON accounts_1( user_id_1, account_id_1);
+ - CREATE UNIQUE INDEX user_accounts_2 ON accounts_1( user_id_1, account_id_1, addr_1, bal_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS accounts_1;
+
+ loadRules:
+ - table: accounts_
+ count: 1
+ rows: 6000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 6000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 6000000 ]
+ - name: addr_
+ count: 1
+ util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - name: bal_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 6000000 ]
+
+ executeRules:
+ - workload: CW2_1_2column_condition_single_upsert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000]
+
+
+ - workload: CW2_2_4column_condition_single_upsert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000]
+
+ - workload: CW2_3_2column_condition_1024_upsert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 2000001, 3000000 ]
+ - util: PrimaryIntGen
+ params: [ 2000001, 3000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 2000001, 3000000]
+
+ - workload: CW2_4_2column_condition_2048_upsert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ count: 2048
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 3000001, 4000000 ]
+ - util: PrimaryIntGen
+ params: [ 3000001, 4000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 3000001, 4000000]
+
+ - workload: CW2_5_2column_condition_1_upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1) RETURNING *
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 4000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 4000001, 5000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 4000001, 5000000]
+
+ - workload: CW2_6_4column_condition_1_upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1) RETURNING *
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 5000001, 6000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 6000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 6000000]
+
+ - workload: CW2_7_2column_condition_10values_in_1upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: CyclicSeqIntGen
+ params: [ 1, 500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 1, 500000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 1, 500000]
+ - util: CyclicSeqIntGen
+ params: [ 500001, 1000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 500001, 1000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 500001, 1000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 2000001, 2500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 2000001, 2500000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 2000001, 2500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 2500001, 3000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 2500001, 3000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 2500001, 3000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3000001, 3500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3000001, 3500000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 3000001, 3500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3500001, 4000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3500001, 4000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 3500001, 4000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4000001, 4500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4000001, 4500000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 4000001, 4500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4500001, 5000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4500001, 5000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 4500001, 5000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4250001, 4750000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4250001, 4750000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 4250001, 4750000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3250001, 3750000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3250001, 3750000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 3250001, 3750000 ]
+
+ - workload: CW2_8_2column_condition_1_upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET bal_1=accounts_1.bal_1+1 RETURNING *
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 6000001, 7000000 ]
+ - util: PrimaryIntGen
+ params: [ 6000001, 7000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 6000001, 7000000]
+
+ - workload: CW2_9_2column_condition_10_upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET bal_1=accounts_1.bal_1+1 RETURNING *
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 7000001, 8000000 ]
+ - util: PrimaryIntGen
+ params: [ 7000001, 8000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 7000001, 8000000]
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW3_select_for_update.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW3_select_for_update.yaml
new file mode 100644
index 000000000..ca2ae43ed
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW3_select_for_update.yaml
@@ -0,0 +1,146 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.2
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS CW3_transactions_1;
+ - DROP TABLE IF EXISTS CW3_accounts_1;
+ - DROP TABLE IF EXISTS CW3_accounts_2;
+
+ - CREATE TABLE IF NOT EXISTS CW3_accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_CW3_accounts_1 ON CW3_accounts_1( user_id_1, account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW3_accounts_2(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_CW3_accounts_2 ON CW3_accounts_2( user_id_1, account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW3_transactions_1(tran_id_1 bigint PRIMARY KEY, account_id_1 bigint, amount_1 bigint, FOREIGN KEY(account_id_1) REFERENCES CW3_accounts_1(account_id_1) ON DELETE CASCADE ON UPDATE CASCADE)
+
+ cleanup:
+ - DROP TABLE IF EXISTS CW3_accounts_1;
+ - DROP TABLE IF EXISTS CW3_transactions_1;
+ - DROP TABLE IF EXISTS CW3_accounts_2;
+
+ loadRules:
+ - table: CW3_accounts_
+ count: 2
+ rows: 2000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 2000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 2000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 2000000, 2 ]
+
+ # Entries are only available for transaction done by accounts from 1-10000 of table CW3_accounts_1. So relevant queries should only use that range.
+ - table: CW3_transactions_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: tran_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: account_id_
+ count: 1
+ util: RandomInt
+ params: [ 1, 10000 ]
+ - name: amount_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+
+ executeRules:
+ - workload: CW3_1_select_baseline
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT bal_1 FROM CW3_accounts_1 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?])
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_2_update_baseline
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: UPDATE CW3_accounts_1 SET bal_1=bal_1+1 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?]) returning bal_1
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_3_select_for_update
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT bal_1 FROM CW3_accounts_2 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?]) for update
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_4_select_for_update_nowait
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT bal_1 FROM CW3_accounts_2 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?]) for update NOWAIT
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_5_select_for_update_skip_lock
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT bal_1 FROM CW3_accounts_2 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?]) for update SKIP LOCKED
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_6_select_for_update_with_join
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT * from CW3_accounts_1 a JOIN CW3_transactions_1 t on a.account_id_1 = t.account_id_1 where t.amount_1 > 0 for update;
+
+
+ - workload: CW3_7_select_for_update_with_CTE
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: With high_value_transactions As (SELECT * from CW3_transactions_1 where amount_1>49 for update) UPDATE CW3_transactions_1 set amount_1=amount_1+1 WHERE tran_id_1 IN (Select tran_id_1 from high_value_transactions)
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW4_on_conflict_do_nothing.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW4_on_conflict_do_nothing.yaml
new file mode 100644
index 000000000..17f34257a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW4_on_conflict_do_nothing.yaml
@@ -0,0 +1,292 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS CW4_accounts_1;
+ - CREATE TABLE IF NOT EXISTS CW4_accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX CW4_user_accounts_1 ON CW4_accounts_1(account_id_1, user_id_1);
+
+ - DROP TABLE IF EXISTS CW4_accounts_2;
+ - CREATE TABLE IF NOT EXISTS CW4_accounts_2(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1)) PARTITION BY HASH (account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW4_0_2M_accounts_0 PARTITION OF CW4_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 0);
+ - CREATE TABLE IF NOT EXISTS CW4_0_2M_accounts_1 PARTITION OF CW4_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 1);
+ - CREATE TABLE IF NOT EXISTS CW4_0_2M_accounts_2 PARTITION OF CW4_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 2);
+ - CREATE TABLE IF NOT EXISTS CW4_0_2M_accounts_3 PARTITION OF CW4_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 3);
+
+
+ - DROP TABLE IF EXISTS CW4_cardinality_tbl1_1
+ - CREATE TABLE CW4_cardinality_tbl1_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_int_id_1 int, col_int_id_2 int, col_int_id_3 int, col_int_id_4 int, col_int_card1_1 int, col_int_card1_2 int, col_int_card1_3 int, col_int_card1_4 int, col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_2) INCLUDE (col_bigint_card3_1) # update multiple(1000) rows with point select
+ - CREATE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_3) INCLUDE (col_bigint_id_2) # update all(1M) rows with point select
+ - CREATE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_4) INCLUDE (col_int_id_4) # update single column + 1 row with point select
+ - CREATE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_5 ASC) INCLUDE (col_int_card1_4) # update single column + 1M row
+ - CREATE UNIQUE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_2);
+ - CREATE UNIQUE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_3);
+ - CREATE UNIQUE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_4);
+
+ cleanup:
+ - DROP TABLE IF EXISTS CW4_accounts_1;
+ - DROP TABLE IF EXISTS CW4_accounts_2;
+ - DROP TABLE IF EXISTS CW4_cardinality_tbl1_1;
+
+ loadRules:
+ - table: CW4_accounts_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 1000000, 2 ]
+
+ - table: CW4_cardinality_tbl1_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1010000]
+ - name: col_bigint_id_
+ count: 6
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_card1_
+ count: 4
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: CW4_1_2column_condition_no_conflict_on_pkey_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1000001, 5000000, 2 ]
+
+ - workload: CW4_2_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO NOTHING
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 5000001, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 5000001, 15000000, 2 ]
+
+ - workload: CW4_3_no_condition_for_on_conflict_1row
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_cardinality_tbl1_1(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_id_4, col_bigint_id_5, col_bigint_id_6, col_int_id_1, col_int_id_2, col_int_id_3, col_int_id_4, col_int_card1_1, col_int_card1_2, col_int_card1_3, col_int_card1_4, col_varchar500_id_1) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON CONFLICT DO NOTHING
+ bindings:
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: RandomInt
+ params: [ 1000000,1001000 ]
+ - util: RandomInt
+ params: [ 1000000,1010000]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: PrimaryStringGen
+ params: [1, 500]
+
+ - workload: CW4_4_no_condition_for_on_conflict_1024row
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_cardinality_tbl1_1(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_id_4, col_bigint_id_5, col_bigint_id_6, col_int_id_1, col_int_id_2, col_int_id_3, col_int_id_4, col_int_card1_1, col_int_card1_2, col_int_card1_3, col_int_card1_4, col_varchar500_id_1) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON CONFLICT DO NOTHING
+ count: 1024
+ bindings:
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: RandomInt
+ params: [ 1000000,1001000 ]
+ - util: RandomInt
+ params: [ 1000000,1010000]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: PrimaryStringGen
+ params: [1, 500]
+
+ - workload: CW4_5_no_conflict_on_pkey_so_single_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 10000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 10000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1000001, 10000000, 2 ]
+
+ - workload: CW4_6_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO NOTHING
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 10000001, 30000000 ]
+ - util: PrimaryIntGen
+ params: [ 10000001, 30000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 10000001, 30000000, 2 ]
+
+ - workload: CW4_7_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO NOTHING
+ pattern_count: 1024
+ bindings:
+ - util: RandomNumber
+ params: [ 15000001, 25000000 ]
+ - util: RandomNumber
+ params: [ 15000001, 25000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 15000001, 25000000, 2 ]
+
+ - workload: CW4_8_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO NOTHING
+ pattern_count: 1024
+ bindings:
+ - util: RandomNumber
+ params: [ 30000001, 50000000 ]
+ - util: RandomNumber
+ params: [ 30000001, 50000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 30000001, 50000000, 2 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW5_on_conflict_do_update.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW5_on_conflict_do_update.yaml
new file mode 100644
index 000000000..918c3447c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW5_on_conflict_do_update.yaml
@@ -0,0 +1,160 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.2
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS CW5_accounts_1;
+ - CREATE TABLE IF NOT EXISTS CW5_accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX CW5_user_accounts_1 ON CW5_accounts_1(account_id_1, user_id_1);
+
+ - DROP TABLE IF EXISTS CW5_accounts_2;
+ - CREATE TABLE IF NOT EXISTS CW5_accounts_2(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1)) PARTITION BY HASH (account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW5_0_2M_accounts_0 PARTITION OF CW5_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 0);
+ - CREATE TABLE IF NOT EXISTS CW5_0_2M_accounts_1 PARTITION OF CW5_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 1);
+ - CREATE TABLE IF NOT EXISTS CW5_0_2M_accounts_2 PARTITION OF CW5_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 2);
+ - CREATE TABLE IF NOT EXISTS CW5_0_2M_accounts_3 PARTITION OF CW5_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 3);
+
+ cleanup:
+ - DROP TABLE IF EXISTS CW5_accounts_1;
+ - DROP TABLE IF EXISTS CW5_accounts_2;
+
+ loadRules:
+ - table: CW5_accounts_
+ count: 2
+ rows: 15000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ executeRules:
+ - workload: CW5_1_2column_condition_no_conflict_on_pkey_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW5_2_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 4000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 4000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 4000000, 2 ]
+
+ - workload: CW5_3_no_conflict_on_pkey_so_single_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW5_4_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW5_5_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ pattern_count: 1024
+ bindings:
+ - util: RandomUniqueIntGen
+ params: [ 1, 15000000 ]
+ - util: RandomNumber
+ params: [ 4000001, 15000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 4000001, 15000000, 2 ]
+
+
+ - workload: CW5_6_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_hash
+ time_secs: 120
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ pattern_count: 1024
+ bindings:
+ - util: RandomUniqueIntGen
+ params: [ 1, 15000000 ]
+ - util: RandomNumber
+ params: [ 4000001, 15000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 4000001, 15000000, 2 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW6_on_conflict_do_update_range.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW6_on_conflict_do_update_range.yaml
new file mode 100644
index 000000000..a536799bb
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/postgres/CW6_on_conflict_do_update_range.yaml
@@ -0,0 +1,161 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.2
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS CW6_accounts_1;
+ - CREATE TABLE IF NOT EXISTS CW6_accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX CW6_user_accounts_1 ON CW6_accounts_1(account_id_1, user_id_1);
+
+ - DROP TABLE IF EXISTS CW6_accounts_2;
+ - CREATE TABLE IF NOT EXISTS CW6_accounts_2(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1)) PARTITION BY RANGE (account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW6_0_2M_accounts_0 PARTITION OF CW6_accounts_2 FOR VALUES FROM (1) TO (10000000);
+ - CREATE TABLE IF NOT EXISTS CW6_0_2M_accounts_1 PARTITION OF CW6_accounts_2 FOR VALUES FROM (10000000) TO (20000000);
+ - CREATE TABLE IF NOT EXISTS CW6_0_2M_accounts_2 PARTITION OF CW6_accounts_2 FOR VALUES FROM (20000000) TO (30000000);
+ - CREATE TABLE IF NOT EXISTS CW6_0_2M_accounts_3 PARTITION OF CW6_accounts_2 FOR VALUES FROM (30000000) TO (40000001);
+ cleanup:
+ - DROP TABLE IF EXISTS CW6_accounts_1;
+ - DROP TABLE IF EXISTS CW6_accounts_2;
+
+ loadRules:
+ - table: CW6_accounts_
+ count: 2
+ rows: 40000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 40000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 40000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 40000000, 2 ]
+
+ executeRules:
+ - workload: CW6_1_2column_condition_no_conflict_on_pkey_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW6_2_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW6_3_no_conflict_on_pkey_so_single_insert_on_partitioned_tbl_by_range
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW6_4_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_range
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+
+
+ - workload: CW6_5_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ pattern_count: 1024
+ bindings:
+ - util: RandomUniqueIntGen
+ params: [ 1, 15000000 ]
+ - util: RandomNumber
+ params: [ 4000001, 15000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 4000001, 15000000, 2 ]
+
+
+ - workload: CW6_6_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_range
+ time_secs: 60
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ pattern_count: 1024
+ bindings:
+ - util: RandomUniqueIntGen
+ params: [ 1, 40000000 ]
+ - util: RandomNumber
+ params: [ 4000001, 15000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 4000001, 15000000, 2 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW1_on_conflict_do_nothing.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW1_on_conflict_do_nothing.yaml
new file mode 100644
index 000000000..4a8e15724
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW1_on_conflict_do_nothing.yaml
@@ -0,0 +1,243 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.2
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS accounts_1;
+ - CREATE TABLE IF NOT EXISTS accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_accounts_1 ON accounts_1( user_id_1, account_id_1);
+ - CREATE UNIQUE INDEX user_accounts_2 ON accounts_1( user_id_1, account_id_1, addr_1, bal_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS accounts_1;
+
+ loadRules:
+ - table: accounts_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 1000000, 2 ]
+
+ executeRules:
+ - workload: CW1_1_2column_condition_no_conflict_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1000001, 5000000, 2 ]
+
+
+ - workload: CW1_2_4column_condition_no_conflict_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 5000001, 10000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 10000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 5000001, 10000000, 2 ]
+
+ - workload: CW1_3_2column_condition_no_conflict_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO NOTHING
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 10000000, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 10000000, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 10000000, 15000000, 2 ]
+
+ - workload: CW1_4_2column_condition_no_conflict_so_2048_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO NOTHING
+ count: 2048
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 15000000, 20000000 ]
+ - util: PrimaryIntGen
+ params: [ 15000000, 20000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 15000000, 20000000, 2 ]
+
+ - workload: CW1_5_2column_condition_no_conflict_so_10_insert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO NOTHING RETURNING *
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 20000001, 25000000 ]
+ - util: PrimaryIntGen
+ params: [ 20000001, 25000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 20000001, 25000000, 2 ]
+
+ - workload: CW1_6_4column_condition_no_conflict_so_10_insert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO NOTHING RETURNING *
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 25000001, 30000000 ]
+ - util: PrimaryIntGen
+ params: [ 25000001, 30000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 25000001, 30000000, 2 ]
+
+ - workload: CW1_7_2column_condition_no_conflict_so_10values_in_1insert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 30000001, 35000000 ]
+ - util: PrimaryIntGen
+ params: [ 30000001, 35000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 30000001, 35000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 35000001, 40000000 ]
+ - util: PrimaryIntGen
+ params: [ 35000001, 40000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 35000001, 40000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 40000001, 45000000 ]
+ - util: PrimaryIntGen
+ params: [ 40000001, 45000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 40000001, 45000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 45000001, 50000000 ]
+ - util: PrimaryIntGen
+ params: [ 45000001, 50000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 45000001, 50000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 50000001, 55000000 ]
+ - util: PrimaryIntGen
+ params: [ 50000001, 55000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 50000001, 55000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 55000001, 60000000 ]
+ - util: PrimaryIntGen
+ params: [ 55000001, 60000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 55000001, 60000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 60000001, 65000000 ]
+ - util: PrimaryIntGen
+ params: [ 60000001, 65000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 60000001, 65000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 65000001, 70000000 ]
+ - util: PrimaryIntGen
+ params: [ 65000001, 70000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 65000001, 70000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 70000001, 75000000 ]
+ - util: PrimaryIntGen
+ params: [ 70000001, 75000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 70000001, 75000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 75000001, 80000000 ]
+ - util: PrimaryIntGen
+ params: [ 75000001, 80000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 75000001, 80000000, 2 ]
+
+
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW2_on_conflict_do_update.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW2_on_conflict_do_update.yaml
new file mode 100644
index 000000000..541e83eed
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW2_on_conflict_do_update.yaml
@@ -0,0 +1,274 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS accounts_1;
+ - CREATE TABLE IF NOT EXISTS accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 bigint,PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_accounts_1 ON accounts_1( user_id_1, account_id_1);
+ - CREATE UNIQUE INDEX user_accounts_2 ON accounts_1( user_id_1, account_id_1, addr_1, bal_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS accounts_1;
+
+ loadRules:
+ - table: accounts_
+ count: 1
+ rows: 6000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 6000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 6000000 ]
+ - name: addr_
+ count: 1
+ util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - name: bal_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 6000000 ]
+
+ executeRules:
+ - workload: CW2_1_2column_condition_single_upsert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000]
+
+
+ - workload: CW2_2_4column_condition_single_upsert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000]
+
+ - workload: CW2_3_2column_condition_1024_upsert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 2000001, 3000000 ]
+ - util: PrimaryIntGen
+ params: [ 2000001, 3000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 2000001, 3000000]
+
+ - workload: CW2_4_2column_condition_2048_upsert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ count: 2048
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 3000001, 4000000 ]
+ - util: PrimaryIntGen
+ params: [ 3000001, 4000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 3000001, 4000000]
+
+ - workload: CW2_5_2column_condition_1_upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1) RETURNING *
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 4000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 4000001, 5000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 4000001, 5000000]
+
+ - workload: CW2_6_4column_condition_1_upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1) RETURNING *
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 5000001, 6000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 6000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 6000000]
+
+ - workload: CW2_7_2column_condition_10values_in_1upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: CyclicSeqIntGen
+ params: [ 1, 500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 1, 500000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 1, 500000]
+ - util: CyclicSeqIntGen
+ params: [ 500001, 1000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 500001, 1000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 500001, 1000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 2000001, 2500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 2000001, 2500000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 2000001, 2500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 2500001, 3000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 2500001, 3000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 2500001, 3000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3000001, 3500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3000001, 3500000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 3000001, 3500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3500001, 4000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3500001, 4000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 3500001, 4000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4000001, 4500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4000001, 4500000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 4000001, 4500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4500001, 5000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4500001, 5000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 4500001, 5000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4250001, 4750000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4250001, 4750000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 4250001, 4750000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3250001, 3750000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3250001, 3750000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 3250001, 3750000 ]
+
+ - workload: CW2_8_2column_condition_1_upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET bal_1=accounts_1.bal_1+1 RETURNING *
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 6000001, 7000000 ]
+ - util: PrimaryIntGen
+ params: [ 6000001, 7000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 6000001, 7000000]
+
+ - workload: CW2_9_2column_condition_10_upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET bal_1=accounts_1.bal_1+1 RETURNING *
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 7000001, 8000000 ]
+ - util: PrimaryIntGen
+ params: [ 7000001, 8000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 7000001, 8000000]
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW3_select_for_update.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW3_select_for_update.yaml
new file mode 100644
index 000000000..31a08f985
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW3_select_for_update.yaml
@@ -0,0 +1,148 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.2
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS CW3_transactions_1;
+ - DROP TABLE IF EXISTS CW3_accounts_1;
+ - DROP TABLE IF EXISTS CW3_accounts_2;
+
+ - CREATE TABLE IF NOT EXISTS CW3_accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_CW3_accounts_1 ON CW3_accounts_1( user_id_1, account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW3_accounts_2(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_CW3_accounts_2 ON CW3_accounts_2( user_id_1, account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW3_transactions_1(tran_id_1 bigint PRIMARY KEY, account_id_1 bigint, amount_1 bigint, FOREIGN KEY(account_id_1) REFERENCES CW3_accounts_1(account_id_1) ON DELETE CASCADE ON UPDATE CASCADE)
+
+ cleanup:
+ - DROP TABLE IF EXISTS CW3_accounts_1;
+ - DROP TABLE IF EXISTS CW3_transactions_1;
+ - DROP TABLE IF EXISTS CW3_accounts_2;
+
+ loadRules:
+ - table: CW3_accounts_
+ count: 2
+ rows: 2000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 2000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 2000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 2000000, 2 ]
+
+ # Entries are only available for transaction done by accounts from 1-10000 of table CW3_accounts_1. So relevant queries should only use that range.
+ - table: CW3_transactions_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: tran_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: account_id_
+ count: 1
+ util: RandomInt
+ params: [ 1, 10000 ]
+ - name: amount_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+
+ executeRules:
+ - workload: CW3_1_select_baseline
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT bal_1 FROM CW3_accounts_1 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?])
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_2_update_baseline
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: UPDATE CW3_accounts_1 SET bal_1=bal_1+1 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?]) returning bal_1
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_3_select_for_update
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT bal_1 FROM CW3_accounts_2 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?]) for update
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_4_select_for_update_nowait
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT bal_1 FROM CW3_accounts_2 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?]) for update NOWAIT
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_5_select_for_update_skip_lock
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT bal_1 FROM CW3_accounts_2 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?]) for update SKIP LOCKED
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_6_select_for_update_with_join
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT * from CW3_accounts_1 a JOIN CW3_transactions_1 t on a.account_id_1 = t.account_id_1 where t.amount_1 > 0 for update;
+
+
+ - workload: CW3_7_select_for_update_with_CTE
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: With high_value_transactions As (SELECT * from CW3_transactions_1 where amount_1>49 for update) UPDATE CW3_transactions_1 set amount_1=amount_1+1 WHERE tran_id_1 IN (Select tran_id_1 from high_value_transactions)
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW4_on_conflict_do_nothing.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW4_on_conflict_do_nothing.yaml
new file mode 100644
index 000000000..e993a3084
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW4_on_conflict_do_nothing.yaml
@@ -0,0 +1,294 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS CW4_accounts_1;
+ - CREATE TABLE IF NOT EXISTS CW4_accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX CW4_user_accounts_1 ON CW4_accounts_1(account_id_1, user_id_1);
+
+ - DROP TABLE IF EXISTS CW4_accounts_2;
+ - CREATE TABLE IF NOT EXISTS CW4_accounts_2(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1)) PARTITION BY HASH (account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW4_0_2M_accounts_0 PARTITION OF CW4_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 0);
+ - CREATE TABLE IF NOT EXISTS CW4_0_2M_accounts_1 PARTITION OF CW4_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 1);
+ - CREATE TABLE IF NOT EXISTS CW4_0_2M_accounts_2 PARTITION OF CW4_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 2);
+ - CREATE TABLE IF NOT EXISTS CW4_0_2M_accounts_3 PARTITION OF CW4_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 3);
+
+
+ - DROP TABLE IF EXISTS CW4_cardinality_tbl1_1
+ - CREATE TABLE CW4_cardinality_tbl1_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_int_id_1 int, col_int_id_2 int, col_int_id_3 int, col_int_id_4 int, col_int_card1_1 int, col_int_card1_2 int, col_int_card1_3 int, col_int_card1_4 int, col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_2) INCLUDE (col_bigint_card3_1) # update multiple(1000) rows with point select
+ - CREATE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_3) INCLUDE (col_bigint_id_2) # update all(1M) rows with point select
+ - CREATE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_4) INCLUDE (col_int_id_4) # update single column + 1 row with point select
+ - CREATE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_5 ASC) INCLUDE (col_int_card1_4) # update single column + 1M row
+ - CREATE UNIQUE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_2);
+ - CREATE UNIQUE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_3);
+ - CREATE UNIQUE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_4);
+
+ cleanup:
+ - DROP TABLE IF EXISTS CW4_accounts_1;
+ - DROP TABLE IF EXISTS CW4_accounts_2;
+ - DROP TABLE IF EXISTS CW4_cardinality_tbl1_1;
+
+ loadRules:
+ - table: CW4_accounts_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 1000000, 2 ]
+
+ - table: CW4_cardinality_tbl1_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1010000]
+ - name: col_bigint_id_
+ count: 6
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_card1_
+ count: 4
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: CW4_1_2column_condition_no_conflict_on_pkey_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1000001, 5000000, 2 ]
+
+ - workload: CW4_2_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO NOTHING
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 5000001, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 5000001, 15000000, 2 ]
+
+ - workload: CW4_3_no_condition_for_on_conflict_1row
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_cardinality_tbl1_1(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_id_4, col_bigint_id_5, col_bigint_id_6, col_int_id_1, col_int_id_2, col_int_id_3, col_int_id_4, col_int_card1_1, col_int_card1_2, col_int_card1_3, col_int_card1_4, col_varchar500_id_1) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON CONFLICT DO NOTHING
+ bindings:
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: RandomInt
+ params: [ 1000000,1001000 ]
+ - util: RandomInt
+ params: [ 1000000,1010000]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: PrimaryStringGen
+ params: [1, 500]
+
+ - workload: CW4_4_no_condition_for_on_conflict_1024row
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_cardinality_tbl1_1(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_id_4, col_bigint_id_5, col_bigint_id_6, col_int_id_1, col_int_id_2, col_int_id_3, col_int_id_4, col_int_card1_1, col_int_card1_2, col_int_card1_3, col_int_card1_4, col_varchar500_id_1) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON CONFLICT DO NOTHING
+ count: 1024
+ bindings:
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: RandomInt
+ params: [ 1000000,1001000 ]
+ - util: RandomInt
+ params: [ 1000000,1010000]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: PrimaryStringGen
+ params: [1, 500]
+
+ - workload: CW4_5_no_conflict_on_pkey_so_single_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 10000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 10000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1000001, 10000000, 2 ]
+
+ - workload: CW4_6_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO NOTHING
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 10000001, 30000000 ]
+ - util: PrimaryIntGen
+ params: [ 10000001, 30000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 10000001, 30000000, 2 ]
+
+ - workload: CW4_7_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO NOTHING
+ pattern_count: 1024
+ bindings:
+ - util: RandomNumber
+ params: [ 15000001, 25000000 ]
+ - util: RandomNumber
+ params: [ 15000001, 25000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 15000001, 25000000, 2 ]
+
+ - workload: CW4_8_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO NOTHING
+ pattern_count: 1024
+ bindings:
+ - util: RandomNumber
+ params: [ 30000001, 50000000 ]
+ - util: RandomNumber
+ params: [ 30000001, 50000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 30000001, 50000000, 2 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW5_on_conflict_do_update.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW5_on_conflict_do_update.yaml
new file mode 100644
index 000000000..701b4243f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW5_on_conflict_do_update.yaml
@@ -0,0 +1,161 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.2
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS CW5_accounts_1;
+ - CREATE TABLE IF NOT EXISTS CW5_accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX CW5_user_accounts_1 ON CW5_accounts_1(account_id_1, user_id_1);
+
+ - DROP TABLE IF EXISTS CW5_accounts_2;
+ - CREATE TABLE IF NOT EXISTS CW5_accounts_2(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1)) PARTITION BY HASH (account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW5_0_2M_accounts_0 PARTITION OF CW5_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 0);
+ - CREATE TABLE IF NOT EXISTS CW5_0_2M_accounts_1 PARTITION OF CW5_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 1);
+ - CREATE TABLE IF NOT EXISTS CW5_0_2M_accounts_2 PARTITION OF CW5_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 2);
+ - CREATE TABLE IF NOT EXISTS CW5_0_2M_accounts_3 PARTITION OF CW5_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 3);
+
+ cleanup:
+ - DROP TABLE IF EXISTS CW5_accounts_1;
+ - DROP TABLE IF EXISTS CW5_accounts_2;
+
+ loadRules:
+ - table: CW5_accounts_
+ count: 2
+ rows: 15000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ executeRules:
+ - workload: CW5_1_2column_condition_no_conflict_on_pkey_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW5_2_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 4000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 4000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 4000000, 2 ]
+
+ - workload: CW5_3_no_conflict_on_pkey_so_single_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW5_4_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW5_5_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ pattern_count: 1024
+ bindings:
+ - util: RandomUniqueIntGen
+ params: [ 1, 15000000 ]
+ - util: RandomNumber
+ params: [ 4000001, 15000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 4000001, 15000000, 2 ]
+
+
+ - workload: CW5_6_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ pattern_count: 1024
+ bindings:
+ - util: RandomUniqueIntGen
+ params: [ 1, 15000000 ]
+ - util: RandomNumber
+ params: [ 4000001, 15000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 4000001, 15000000, 2 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW6_on_conflict_do_update_range.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW6_on_conflict_do_update_range.yaml
new file mode 100644
index 000000000..d24845082
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/yb_colocated/CW6_on_conflict_do_update_range.yaml
@@ -0,0 +1,162 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.2
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS CW6_accounts_1;
+ - CREATE TABLE IF NOT EXISTS CW6_accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1 ASC));
+ - CREATE UNIQUE INDEX CW6_user_accounts_1 ON CW6_accounts_1(account_id_1 ASC, user_id_1 ASC);
+
+ - DROP TABLE IF EXISTS CW6_accounts_2;
+ - CREATE TABLE IF NOT EXISTS CW6_accounts_2(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1)) PARTITION BY RANGE (account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW6_0_2M_accounts_0 PARTITION OF CW6_accounts_2 FOR VALUES FROM (1) TO (10000000);
+ - CREATE TABLE IF NOT EXISTS CW6_0_2M_accounts_1 PARTITION OF CW6_accounts_2 FOR VALUES FROM (10000000) TO (20000000);
+ - CREATE TABLE IF NOT EXISTS CW6_0_2M_accounts_2 PARTITION OF CW6_accounts_2 FOR VALUES FROM (20000000) TO (30000000);
+ - CREATE TABLE IF NOT EXISTS CW6_0_2M_accounts_3 PARTITION OF CW6_accounts_2 FOR VALUES FROM (30000000) TO (40000001);
+ cleanup:
+ - DROP TABLE IF EXISTS CW6_accounts_1;
+ - DROP TABLE IF EXISTS CW6_accounts_2;
+
+ loadRules:
+ - table: CW6_accounts_
+ count: 2
+ rows: 40000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 40000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 40000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 40000000, 2 ]
+
+ executeRules:
+ - workload: CW6_1_2column_condition_no_conflict_on_pkey_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW6_2_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW6_3_no_conflict_on_pkey_so_single_insert_on_partitioned_tbl_by_range
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW6_4_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_range
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+
+
+ - workload: CW6_5_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ pattern_count: 1024
+ bindings:
+ - util: RandomUniqueIntGen
+ params: [ 1, 15000000 ]
+ - util: RandomNumber
+ params: [ 4000001, 15000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 4000001, 15000000, 2 ]
+
+
+ - workload: CW6_6_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_range
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ pattern_count: 1024
+ bindings:
+ - util: RandomUniqueIntGen
+ params: [ 1, 40000000 ]
+ - util: RandomNumber
+ params: [ 4000001, 15000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 4000001, 15000000, 2 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW1_on_conflict_do_nothing.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW1_on_conflict_do_nothing.yaml
new file mode 100644
index 000000000..ff3b98e71
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW1_on_conflict_do_nothing.yaml
@@ -0,0 +1,242 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.2
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS accounts_1;
+ - CREATE TABLE IF NOT EXISTS accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_accounts_1 ON accounts_1( user_id_1, account_id_1);
+ - CREATE UNIQUE INDEX user_accounts_2 ON accounts_1( user_id_1, account_id_1, addr_1, bal_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS accounts_1;
+
+ loadRules:
+ - table: accounts_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 1000000, 2 ]
+
+ executeRules:
+ - workload: CW1_1_2column_condition_no_conflict_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1000001, 5000000, 2 ]
+
+
+ - workload: CW1_2_4column_condition_no_conflict_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 5000001, 10000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 10000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 5000001, 10000000, 2 ]
+
+ - workload: CW1_3_2column_condition_no_conflict_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO NOTHING
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 10000000, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 10000000, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 10000000, 15000000, 2 ]
+
+ - workload: CW1_4_2column_condition_no_conflict_so_2048_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO NOTHING
+ count: 2048
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 15000000, 20000000 ]
+ - util: PrimaryIntGen
+ params: [ 15000000, 20000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 15000000, 20000000, 2 ]
+
+ - workload: CW1_5_2column_condition_no_conflict_so_10_insert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO NOTHING RETURNING *
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 20000001, 25000000 ]
+ - util: PrimaryIntGen
+ params: [ 20000001, 25000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 20000001, 25000000, 2 ]
+
+ - workload: CW1_6_4column_condition_no_conflict_so_10_insert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO NOTHING RETURNING *
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 25000001, 30000000 ]
+ - util: PrimaryIntGen
+ params: [ 25000001, 30000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 25000001, 30000000, 2 ]
+
+ - workload: CW1_7_2column_condition_no_conflict_so_10values_in_1insert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 30000001, 35000000 ]
+ - util: PrimaryIntGen
+ params: [ 30000001, 35000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 30000001, 35000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 35000001, 40000000 ]
+ - util: PrimaryIntGen
+ params: [ 35000001, 40000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 35000001, 40000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 40000001, 45000000 ]
+ - util: PrimaryIntGen
+ params: [ 40000001, 45000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 40000001, 45000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 45000001, 50000000 ]
+ - util: PrimaryIntGen
+ params: [ 45000001, 50000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 45000001, 50000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 50000001, 55000000 ]
+ - util: PrimaryIntGen
+ params: [ 50000001, 55000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 50000001, 55000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 55000001, 60000000 ]
+ - util: PrimaryIntGen
+ params: [ 55000001, 60000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 55000001, 60000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 60000001, 65000000 ]
+ - util: PrimaryIntGen
+ params: [ 60000001, 65000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 60000001, 65000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 65000001, 70000000 ]
+ - util: PrimaryIntGen
+ params: [ 65000001, 70000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 65000001, 70000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 70000001, 75000000 ]
+ - util: PrimaryIntGen
+ params: [ 70000001, 75000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 70000001, 75000000, 2 ]
+ - util: PrimaryIntGen
+ params: [ 75000001, 80000000 ]
+ - util: PrimaryIntGen
+ params: [ 75000001, 80000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 75000001, 80000000, 2 ]
+
+
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW2_on_conflict_do_update.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW2_on_conflict_do_update.yaml
new file mode 100644
index 000000000..d97ae599b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW2_on_conflict_do_update.yaml
@@ -0,0 +1,273 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS accounts_1;
+ - CREATE TABLE IF NOT EXISTS accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 bigint,PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_accounts_1 ON accounts_1( user_id_1, account_id_1);
+ - CREATE UNIQUE INDEX user_accounts_2 ON accounts_1( user_id_1, account_id_1, addr_1, bal_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS accounts_1;
+
+ loadRules:
+ - table: accounts_
+ count: 1
+ rows: 6000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 6000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 6000000 ]
+ - name: addr_
+ count: 1
+ util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - name: bal_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 6000000 ]
+
+ executeRules:
+ - workload: CW2_1_2column_condition_single_upsert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000]
+
+
+ - workload: CW2_2_4column_condition_single_upsert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000]
+
+ - workload: CW2_3_2column_condition_1024_upsert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 2000001, 3000000 ]
+ - util: PrimaryIntGen
+ params: [ 2000001, 3000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 2000001, 3000000]
+
+ - workload: CW2_4_2column_condition_2048_upsert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ count: 2048
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 3000001, 4000000 ]
+ - util: PrimaryIntGen
+ params: [ 3000001, 4000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 3000001, 4000000]
+
+ - workload: CW2_5_2column_condition_1_upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1) RETURNING *
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 4000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 4000001, 5000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 4000001, 5000000]
+
+ - workload: CW2_6_4column_condition_1_upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1, addr_1, bal_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1) RETURNING *
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 5000001, 6000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 6000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 6000000]
+
+ - workload: CW2_7_2column_condition_10values_in_1upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?),(?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET (user_id_1,account_id_1,addr_1,bal_1)=(excluded.user_id_1,excluded.account_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: CyclicSeqIntGen
+ params: [ 1, 500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 1, 500000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 1, 500000]
+ - util: CyclicSeqIntGen
+ params: [ 500001, 1000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 500001, 1000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 500001, 1000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 2000001, 2500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 2000001, 2500000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 2000001, 2500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 2500001, 3000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 2500001, 3000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 2500001, 3000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3000001, 3500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3000001, 3500000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 3000001, 3500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3500001, 4000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3500001, 4000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 3500001, 4000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4000001, 4500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4000001, 4500000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 4000001, 4500000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4500001, 5000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4500001, 5000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 4500001, 5000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4250001, 4750000 ]
+ - util: CyclicSeqIntGen
+ params: [ 4250001, 4750000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 4250001, 4750000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3250001, 3750000 ]
+ - util: CyclicSeqIntGen
+ params: [ 3250001, 3750000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: CyclicSeqIntGen
+ params: [ 3250001, 3750000 ]
+
+ - workload: CW2_8_2column_condition_1_upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET bal_1=accounts_1.bal_1+1 RETURNING *
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 6000001, 7000000 ]
+ - util: PrimaryIntGen
+ params: [ 6000001, 7000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 6000001, 7000000]
+
+ - workload: CW2_9_2column_condition_10_upsert_with_returning
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO accounts_1(user_id_1,account_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (user_id_1, account_id_1) DO UPDATE SET bal_1=accounts_1.bal_1+1 RETURNING *
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 7000001, 8000000 ]
+ - util: PrimaryIntGen
+ params: [ 7000001, 8000000 ]
+ - util: OneStringFromArray
+ params: [ "addr for the client" ]
+ - util: PrimaryIntGen
+ params: [ 7000001, 8000000]
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW3_select_for_update.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW3_select_for_update.yaml
new file mode 100644
index 000000000..da92d8739
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW3_select_for_update.yaml
@@ -0,0 +1,148 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.2
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS CW3_transactions_1;
+ - DROP TABLE IF EXISTS CW3_accounts_1;
+ - DROP TABLE IF EXISTS CW3_accounts_2;
+
+ - CREATE TABLE IF NOT EXISTS CW3_accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_CW3_accounts_1 ON CW3_accounts_1( user_id_1, account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW3_accounts_2(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_CW3_accounts_2 ON CW3_accounts_2( user_id_1, account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW3_transactions_1(tran_id_1 bigint PRIMARY KEY, account_id_1 bigint, amount_1 bigint, FOREIGN KEY(account_id_1) REFERENCES CW3_accounts_1(account_id_1) ON DELETE CASCADE ON UPDATE CASCADE)
+
+ cleanup:
+ - DROP TABLE IF EXISTS CW3_accounts_1;
+ - DROP TABLE IF EXISTS CW3_transactions_1;
+ - DROP TABLE IF EXISTS CW3_accounts_2;
+
+ loadRules:
+ - table: CW3_accounts_
+ count: 2
+ rows: 2000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 2000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 2000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 2000000, 2 ]
+
+ # Entries are only available for transaction done by accounts from 1-10000 of table CW3_accounts_1. So relevant queries should only use that range.
+ - table: CW3_transactions_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: tran_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: account_id_
+ count: 1
+ util: RandomInt
+ params: [ 1, 10000 ]
+ - name: amount_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+
+
+ executeRules:
+ - workload: CW3_1_select_baseline
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT bal_1 FROM CW3_accounts_1 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?])
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_2_update_baseline
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: UPDATE CW3_accounts_1 SET bal_1=bal_1+1 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?]) returning bal_1
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_3_select_for_update
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT bal_1 FROM CW3_accounts_2 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?]) for update
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_4_select_for_update_nowait
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT bal_1 FROM CW3_accounts_2 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?]) for update NOWAIT
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_5_select_for_update_skip_lock
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT bal_1 FROM CW3_accounts_2 WHERE account_id_1=ANY(ARRAY[?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?]) for update SKIP LOCKED
+ bindings:
+ - util: RandomNumber
+ count: 50
+ params: [ 1, 2000000 ]
+
+ - workload: CW3_6_select_for_update_with_join
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: SELECT * from CW3_accounts_1 a JOIN CW3_transactions_1 t on a.account_id_1 = t.account_id_1 where t.amount_1 > 0 for update;
+
+
+ - workload: CW3_7_select_for_update_with_CTE
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: With high_value_transactions As (SELECT * from CW3_transactions_1 where amount_1>49 for update) UPDATE CW3_transactions_1 set amount_1=amount_1+1 WHERE tran_id_1 IN (Select tran_id_1 from high_value_transactions)
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW4_on_conflict_do_nothing.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW4_on_conflict_do_nothing.yaml
new file mode 100644
index 000000000..2d19b84da
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW4_on_conflict_do_nothing.yaml
@@ -0,0 +1,292 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v2.0
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS CW4_accounts_1;
+ - CREATE TABLE IF NOT EXISTS CW4_accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX CW4_user_accounts_1 ON CW4_accounts_1(account_id_1, user_id_1);
+
+ - DROP TABLE IF EXISTS CW4_accounts_2;
+ - CREATE TABLE IF NOT EXISTS CW4_accounts_2(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1)) PARTITION BY HASH (account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW4_0_2M_accounts_0 PARTITION OF CW4_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 0);
+ - CREATE TABLE IF NOT EXISTS CW4_0_2M_accounts_1 PARTITION OF CW4_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 1);
+ - CREATE TABLE IF NOT EXISTS CW4_0_2M_accounts_2 PARTITION OF CW4_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 2);
+ - CREATE TABLE IF NOT EXISTS CW4_0_2M_accounts_3 PARTITION OF CW4_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 3);
+
+ - DROP TABLE IF EXISTS CW4_cardinality_tbl1_1
+ - CREATE TABLE CW4_cardinality_tbl1_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_int_id_1 int, col_int_id_2 int, col_int_id_3 int, col_int_id_4 int, col_int_card1_1 int, col_int_card1_2 int, col_int_card1_3 int, col_int_card1_4 int, col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_2) INCLUDE (col_bigint_card3_1) # update multiple(1000) rows with point select
+ - CREATE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_3) INCLUDE (col_bigint_id_2) # update all(1M) rows with point select
+ - CREATE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_4) INCLUDE (col_int_id_4) # update single column + 1 row with point select
+ - CREATE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_5 ASC) INCLUDE (col_int_card1_4) # update single column + 1M row
+ - CREATE UNIQUE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_2);
+ - CREATE UNIQUE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_3);
+ - CREATE UNIQUE INDEX ON CW4_cardinality_tbl1_1(col_bigint_id_4);
+
+ cleanup:
+ - DROP TABLE IF EXISTS CW4_accounts_1;
+ - DROP TABLE IF EXISTS CW4_accounts_2;
+ - DROP TABLE IF EXISTS CW4_cardinality_tbl1_1;
+
+ loadRules:
+ - table: CW4_accounts_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 1000000, 2 ]
+
+ - table: CW4_cardinality_tbl1_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1010000]
+ - name: col_bigint_id_
+ count: 6
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_card1_
+ count: 4
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: CW4_1_2column_condition_no_conflict_on_pkey_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1000001, 5000000, 2 ]
+
+ - workload: CW4_2_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO NOTHING
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 5000001, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 5000001, 15000000, 2 ]
+
+ - workload: CW4_3_no_condition_for_on_conflict_1row
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_cardinality_tbl1_1(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_id_4, col_bigint_id_5, col_bigint_id_6, col_int_id_1, col_int_id_2, col_int_id_3, col_int_id_4, col_int_card1_1, col_int_card1_2, col_int_card1_3, col_int_card1_4, col_varchar500_id_1) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON CONFLICT DO NOTHING
+ bindings:
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: RandomInt
+ params: [ 1000000,1001000 ]
+ - util: RandomInt
+ params: [ 1000000,1010000]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 5000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: PrimaryStringGen
+ params: [1, 500]
+
+ - workload: CW4_4_no_condition_for_on_conflict_1024row
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_cardinality_tbl1_1(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_id_4, col_bigint_id_5, col_bigint_id_6, col_int_id_1, col_int_id_2, col_int_id_3, col_int_id_4, col_int_card1_1, col_int_card1_2, col_int_card1_3, col_int_card1_4, col_varchar500_id_1) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON CONFLICT DO NOTHING
+ count: 1024
+ bindings:
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: RandomInt
+ params: [ 1000000,1001000 ]
+ - util: RandomInt
+ params: [ 1000000,1010000]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 5000001, 9000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: OneNumberFromArray
+ params: [ 1000000 ]
+ - util: PrimaryStringGen
+ params: [1, 500]
+
+ - workload: CW4_5_no_conflict_on_pkey_so_single_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO NOTHING
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 10000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 10000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1000001, 10000000, 2 ]
+
+ - workload: CW4_6_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO NOTHING
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 10000001, 30000000 ]
+ - util: PrimaryIntGen
+ params: [ 10000001, 30000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 10000001, 30000000, 2 ]
+
+ - workload: CW4_7_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO NOTHING
+ pattern_count: 1024
+ bindings:
+ - util: RandomNumber
+ params: [ 15000001, 25000000 ]
+ - util: RandomNumber
+ params: [ 15000001, 25000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 15000001, 25000000, 2 ]
+
+ - workload: CW4_8_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW4_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO NOTHING
+ pattern_count: 1024
+ bindings:
+ - util: RandomNumber
+ params: [ 30000001, 50000000 ]
+ - util: RandomNumber
+ params: [ 30000001, 50000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 30000001, 50000000, 2 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW5_on_conflict_do_update.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW5_on_conflict_do_update.yaml
new file mode 100644
index 000000000..dd6d9187a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW5_on_conflict_do_update.yaml
@@ -0,0 +1,160 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.2
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS CW5_accounts_1;
+ - CREATE TABLE IF NOT EXISTS CW5_accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX CW5_user_accounts_1 ON CW5_accounts_1(account_id_1, user_id_1);
+
+ - DROP TABLE IF EXISTS CW5_accounts_2;
+ - CREATE TABLE IF NOT EXISTS CW5_accounts_2(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1)) PARTITION BY HASH (account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW5_0_2M_accounts_0 PARTITION OF CW5_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 0);
+ - CREATE TABLE IF NOT EXISTS CW5_0_2M_accounts_1 PARTITION OF CW5_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 1);
+ - CREATE TABLE IF NOT EXISTS CW5_0_2M_accounts_2 PARTITION OF CW5_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 2);
+ - CREATE TABLE IF NOT EXISTS CW5_0_2M_accounts_3 PARTITION OF CW5_accounts_2 FOR VALUES WITH (MODULUS 4, REMAINDER 3);
+
+ cleanup:
+ - DROP TABLE IF EXISTS CW5_accounts_1;
+ - DROP TABLE IF EXISTS CW5_accounts_2;
+
+ loadRules:
+ - table: CW5_accounts_
+ count: 2
+ rows: 15000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ executeRules:
+ - workload: CW5_1_2column_condition_no_conflict_on_pkey_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW5_2_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 4000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 4000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 4000000, 2 ]
+
+ - workload: CW5_3_no_conflict_on_pkey_so_single_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW5_4_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW5_5_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ pattern_count: 1024
+ bindings:
+ - util: RandomUniqueIntGen
+ params: [ 1, 15000000 ]
+ - util: RandomNumber
+ params: [ 4000001, 15000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 4000001, 15000000, 2 ]
+
+
+ - workload: CW5_6_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_hash
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW5_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ pattern_count: 1024
+ bindings:
+ - util: RandomUniqueIntGen
+ params: [ 1, 15000000 ]
+ - util: RandomNumber
+ params: [ 4000001, 15000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 4000001, 15000000, 2 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW6_on_conflict_do_update_range.yaml b/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW6_on_conflict_do_update_range.yaml
new file mode 100644
index 000000000..4a7ba9f63
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/conditional_workloads/yugabyte/CW6_on_conflict_do_update_range.yaml
@@ -0,0 +1,162 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.2
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS CW6_accounts_1;
+ - CREATE TABLE IF NOT EXISTS CW6_accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1 ASC));
+ - CREATE UNIQUE INDEX CW6_user_accounts_1 ON CW6_accounts_1(account_id_1 ASC, user_id_1 ASC);
+
+ - DROP TABLE IF EXISTS CW6_accounts_2;
+ - CREATE TABLE IF NOT EXISTS CW6_accounts_2(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2),PRIMARY KEY(account_id_1)) PARTITION BY RANGE (account_id_1);
+ - CREATE TABLE IF NOT EXISTS CW6_0_2M_accounts_0 PARTITION OF CW6_accounts_2 FOR VALUES FROM (1) TO (10000000);
+ - CREATE TABLE IF NOT EXISTS CW6_0_2M_accounts_1 PARTITION OF CW6_accounts_2 FOR VALUES FROM (10000000) TO (20000000);
+ - CREATE TABLE IF NOT EXISTS CW6_0_2M_accounts_2 PARTITION OF CW6_accounts_2 FOR VALUES FROM (20000000) TO (30000000);
+ - CREATE TABLE IF NOT EXISTS CW6_0_2M_accounts_3 PARTITION OF CW6_accounts_2 FOR VALUES FROM (30000000) TO (40000001);
+ cleanup:
+ - DROP TABLE IF EXISTS CW6_accounts_1;
+ - DROP TABLE IF EXISTS CW6_accounts_2;
+
+ loadRules:
+ - table: CW6_accounts_
+ count: 2
+ rows: 40000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 40000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 40000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: PrimaryFloatGen
+ params: [ 1, 40000000, 2 ]
+
+ executeRules:
+ - workload: CW6_1_2column_condition_no_conflict_on_pkey_so_single_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW6_2_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW6_3_no_conflict_on_pkey_so_single_insert_on_partitioned_tbl_by_range
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+ - workload: CW6_4_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_range
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES (?,?,?,?) ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ count: 1024
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 15000000 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: PrimaryFloatGen
+ params: [ 1, 15000000, 2 ]
+
+
+
+ - workload: CW6_5_2column_condition_no_conflict_on_pkey_so_1024_insert
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_1(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ pattern_count: 1024
+ bindings:
+ - util: RandomUniqueIntGen
+ params: [ 1, 15000000 ]
+ - util: RandomNumber
+ params: [ 4000001, 15000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 4000001, 15000000, 2 ]
+
+
+ - workload: CW6_6_no_conflict_on_pkey_so_1024_insert_on_partitioned_tbl_by_range
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO CW6_accounts_2(account_id_1,user_id_1,addr_1,bal_1) VALUES [(?,?,?,?)][pattern_count] ON CONFLICT (account_id_1) DO UPDATE SET (account_id_1,user_id_1,addr_1,bal_1)=(excluded.account_id_1,excluded.user_id_1,excluded.addr_1,excluded.bal_1)
+ pattern_count: 1024
+ bindings:
+ - util: RandomUniqueIntGen
+ params: [ 1, 40000000 ]
+ - util: RandomNumber
+ params: [ 4000001, 15000000 ]
+ - util: RandomAString
+ params: [ 50, 50 ]
+ - util: RandomFloat
+ params: [ 4000001, 15000000, 2 ]
+
diff --git a/config/yugabyte/regression_pipelines/foreign_key/postgres/FK_G1_varyingFKconstraint_child_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/postgres/FK_G1_varyingFKconstraint_child_table_ops.yaml
new file mode 100644
index 000000000..c3e6676ad
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/postgres/FK_G1_varyingFKconstraint_child_table_ops.yaml
@@ -0,0 +1,365 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_fk_on_pk;
+ - DROP TABLE IF EXISTS employees_with_fk_on_uniqueCol;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+ - DROP TABLE IF EXISTS employees_without_fk;
+
+ - DROP TABLE IF EXISTS projects_with_pk;
+ - DROP TABLE IF EXISTS projects_with_uniqueCol;
+ - DROP TABLE IF EXISTS projects_with_2_fk;
+
+ - create table projects_with_pk(id int primary key, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table projects_with_uniqueCol(id int primary key, uid int unique, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table projects_with_2_fk(id int primary key, uid int unique, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+
+ - create table employees_with_fk_on_pk(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+ - create table employees_with_fk_on_uniqueCol(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+ - create table employees_with_2_fk_1_parent(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id1 int not null, project_id2 int not null);
+ - create table employees_without_fk(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_fk_on_pk;
+ - DROP TABLE IF EXISTS employees_with_fk_on_uniqueCol;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+ - DROP TABLE IF EXISTS employees_without_fk;
+
+ - DROP TABLE IF EXISTS projects_with_pk;
+ - DROP TABLE IF EXISTS projects_with_uniqueCol;
+ - DROP TABLE IF EXISTS projects_with_2_fk;
+
+ loadRules:
+ - table: projects_with_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_uniqueCol
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_2_fk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_without_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_fk_on_pk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_fk_on_uniqueCol
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_2_fk_1_parent
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id1
+ util: RandomInt
+ params: [1,100000]
+ - name: project_id2
+ util: RandomInt
+ params: [1,100000]
+
+ afterLoad:
+ - ALTER TABLE employees_with_fk_on_pk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_pk(id);
+ - ALTER TABLE employees_with_fk_on_uniqueCol add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_uniqueCol(uid);
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project1 FOREIGN KEY (project_id1) REFERENCES projects_with_2_fk(id);
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project2 FOREIGN KEY (project_id2) REFERENCES projects_with_2_fk(uid);
+
+ executeRules:
+
+ - workload: FK_G1_1_fk-on-pk_insert
+ run:
+ - name: FK_G1_1_fk-on-pk_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_fk_on_pk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_2_fk-on-pk_update
+ run:
+ - name: FK_G1_2_fk-on-pk_update
+ weight: 100
+ queries:
+ - query: update employees_with_fk_on_pk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G1_3_fk-on-uniqueCol_insert
+ run:
+ - name: FK_G1_3_fk-on-uniqueCol_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_fk_on_uniqueCol values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_4_fk-on-uniqueCol_update
+ run:
+ - name: FK_G1_4_fk-on-uniqueCol_update
+ weight: 100
+ queries:
+ - query: update employees_with_fk_on_uniqueCol set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G1_5_no-fk_insert
+ run:
+ - name: FK_G1_5_no-fk_insert
+ weight: 100
+ queries:
+ - query: insert into employees_without_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_6_no-fk_update
+ run:
+ - name: FK_G1_6_no-fk_update
+ weight: 100
+ queries:
+ - query: update employees_without_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G1_7_2fk_insert
+ run:
+ - name: FK_G1_7_2fk_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_2_fk_1_parent values(?,?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_8_2fk_update
+ run:
+ - name: FK_G1_8_2fk_update
+ weight: 100
+ queries:
+ - query: update employees_with_2_fk_1_parent set project_id1=?, project_id2=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/postgres/FK_G2_varyingFKcount_parent_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/postgres/FK_G2_varyingFKcount_parent_table_ops.yaml
new file mode 100644
index 000000000..d3b4dce58
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/postgres/FK_G2_varyingFKcount_parent_table_ops.yaml
@@ -0,0 +1,236 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_1_fk;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+
+ - DROP TABLE IF EXISTS projects_with_1_ref;
+ - DROP TABLE IF EXISTS projects_with_2_ref_1_child;
+ - DROP TABLE IF EXISTS projects_without_ref;
+
+ - create table projects_with_1_ref(id int primary key, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table projects_with_2_ref_1_child(id int primary key, uid1 int unique, uid2 int unique, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table projects_without_ref(id int primary key, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+
+ - create table employees_with_1_fk(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+ - create table employees_with_2_fk_1_parent(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_uid1 int not null, project_uid2 int not null);
+
+ - CREATE INDEX project_uid_index ON employees_with_1_fk (project_id);
+ - CREATE INDEX project_uid1_index ON employees_with_2_fk_1_parent (project_uid1);
+ - CREATE INDEX project_uid2_index ON employees_with_2_fk_1_parent (project_uid2);
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_1_fk;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+
+ - DROP TABLE IF EXISTS projects_with_1_ref;
+ - DROP TABLE IF EXISTS projects_with_2_ref_1_child;
+ - DROP TABLE IF EXISTS projects_without_ref;
+ loadRules:
+ - table: projects_with_1_ref
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_without_ref
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_2_ref_1_child
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid1
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid2
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: employees_with_2_fk_1_parent
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_uid1
+ util: CyclicSeqIntGen
+ params: [1,100000]
+ - name: project_uid2
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ afterLoad:
+ - ALTER TABLE employees_with_1_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project1 FOREIGN KEY (project_uid1) REFERENCES projects_with_2_ref_1_child(uid1) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project2 FOREIGN KEY (project_uid2) REFERENCES projects_with_2_ref_1_child(uid2) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ executeRules:
+
+ - workload: FK_G2_1_no-fk_update
+ run:
+ - name: FK_G2_1_no-fk_update
+ weight: 100
+ queries:
+ - query: update projects_without_ref set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_2_no-fk_delete
+ run:
+ - name: FK_G2_2_no-fk_delete
+ weight: 100
+ queries:
+ - query: delete from projects_without_ref where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_3_1-fk_update
+ run:
+ - name: FK_G2_3_1-fk_update
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_4_1-fk_delete
+ run:
+ - name: FK_G2_4_1-fk_delete
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_5_2-fk_update
+ run:
+ - name: FK_G2_5_2-fk_update
+ weight: 100
+ queries:
+ - query: update projects_with_2_ref_1_child set uid1=uid1+100000, uid2=uid2+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_6_2-fk_delete
+ run:
+ - name: FK_G2_6_2-fk_delete
+ weight: 100
+ queries:
+ - query: delete from projects_with_2_ref_1_child where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/postgres/FK_G3_varyingFKdatatypes_child_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/postgres/FK_G3_varyingFKdatatypes_child_table_ops.yaml
new file mode 100644
index 000000000..9e4462c83
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/postgres/FK_G3_varyingFKdatatypes_child_table_ops.yaml
@@ -0,0 +1,287 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_int_fk;
+ - DROP TABLE IF EXISTS employees_with_bigint_fk;
+ - DROP TABLE IF EXISTS employees_with_varchar_fk;
+
+ - DROP TABLE IF EXISTS projects_with_int_pk;
+ - DROP TABLE IF EXISTS projects_with_bigint_pk;
+ - DROP TABLE IF EXISTS projects_with_varchar_pk;
+
+ - create table projects_with_int_pk(id int primary key, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table projects_with_bigint_pk(id bigint primary key, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table projects_with_varchar_pk(id varchar(6) primary key, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+
+ - create table employees_with_int_fk(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+ - create table employees_with_bigint_fk(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id bigint not null);
+ - create table employees_with_varchar_fk(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id varchar(6) not null);
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_int_fk;
+ - DROP TABLE IF EXISTS employees_with_bigint_fk;
+ - DROP TABLE IF EXISTS employees_with_varchar_fk;
+
+ - DROP TABLE IF EXISTS projects_with_int_pk;
+ - DROP TABLE IF EXISTS projects_with_bigint_pk;
+ - DROP TABLE IF EXISTS projects_with_varchar_pk;
+ loadRules:
+ - table: projects_with_int_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_bigint_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_varchar_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryStringGen
+ params: [1, 6]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_int_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_bigint_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_varchar_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 20]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomPKString
+ params: [1,100000,6]
+
+ afterLoad:
+ - ALTER TABLE employees_with_int_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_int_pk(id);
+ - ALTER TABLE employees_with_bigint_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_bigint_pk(id);
+ - ALTER TABLE employees_with_varchar_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_varchar_pk(id);
+
+ executeRules:
+
+ - workload: FK_G3_1_varchar_insert
+ run:
+ - name: FK_G3_1_varchar_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_varchar_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomPKString
+ params: [1,100000,6]
+
+ - workload: FK_G3_2_varchar_update
+ run:
+ - name: FK_G3_2_varchar_update
+ weight: 100
+ queries:
+ - query: update employees_with_varchar_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomPKString
+ params: [1,100000,6]
+ - util: PrimaryIntGen
+ params: [1,1000000]
+
+ - workload: FK_G3_3_bigint_insert
+ run:
+ - name: FK_G3_3_bigint_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_bigint_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G3_4_bigint_update
+ run:
+ - name: FK_G3_4_bigint_update
+ weight: 100
+ queries:
+ - query: update employees_with_bigint_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G3_5_int_insert
+ run:
+ - name: FK_G3_5_int_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_int_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G3_6_int_update
+ run:
+ - name: FK_G3_6_int_update
+ weight: 100
+ queries:
+ - query: update employees_with_int_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/postgres/FK_G4_varyingFKcardinality_parent_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/postgres/FK_G4_varyingFKcardinality_parent_table_ops.yaml
new file mode 100644
index 000000000..8907fe540
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/postgres/FK_G4_varyingFKcardinality_parent_table_ops.yaml
@@ -0,0 +1,340 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_10_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_10_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_100_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_100_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1000_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1000_cardinality;
+
+ - create table projects_with_1_ref_1_to_1_cardinality(id int primary key, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table employees_with_1_fk_1_to_1_cardinality(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+
+ - create table projects_with_1_ref_1_to_10_cardinality(id int primary key, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table employees_with_1_fk_1_to_10_cardinality(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+
+ - create table projects_with_1_ref_1_to_100_cardinality(id int primary key, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table employees_with_1_fk_1_to_100_cardinality(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+
+ - create table projects_with_1_ref_1_to_1000_cardinality(id int primary key, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table employees_with_1_fk_1_to_1000_cardinality(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+
+ - CREATE INDEX project_uid_index_1_to_1_cardinality ON employees_with_1_fk_1_to_1_cardinality (project_id);
+ - CREATE INDEX project_uid_index_1_to_10_cardinality ON employees_with_1_fk_1_to_10_cardinality (project_id);
+ - CREATE INDEX project_uid_index_1_to_100_cardinality ON employees_with_1_fk_1_to_100_cardinality (project_id);
+ - CREATE INDEX project_uid_index_1_to_1000_cardinality ON employees_with_1_fk_1_to_1000_cardinality (project_id);
+
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_10_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_10_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_100_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_100_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1000_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1000_cardinality;
+ loadRules:
+ - table: projects_with_1_ref_1_to_1_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_1_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: projects_with_1_ref_1_to_10_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_10_cardinality
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: projects_with_1_ref_1_to_100_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_100_cardinality
+ rows: 10000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: projects_with_1_ref_1_to_1000_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_1000_cardinality
+ rows: 100000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ afterLoad:
+ - ALTER TABLE employees_with_1_fk_1_to_1_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_1_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_1_fk_1_to_10_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_10_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_1_fk_1_to_100_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_100_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_1_fk_1_to_1000_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_1000_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ executeRules:
+
+ - workload: FK_G4_1_update_1_to_1_cardinality
+ run:
+ - name: FK_G4_1_update_1_to_1_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_1_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_2_delete_1_to_1_cardinality
+ run:
+ - name: FK_G4_2_delete_1_to_1_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_1_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_3_update_1_to_10_cardinality
+ run:
+ - name: FK_G4_3_update_1_to_10_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_10_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_4_delete_1_to_10_cardinality
+ run:
+ - name: FK_G4_4_delete_1_to_10_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_10_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_5_update_1_to_100_cardinality
+ run:
+ - name: FK_G4_5_update_1_to_100_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_100_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_6_delete_1_to_100_cardinality
+ run:
+ - name: FK_G4_6_delete_1_to_100_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_100_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_7_update_1_to_1000_cardinality
+ run:
+ - name: FK_G4_7_update_1_to_1000_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_1000_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_8_delete_1_to_1000_cardinality
+ run:
+ - name: FK_G4_8_delete_1_to_1000_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_1000_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/yb_colocated/FK_G1_varyingFKconstraint_child_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/yb_colocated/FK_G1_varyingFKconstraint_child_table_ops.yaml
new file mode 100644
index 000000000..a060b6673
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/yb_colocated/FK_G1_varyingFKconstraint_child_table_ops.yaml
@@ -0,0 +1,366 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_fk_on_pk;
+ - DROP TABLE IF EXISTS employees_with_fk_on_uniqueCol;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+ - DROP TABLE IF EXISTS employees_without_fk;
+
+ - DROP TABLE IF EXISTS projects_with_pk;
+ - DROP TABLE IF EXISTS projects_with_uniqueCol;
+ - DROP TABLE IF EXISTS projects_with_2_fk;
+
+ - create table projects_with_pk(id int, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table projects_with_uniqueCol(id int, uid int unique, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table projects_with_2_fk(id int, uid int unique, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+
+ - create table employees_with_fk_on_pk(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+ - create table employees_with_fk_on_uniqueCol(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+ - create table employees_with_2_fk_1_parent(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id1 int not null, project_id2 int not null, primary key(id asc));
+ - create table employees_without_fk(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_fk_on_pk;
+ - DROP TABLE IF EXISTS employees_with_fk_on_uniqueCol;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+ - DROP TABLE IF EXISTS employees_without_fk;
+
+ - DROP TABLE IF EXISTS projects_with_pk;
+ - DROP TABLE IF EXISTS projects_with_uniqueCol;
+ - DROP TABLE IF EXISTS projects_with_2_fk;
+ loadRules:
+ - table: projects_with_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_uniqueCol
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_2_fk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_without_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_fk_on_pk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_fk_on_uniqueCol
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_2_fk_1_parent
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id1
+ util: RandomInt
+ params: [1,100000]
+ - name: project_id2
+ util: RandomInt
+ params: [1,100000]
+
+ afterLoad:
+ - ALTER TABLE employees_with_fk_on_pk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_pk(id);
+ - ALTER TABLE employees_with_fk_on_uniqueCol add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_uniqueCol(uid);
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project1 FOREIGN KEY (project_id1) REFERENCES projects_with_2_fk(id);
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project2 FOREIGN KEY (project_id2) REFERENCES projects_with_2_fk(uid);
+
+ executeRules:
+
+ - workload: FK_G1_1_fk-on-pk_insert
+ run:
+ - name: FK_G1_1_fk-on-pk_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_fk_on_pk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_2_fk-on-pk_update
+ run:
+ - name: FK_G1_2_fk-on-pk_update
+ weight: 100
+ queries:
+ - query: update employees_with_fk_on_pk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G1_3_fk-on-uniqueCol_insert
+ run:
+ - name: FK_G1_3_fk-on-uniqueCol_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_fk_on_uniqueCol values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_4_fk-on-uniqueCol_update
+ run:
+ - name: FK_G1_4_fk-on-uniqueCol_update
+ weight: 100
+ queries:
+ - query: update employees_with_fk_on_uniqueCol set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G1_5_no-fk_insert
+ run:
+ - name: FK_G1_5_no-fk_insert
+ weight: 100
+ queries:
+ - query: insert into employees_without_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_6_no-fk_update
+ run:
+ - name: FK_G1_6_no-fk_update
+ weight: 100
+ queries:
+ - query: update employees_without_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G1_7_2fk_insert
+ run:
+ - name: FK_G1_7_2fk_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_2_fk_1_parent values(?,?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_8_2fk_update
+ run:
+ - name: FK_G1_8_2fk_update
+ weight: 100
+ queries:
+ - query: update employees_with_2_fk_1_parent set project_id1=?, project_id2=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/yb_colocated/FK_G2_varyingFKcount_parent_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/yb_colocated/FK_G2_varyingFKcount_parent_table_ops.yaml
new file mode 100644
index 000000000..aad7e8e71
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/yb_colocated/FK_G2_varyingFKcount_parent_table_ops.yaml
@@ -0,0 +1,239 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_1_fk;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+
+ - DROP TABLE IF EXISTS projects_with_1_ref;
+ - DROP TABLE IF EXISTS projects_with_2_ref_1_child;
+ - DROP TABLE IF EXISTS projects_without_ref;
+
+ - create table projects_with_1_ref(id int, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table projects_with_2_ref_1_child(id int, uid1 int unique, uid2 int unique, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table projects_without_ref(id int, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+
+ - create table employees_with_1_fk(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+ - create table employees_with_2_fk_1_parent(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_uid1 int not null, project_uid2 int not null, primary key(id asc));
+
+ - CREATE INDEX project_uid_index ON employees_with_1_fk (project_id);
+ - CREATE INDEX project_uid1_index ON employees_with_2_fk_1_parent (project_uid1);
+ - CREATE INDEX project_uid2_index ON employees_with_2_fk_1_parent (project_uid2);
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_1_fk;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+
+ - DROP TABLE IF EXISTS projects_with_1_ref;
+ - DROP TABLE IF EXISTS projects_with_2_ref_1_child;
+ - DROP TABLE IF EXISTS projects_without_ref;
+ loadRules:
+ - table: projects_with_1_ref
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_without_ref
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_2_ref_1_child
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid1
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid2
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: employees_with_2_fk_1_parent
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_uid1
+ util: CyclicSeqIntGen
+ params: [1,100000]
+ - name: project_uid2
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ afterLoad:
+ - ALTER TABLE employees_with_1_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project1 FOREIGN KEY (project_uid1) REFERENCES projects_with_2_ref_1_child(uid1) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project2 FOREIGN KEY (project_uid2) REFERENCES projects_with_2_ref_1_child(uid2) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ executeRules:
+
+ - workload: FK_G2_1_no-fk_update
+ run:
+ - name: FK_G2_1_no-fk_update
+ weight: 100
+ queries:
+ - query: update projects_without_ref set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_2_no-fk_delete
+ run:
+ - name: FK_G2_2_no-fk_delete
+ weight: 100
+ queries:
+ - query: delete from projects_without_ref where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_3_1-fk_update
+ run:
+ - name: FK_G2_3_1-fk_update
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_4_1-fk_delete
+ run:
+ - name: FK_G2_4_1-fk_delete
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_5_2-fk_update
+ run:
+ - name: FK_G2_5_2-fk_update
+ weight: 100
+ queries:
+ - query: update projects_with_2_ref_1_child set uid1=uid1+100000, uid2=uid2+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_6_2-fk_delete
+ run:
+ - name: FK_G2_6_2-fk_delete
+ weight: 100
+ queries:
+ - query: delete from projects_with_2_ref_1_child where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/yb_colocated/FK_G3_varyingFKdatatypes_child_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/yb_colocated/FK_G3_varyingFKdatatypes_child_table_ops.yaml
new file mode 100644
index 000000000..4f2f4bcb3
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/yb_colocated/FK_G3_varyingFKdatatypes_child_table_ops.yaml
@@ -0,0 +1,290 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_int_fk;
+ - DROP TABLE IF EXISTS employees_with_bigint_fk;
+ - DROP TABLE IF EXISTS employees_with_varchar_fk;
+
+ - DROP TABLE IF EXISTS projects_with_int_pk;
+ - DROP TABLE IF EXISTS projects_with_bigint_pk;
+ - DROP TABLE IF EXISTS projects_with_varchar_pk;
+
+ - create table projects_with_int_pk(id int, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table projects_with_bigint_pk(id bigint, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table projects_with_varchar_pk(id varchar(6), name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+
+ - create table employees_with_int_fk(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+ - create table employees_with_bigint_fk(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id bigint not null, primary key(id asc));
+ - create table employees_with_varchar_fk(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id varchar(6) not null, primary key(id asc));
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_int_fk;
+ - DROP TABLE IF EXISTS employees_with_bigint_fk;
+ - DROP TABLE IF EXISTS employees_with_varchar_fk;
+
+ - DROP TABLE IF EXISTS projects_with_int_pk;
+ - DROP TABLE IF EXISTS projects_with_bigint_pk;
+ - DROP TABLE IF EXISTS projects_with_varchar_pk;
+ loadRules:
+ - table: projects_with_int_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_bigint_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_varchar_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryStringGen
+ params: [1, 6]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_int_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_bigint_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_varchar_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 20]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomPKString
+ params: [1,100000,6]
+
+ afterLoad:
+ - ALTER TABLE employees_with_int_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_int_pk(id);
+ - ALTER TABLE employees_with_bigint_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_bigint_pk(id);
+ - ALTER TABLE employees_with_varchar_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_varchar_pk(id);
+
+ executeRules:
+
+ - workload: FK_G3_1_varchar_insert
+ run:
+ - name: FK_G3_1_varchar_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_varchar_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomPKString
+ params: [1,100000,6]
+
+ - workload: FK_G3_2_varchar_update
+ run:
+ - name: FK_G3_2_varchar_update
+ weight: 100
+ queries:
+ - query: update employees_with_varchar_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomPKString
+ params: [1,100000,6]
+ - util: PrimaryIntGen
+ params: [1,1000000]
+
+ - workload: FK_G3_3_bigint_insert
+ run:
+ - name: FK_G3_3_bigint_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_bigint_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G3_4_bigint_update
+ run:
+ - name: FK_G3_4_bigint_update
+ weight: 100
+ queries:
+ - query: update employees_with_bigint_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G3_5_int_insert
+ run:
+ - name: FK_G3_5_int_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_int_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G3_6_int_update
+ run:
+ - name: FK_G3_6_int_update
+ weight: 100
+ queries:
+ - query: update employees_with_int_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/yb_colocated/FK_G4_varyingFKcardinality_parent_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/yb_colocated/FK_G4_varyingFKcardinality_parent_table_ops.yaml
new file mode 100644
index 000000000..dd3170450
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/yb_colocated/FK_G4_varyingFKcardinality_parent_table_ops.yaml
@@ -0,0 +1,342 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_10_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_10_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_100_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_100_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1000_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1000_cardinality;
+
+ - create table projects_with_1_ref_1_to_1_cardinality(id int, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table employees_with_1_fk_1_to_1_cardinality(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+
+ - create table projects_with_1_ref_1_to_10_cardinality(id int, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table employees_with_1_fk_1_to_10_cardinality(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+
+ - create table projects_with_1_ref_1_to_100_cardinality(id int, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table employees_with_1_fk_1_to_100_cardinality(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+
+ - create table projects_with_1_ref_1_to_1000_cardinality(id int, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table employees_with_1_fk_1_to_1000_cardinality(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+
+ - CREATE INDEX project_uid_index_1_to_1_cardinality ON employees_with_1_fk_1_to_1_cardinality (project_id);
+ - CREATE INDEX project_uid_index_1_to_10_cardinality ON employees_with_1_fk_1_to_10_cardinality (project_id);
+ - CREATE INDEX project_uid_index_1_to_100_cardinality ON employees_with_1_fk_1_to_100_cardinality (project_id);
+ - CREATE INDEX project_uid_index_1_to_1000_cardinality ON employees_with_1_fk_1_to_1000_cardinality (project_id);
+
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_10_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_10_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_100_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_100_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1000_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1000_cardinality;
+ loadRules:
+ - table: projects_with_1_ref_1_to_1_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_1_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: projects_with_1_ref_1_to_10_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_10_cardinality
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: projects_with_1_ref_1_to_100_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_100_cardinality
+ rows: 10000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: projects_with_1_ref_1_to_1000_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_1000_cardinality
+ rows: 100000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ afterLoad:
+ - ALTER TABLE employees_with_1_fk_1_to_1_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_1_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_1_fk_1_to_10_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_10_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_1_fk_1_to_100_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_100_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_1_fk_1_to_1000_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_1000_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ executeRules:
+
+ - workload: FK_G4_1_update_1_to_1_cardinality
+ run:
+ - name: FK_G4_1_update_1_to_1_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_1_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_2_delete_1_to_1_cardinality
+ run:
+ - name: FK_G4_2_delete_1_to_1_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_1_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_3_update_1_to_10_cardinality
+ run:
+ - name: FK_G4_3_update_1_to_10_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_10_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_4_delete_1_to_10_cardinality
+ run:
+ - name: FK_G4_4_delete_1_to_10_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_10_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_5_update_1_to_100_cardinality
+ run:
+ - name: FK_G4_5_update_1_to_100_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_100_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_6_delete_1_to_100_cardinality
+ run:
+ - name: FK_G4_6_delete_1_to_100_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_100_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_7_update_1_to_1000_cardinality
+ run:
+ - name: FK_G4_7_update_1_to_1000_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_1000_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_8_delete_1_to_1000_cardinality
+ run:
+ - name: FK_G4_8_delete_1_to_1000_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_1000_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/yugabyte/FK_G1_varyingFKconstraint_child_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/yugabyte/FK_G1_varyingFKconstraint_child_table_ops.yaml
new file mode 100644
index 000000000..95e082d4a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/yugabyte/FK_G1_varyingFKconstraint_child_table_ops.yaml
@@ -0,0 +1,367 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_fk_on_pk;
+ - DROP TABLE IF EXISTS employees_with_fk_on_uniqueCol;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+ - DROP TABLE IF EXISTS employees_without_fk;
+
+ - DROP TABLE IF EXISTS projects_with_pk;
+ - DROP TABLE IF EXISTS projects_with_uniqueCol;
+ - DROP TABLE IF EXISTS projects_with_2_fk;
+
+ - create table projects_with_pk(id int primary key, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table projects_with_uniqueCol(id int primary key, uid int unique, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table projects_with_2_fk(id int primary key, uid int unique, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+
+ - create table employees_with_fk_on_pk(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+ - create table employees_with_fk_on_uniqueCol(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+ - create table employees_with_2_fk_1_parent(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id1 int not null, project_id2 int not null);
+ - create table employees_without_fk(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_fk_on_pk;
+ - DROP TABLE IF EXISTS employees_with_fk_on_uniqueCol;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+ - DROP TABLE IF EXISTS employees_without_fk;
+
+ - DROP TABLE IF EXISTS projects_with_pk;
+ - DROP TABLE IF EXISTS projects_with_uniqueCol;
+ - DROP TABLE IF EXISTS projects_with_2_fk;
+
+ loadRules:
+ - table: projects_with_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_uniqueCol
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_2_fk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_without_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_fk_on_pk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_fk_on_uniqueCol
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_2_fk_1_parent
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id1
+ util: RandomInt
+ params: [1,100000]
+ - name: project_id2
+ util: RandomInt
+ params: [1,100000]
+
+ afterLoad:
+ - ALTER TABLE employees_with_fk_on_pk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_pk(id);
+ - ALTER TABLE employees_with_fk_on_uniqueCol add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_uniqueCol(uid);
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project1 FOREIGN KEY (project_id1) REFERENCES projects_with_2_fk(id);
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project2 FOREIGN KEY (project_id2) REFERENCES projects_with_2_fk(uid);
+
+ executeRules:
+
+ - workload: FK_G1_1_fk-on-pk_insert
+ run:
+ - name: FK_G1_1_fk-on-pk_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_fk_on_pk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_2_fk-on-pk_update
+ run:
+ - name: FK_G1_2_fk-on-pk_update
+ weight: 100
+ queries:
+ - query: update employees_with_fk_on_pk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G1_3_fk-on-uniqueCol_insert
+ run:
+ - name: FK_G1_3_fk-on-uniqueCol_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_fk_on_uniqueCol values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_4_fk-on-uniqueCol_update
+ run:
+ - name: FK_G1_4_fk-on-uniqueCol_update
+ weight: 100
+ queries:
+ - query: update employees_with_fk_on_uniqueCol set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G1_5_no-fk_insert
+ run:
+ - name: FK_G1_5_no-fk_insert
+ weight: 100
+ queries:
+ - query: insert into employees_without_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_6_no-fk_update
+ run:
+ - name: FK_G1_6_no-fk_update
+ weight: 100
+ queries:
+ - query: update employees_without_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G1_7_2fk_insert
+ run:
+ - name: FK_G1_7_2fk_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_2_fk_1_parent values(?,?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_8_2fk_update
+ run:
+ - name: FK_G1_8_2fk_update
+ weight: 100
+ queries:
+ - query: update employees_with_2_fk_1_parent set project_id1=?, project_id2=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/yugabyte/FK_G2_varyingFKcount_parent_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/yugabyte/FK_G2_varyingFKcount_parent_table_ops.yaml
new file mode 100644
index 000000000..e322120d1
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/yugabyte/FK_G2_varyingFKcount_parent_table_ops.yaml
@@ -0,0 +1,238 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_1_fk;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+
+ - DROP TABLE IF EXISTS projects_with_1_ref;
+ - DROP TABLE IF EXISTS projects_with_2_ref_1_child;
+ - DROP TABLE IF EXISTS projects_without_ref;
+
+ - create table projects_with_1_ref(id int primary key, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table projects_with_2_ref_1_child(id int primary key, uid1 int unique, uid2 int unique, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table projects_without_ref(id int primary key, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+
+ - create table employees_with_1_fk(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+ - create table employees_with_2_fk_1_parent(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_uid1 int not null, project_uid2 int not null);
+
+ - CREATE INDEX project_uid_index ON employees_with_1_fk (project_id);
+ - CREATE INDEX project_uid1_index ON employees_with_2_fk_1_parent (project_uid1);
+ - CREATE INDEX project_uid2_index ON employees_with_2_fk_1_parent (project_uid2);
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_1_fk;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+
+ - DROP TABLE IF EXISTS projects_with_1_ref;
+ - DROP TABLE IF EXISTS projects_with_2_ref_1_child;
+ - DROP TABLE IF EXISTS projects_without_ref;
+ loadRules:
+ - table: projects_with_1_ref
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_without_ref
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_2_ref_1_child
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid1
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid2
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: employees_with_2_fk_1_parent
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_uid1
+ util: CyclicSeqIntGen
+ params: [1,100000]
+ - name: project_uid2
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ afterLoad:
+ - ALTER TABLE employees_with_1_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project1 FOREIGN KEY (project_uid1) REFERENCES projects_with_2_ref_1_child(uid1) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project2 FOREIGN KEY (project_uid2) REFERENCES projects_with_2_ref_1_child(uid2) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ executeRules:
+
+ - workload: FK_G2_1_no-fk_update
+ run:
+ - name: FK_G2_1_no-fk_update
+ weight: 100
+ queries:
+ - query: update projects_without_ref set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_2_no-fk_delete
+ run:
+ - name: FK_G2_2_no-fk_delete
+ weight: 100
+ queries:
+ - query: delete from projects_without_ref where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_3_1-fk_update
+ run:
+ - name: FK_G2_3_1-fk_update
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_4_1-fk_delete
+ run:
+ - name: FK_G2_4_1-fk_delete
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_5_2-fk_update
+ run:
+ - name: FK_G2_5_2-fk_update
+ weight: 100
+ queries:
+ - query: update projects_with_2_ref_1_child set uid1=uid1+100000, uid2=uid2+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_6_2-fk_delete
+ run:
+ - name: FK_G2_6_2-fk_delete
+ weight: 100
+ queries:
+ - query: delete from projects_with_2_ref_1_child where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/yugabyte/FK_G3_varyingFKdatatypes_child_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/yugabyte/FK_G3_varyingFKdatatypes_child_table_ops.yaml
new file mode 100644
index 000000000..e5e9424f4
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/yugabyte/FK_G3_varyingFKdatatypes_child_table_ops.yaml
@@ -0,0 +1,289 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_int_fk;
+ - DROP TABLE IF EXISTS employees_with_bigint_fk;
+ - DROP TABLE IF EXISTS employees_with_varchar_fk;
+
+ - DROP TABLE IF EXISTS projects_with_int_pk;
+ - DROP TABLE IF EXISTS projects_with_bigint_pk;
+ - DROP TABLE IF EXISTS projects_with_varchar_pk;
+
+ - create table projects_with_int_pk(id int primary key, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table projects_with_bigint_pk(id bigint primary key, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table projects_with_varchar_pk(id varchar(6) primary key, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+
+ - create table employees_with_int_fk(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+ - create table employees_with_bigint_fk(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id bigint not null);
+ - create table employees_with_varchar_fk(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id varchar(6) not null);
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_int_fk;
+ - DROP TABLE IF EXISTS employees_with_bigint_fk;
+ - DROP TABLE IF EXISTS employees_with_varchar_fk;
+
+ - DROP TABLE IF EXISTS projects_with_int_pk;
+ - DROP TABLE IF EXISTS projects_with_bigint_pk;
+ - DROP TABLE IF EXISTS projects_with_varchar_pk;
+ loadRules:
+ - table: projects_with_int_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_bigint_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_varchar_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryStringGen
+ params: [1, 6]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_int_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_bigint_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_varchar_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 20]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomPKString
+ params: [1,100000,6]
+
+ afterLoad:
+ - ALTER TABLE employees_with_int_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_int_pk(id);
+ - ALTER TABLE employees_with_bigint_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_bigint_pk(id);
+ - ALTER TABLE employees_with_varchar_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_varchar_pk(id);
+
+ executeRules:
+
+ - workload: FK_G3_1_varchar_insert
+ run:
+ - name: FK_G3_1_varchar_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_varchar_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomPKString
+ params: [1,100000,6]
+
+ - workload: FK_G3_2_varchar_update
+ run:
+ - name: FK_G3_2_varchar_update
+ weight: 100
+ queries:
+ - query: update employees_with_varchar_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomPKString
+ params: [1,100000,6]
+ - util: PrimaryIntGen
+ params: [1,1000000]
+
+ - workload: FK_G3_3_bigint_insert
+ run:
+ - name: FK_G3_3_bigint_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_bigint_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G3_4_bigint_update
+ run:
+ - name: FK_G3_4_bigint_update
+ weight: 100
+ queries:
+ - query: update employees_with_bigint_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G3_5_int_insert
+ run:
+ - name: FK_G3_5_int_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_int_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G3_6_int_update
+ run:
+ - name: FK_G3_6_int_update
+ weight: 100
+ queries:
+ - query: update employees_with_int_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/yugabyte/FK_G4_varyingFKcardinality_parent_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/yugabyte/FK_G4_varyingFKcardinality_parent_table_ops.yaml
new file mode 100644
index 000000000..d5d6e3385
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/yugabyte/FK_G4_varyingFKcardinality_parent_table_ops.yaml
@@ -0,0 +1,341 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_10_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_10_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_100_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_100_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1000_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1000_cardinality;
+
+ - create table projects_with_1_ref_1_to_1_cardinality(id int primary key, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table employees_with_1_fk_1_to_1_cardinality(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+
+ - create table projects_with_1_ref_1_to_10_cardinality(id int primary key, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table employees_with_1_fk_1_to_10_cardinality(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+
+ - create table projects_with_1_ref_1_to_100_cardinality(id int primary key, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table employees_with_1_fk_1_to_100_cardinality(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+
+ - create table projects_with_1_ref_1_to_1000_cardinality(id int primary key, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2));
+ - create table employees_with_1_fk_1_to_1000_cardinality(id int primary key,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null);
+
+ - CREATE INDEX project_uid_index_1_to_1_cardinality ON employees_with_1_fk_1_to_1_cardinality (project_id);
+ - CREATE INDEX project_uid_index_1_to_10_cardinality ON employees_with_1_fk_1_to_10_cardinality (project_id);
+ - CREATE INDEX project_uid_index_1_to_100_cardinality ON employees_with_1_fk_1_to_100_cardinality (project_id);
+ - CREATE INDEX project_uid_index_1_to_1000_cardinality ON employees_with_1_fk_1_to_1000_cardinality (project_id);
+
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_10_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_10_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_100_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_100_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1000_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1000_cardinality;
+ loadRules:
+ - table: projects_with_1_ref_1_to_1_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_1_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: projects_with_1_ref_1_to_10_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_10_cardinality
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: projects_with_1_ref_1_to_100_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_100_cardinality
+ rows: 10000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: projects_with_1_ref_1_to_1000_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_1000_cardinality
+ rows: 100000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ afterLoad:
+ - ALTER TABLE employees_with_1_fk_1_to_1_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_1_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_1_fk_1_to_10_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_10_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_1_fk_1_to_100_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_100_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_1_fk_1_to_1000_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_1000_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ executeRules:
+
+ - workload: FK_G4_1_update_1_to_1_cardinality
+ run:
+ - name: FK_G4_1_update_1_to_1_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_1_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_2_delete_1_to_1_cardinality
+ run:
+ - name: FK_G4_2_delete_1_to_1_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_1_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_3_update_1_to_10_cardinality
+ run:
+ - name: FK_G4_3_update_1_to_10_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_10_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_4_delete_1_to_10_cardinality
+ run:
+ - name: FK_G4_4_delete_1_to_10_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_10_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_5_update_1_to_100_cardinality
+ run:
+ - name: FK_G4_5_update_1_to_100_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_100_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_6_delete_1_to_100_cardinality
+ run:
+ - name: FK_G4_6_delete_1_to_100_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_100_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_7_update_1_to_1000_cardinality
+ run:
+ - name: FK_G4_7_update_1_to_1000_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_1000_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_8_delete_1_to_1000_cardinality
+ run:
+ - name: FK_G4_8_delete_1_to_1000_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_1000_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/yugabyte_range/FK_G1_varyingFKconstraint_child_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/yugabyte_range/FK_G1_varyingFKconstraint_child_table_ops.yaml
new file mode 100644
index 000000000..be2401ec0
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/yugabyte_range/FK_G1_varyingFKconstraint_child_table_ops.yaml
@@ -0,0 +1,365 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_fk_on_pk;
+ - DROP TABLE IF EXISTS employees_with_fk_on_uniqueCol;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+ - DROP TABLE IF EXISTS employees_without_fk;
+
+ - DROP TABLE IF EXISTS projects_with_pk;
+ - DROP TABLE IF EXISTS projects_with_uniqueCol;
+ - DROP TABLE IF EXISTS projects_with_2_fk;
+
+ - create table projects_with_pk(id int, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table projects_with_uniqueCol(id int, uid int unique, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table projects_with_2_fk(id int, uid int unique, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+
+ - create table employees_with_fk_on_pk(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+ - create table employees_with_fk_on_uniqueCol(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+ - create table employees_with_2_fk_1_parent(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id1 int not null, project_id2 int not null, primary key(id asc));
+ - create table employees_without_fk(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_fk_on_pk;
+ - DROP TABLE IF EXISTS employees_with_fk_on_uniqueCol;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+ - DROP TABLE IF EXISTS employees_without_fk;
+
+ - DROP TABLE IF EXISTS projects_with_pk;
+ - DROP TABLE IF EXISTS projects_with_uniqueCol;
+ - DROP TABLE IF EXISTS projects_with_2_fk;
+ loadRules:
+ - table: projects_with_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_uniqueCol
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_2_fk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_without_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_fk_on_pk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_fk_on_uniqueCol
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_2_fk_1_parent
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id1
+ util: RandomInt
+ params: [1,100000]
+ - name: project_id2
+ util: RandomInt
+ params: [1,100000]
+
+ afterLoad:
+ - ALTER TABLE employees_with_fk_on_pk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_pk(id);
+ - ALTER TABLE employees_with_fk_on_uniqueCol add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_uniqueCol(uid);
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project1 FOREIGN KEY (project_id1) REFERENCES projects_with_2_fk(id);
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project2 FOREIGN KEY (project_id2) REFERENCES projects_with_2_fk(uid);
+
+ executeRules:
+
+ - workload: FK_G1_1_fk-on-pk_insert
+ run:
+ - name: FK_G1_1_fk-on-pk_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_fk_on_pk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_2_fk-on-pk_update
+ run:
+ - name: FK_G1_2_fk-on-pk_update
+ weight: 100
+ queries:
+ - query: update employees_with_fk_on_pk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G1_3_fk-on-uniqueCol_insert
+ run:
+ - name: FK_G1_3_fk-on-uniqueCol_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_fk_on_uniqueCol values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_4_fk-on-uniqueCol_update
+ run:
+ - name: FK_G1_4_fk-on-uniqueCol_update
+ weight: 100
+ queries:
+ - query: update employees_with_fk_on_uniqueCol set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G1_5_no-fk_insert
+ run:
+ - name: FK_G1_5_no-fk_insert
+ weight: 100
+ queries:
+ - query: insert into employees_without_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_6_no-fk_update
+ run:
+ - name: FK_G1_6_no-fk_update
+ weight: 100
+ queries:
+ - query: update employees_without_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G1_7_2fk_insert
+ run:
+ - name: FK_G1_7_2fk_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_2_fk_1_parent values(?,?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G1_8_2fk_update
+ run:
+ - name: FK_G1_8_2fk_update
+ weight: 100
+ queries:
+ - query: update employees_with_2_fk_1_parent set project_id1=?, project_id2=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/yugabyte_range/FK_G2_varyingFKcount_parent_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/yugabyte_range/FK_G2_varyingFKcount_parent_table_ops.yaml
new file mode 100644
index 000000000..2c6b4e6fd
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/yugabyte_range/FK_G2_varyingFKcount_parent_table_ops.yaml
@@ -0,0 +1,238 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_1_fk;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+
+ - DROP TABLE IF EXISTS projects_with_1_ref;
+ - DROP TABLE IF EXISTS projects_with_2_ref_1_child;
+ - DROP TABLE IF EXISTS projects_without_ref;
+
+ - create table projects_with_1_ref(id int, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table projects_with_2_ref_1_child(id int, uid1 int unique, uid2 int unique, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table projects_without_ref(id int, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+
+ - create table employees_with_1_fk(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+ - create table employees_with_2_fk_1_parent(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_uid1 int not null, project_uid2 int not null, primary key(id asc));
+
+ - CREATE INDEX project_uid_index ON employees_with_1_fk (project_id);
+ - CREATE INDEX project_uid1_index ON employees_with_2_fk_1_parent (project_uid1);
+ - CREATE INDEX project_uid2_index ON employees_with_2_fk_1_parent (project_uid2);
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_1_fk;
+ - DROP TABLE IF EXISTS employees_with_2_fk_1_parent;
+
+ - DROP TABLE IF EXISTS projects_with_1_ref;
+ - DROP TABLE IF EXISTS projects_with_2_ref_1_child;
+ - DROP TABLE IF EXISTS projects_without_ref;
+ loadRules:
+ - table: projects_with_1_ref
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_without_ref
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_2_ref_1_child
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid1
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid2
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: employees_with_2_fk_1_parent
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_uid1
+ util: CyclicSeqIntGen
+ params: [1,100000]
+ - name: project_uid2
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ afterLoad:
+ - ALTER TABLE employees_with_1_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project1 FOREIGN KEY (project_uid1) REFERENCES projects_with_2_ref_1_child(uid1) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_2_fk_1_parent add CONSTRAINT fk_project2 FOREIGN KEY (project_uid2) REFERENCES projects_with_2_ref_1_child(uid2) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ executeRules:
+
+ - workload: FK_G2_1_no-fk_update
+ run:
+ - name: FK_G2_1_no-fk_update
+ weight: 100
+ queries:
+ - query: update projects_without_ref set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_2_no-fk_delete
+ run:
+ - name: FK_G2_2_no-fk_delete
+ weight: 100
+ queries:
+ - query: delete from projects_without_ref where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_3_1-fk_update
+ run:
+ - name: FK_G2_3_1-fk_update
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_4_1-fk_delete
+ run:
+ - name: FK_G2_4_1-fk_delete
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_5_2-fk_update
+ run:
+ - name: FK_G2_5_2-fk_update
+ weight: 100
+ queries:
+ - query: update projects_with_2_ref_1_child set uid1=uid1+100000, uid2=uid2+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G2_6_2-fk_delete
+ run:
+ - name: FK_G2_6_2-fk_delete
+ weight: 100
+ queries:
+ - query: delete from projects_with_2_ref_1_child where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/yugabyte_range/FK_G3_varyingFKdatatypes_child_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/yugabyte_range/FK_G3_varyingFKdatatypes_child_table_ops.yaml
new file mode 100644
index 000000000..243314c08
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/yugabyte_range/FK_G3_varyingFKdatatypes_child_table_ops.yaml
@@ -0,0 +1,289 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_int_fk;
+ - DROP TABLE IF EXISTS employees_with_bigint_fk;
+ - DROP TABLE IF EXISTS employees_with_varchar_fk;
+
+ - DROP TABLE IF EXISTS projects_with_int_pk;
+ - DROP TABLE IF EXISTS projects_with_bigint_pk;
+ - DROP TABLE IF EXISTS projects_with_varchar_pk;
+
+ - create table projects_with_int_pk(id int, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table projects_with_bigint_pk(id bigint, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table projects_with_varchar_pk(id varchar(6), name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+
+ - create table employees_with_int_fk(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+ - create table employees_with_bigint_fk(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id bigint not null, primary key(id asc));
+ - create table employees_with_varchar_fk(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id varchar(6) not null, primary key(id asc));
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_int_fk;
+ - DROP TABLE IF EXISTS employees_with_bigint_fk;
+ - DROP TABLE IF EXISTS employees_with_varchar_fk;
+
+ - DROP TABLE IF EXISTS projects_with_int_pk;
+ - DROP TABLE IF EXISTS projects_with_bigint_pk;
+ - DROP TABLE IF EXISTS projects_with_varchar_pk;
+ loadRules:
+ - table: projects_with_int_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_bigint_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: projects_with_varchar_pk
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryStringGen
+ params: [1, 6]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_int_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_bigint_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomInt
+ params: [1,100000]
+
+ - table: employees_with_varchar_fk
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 20]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: RandomPKString
+ params: [1,100000,6]
+
+ afterLoad:
+ - ALTER TABLE employees_with_int_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_int_pk(id);
+ - ALTER TABLE employees_with_bigint_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_bigint_pk(id);
+ - ALTER TABLE employees_with_varchar_fk add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_varchar_pk(id);
+
+ executeRules:
+
+ - workload: FK_G3_1_varchar_insert
+ run:
+ - name: FK_G3_1_varchar_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_varchar_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomPKString
+ params: [1,100000,6]
+
+ - workload: FK_G3_2_varchar_update
+ run:
+ - name: FK_G3_2_varchar_update
+ weight: 100
+ queries:
+ - query: update employees_with_varchar_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomPKString
+ params: [1,100000,6]
+ - util: PrimaryIntGen
+ params: [1,1000000]
+
+ - workload: FK_G3_3_bigint_insert
+ run:
+ - name: FK_G3_3_bigint_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_bigint_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G3_4_bigint_update
+ run:
+ - name: FK_G3_4_bigint_update
+ weight: 100
+ queries:
+ - query: update employees_with_bigint_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
+
+ - workload: FK_G3_5_int_insert
+ run:
+ - name: FK_G3_5_int_insert
+ weight: 100
+ queries:
+ - query: insert into employees_with_int_fk values(?,?,?,?,?,?,?);
+ bindings:
+ - util: PrimaryIntGen
+ params: [1000001, 9000000]
+ - util: RandomAString
+ params: [1, 20]
+ - util: RandomAString
+ params: [1, 100]
+ - util: RandomNstring
+ params: [10, 15]
+ - util: RandomAString
+ params: [1, 10]
+ - util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - util: RandomInt
+ params: [1,100000]
+
+ - workload: FK_G3_6_int_update
+ run:
+ - name: FK_G3_6_int_update
+ weight: 100
+ queries:
+ - query: update employees_with_int_fk set project_id=? where id=?;
+ bindings:
+ - util: RandomInt
+ params: [1, 100000]
+ - util: PrimaryIntGen
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/foreign_key/yugabyte_range/FK_G4_varyingFKcardinality_parent_table_ops.yaml b/config/yugabyte/regression_pipelines/foreign_key/yugabyte_range/FK_G4_varyingFKcardinality_parent_table_ops.yaml
new file mode 100644
index 000000000..55c60e253
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/foreign_key/yugabyte_range/FK_G4_varyingFKcardinality_parent_table_ops.yaml
@@ -0,0 +1,341 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+analyze_on_all_tables: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_10_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_10_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_100_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_100_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1000_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1000_cardinality;
+
+ - create table projects_with_1_ref_1_to_1_cardinality(id int, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table employees_with_1_fk_1_to_1_cardinality(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+
+ - create table projects_with_1_ref_1_to_10_cardinality(id int, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table employees_with_1_fk_1_to_10_cardinality(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+
+ - create table projects_with_1_ref_1_to_100_cardinality(id int, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table employees_with_1_fk_1_to_100_cardinality(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+
+ - create table projects_with_1_ref_1_to_1000_cardinality(id int, uid int unique not null, name varchar(20) not null, start_date date not null, end_date date, budget decimal(10,2), primary key(id asc));
+ - create table employees_with_1_fk_1_to_1000_cardinality(id int,name varchar(20) not null, email varchar(100) not null, phone varchar(15), position varchar(10), salary decimal(10,2), project_id int not null, primary key(id asc));
+
+ - CREATE INDEX project_uid_index_1_to_1_cardinality ON employees_with_1_fk_1_to_1_cardinality (project_id);
+ - CREATE INDEX project_uid_index_1_to_10_cardinality ON employees_with_1_fk_1_to_10_cardinality (project_id);
+ - CREATE INDEX project_uid_index_1_to_100_cardinality ON employees_with_1_fk_1_to_100_cardinality (project_id);
+ - CREATE INDEX project_uid_index_1_to_1000_cardinality ON employees_with_1_fk_1_to_1000_cardinality (project_id);
+
+ cleanup:
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_10_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_10_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_100_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_100_cardinality;
+
+ - DROP TABLE IF EXISTS employees_with_1_fk_1_to_1000_cardinality;
+ - DROP TABLE IF EXISTS projects_with_1_ref_1_to_1000_cardinality;
+ loadRules:
+ - table: projects_with_1_ref_1_to_1_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_1_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: projects_with_1_ref_1_to_10_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_10_cardinality
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: projects_with_1_ref_1_to_100_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_100_cardinality
+ rows: 10000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ - table: projects_with_1_ref_1_to_1000_cardinality
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: uid
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: start_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: end_date
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: budget
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+
+ - table: employees_with_1_fk_1_to_1000_cardinality
+ rows: 100000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000000]
+ - name: name
+ util: RandomAString
+ params: [1, 20]
+ - name: email
+ util: RandomAString
+ params: [1, 100]
+ - name: phone
+ util: RandomNstring
+ params: [10, 15]
+ - name: position
+ util: RandomAString
+ params: [1, 10]
+ - name: salary
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: project_id
+ util: CyclicSeqIntGen
+ params: [1,100000]
+
+ afterLoad:
+ - ALTER TABLE employees_with_1_fk_1_to_1_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_1_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_1_fk_1_to_10_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_10_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_1_fk_1_to_100_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_100_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ - ALTER TABLE employees_with_1_fk_1_to_1000_cardinality add CONSTRAINT fk_project FOREIGN KEY (project_id) REFERENCES projects_with_1_ref_1_to_1000_cardinality(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ executeRules:
+
+ - workload: FK_G4_1_update_1_to_1_cardinality
+ run:
+ - name: FK_G4_1_update_1_to_1_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_1_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_2_delete_1_to_1_cardinality
+ run:
+ - name: FK_G4_2_delete_1_to_1_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_1_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_3_update_1_to_10_cardinality
+ run:
+ - name: FK_G4_3_update_1_to_10_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_10_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_4_delete_1_to_10_cardinality
+ run:
+ - name: FK_G4_4_delete_1_to_10_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_10_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_5_update_1_to_100_cardinality
+ run:
+ - name: FK_G4_5_update_1_to_100_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_100_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_6_delete_1_to_100_cardinality
+ run:
+ - name: FK_G4_6_delete_1_to_100_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_100_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_7_update_1_to_1000_cardinality
+ run:
+ - name: FK_G4_7_update_1_to_1000_cardinality
+ weight: 100
+ queries:
+ - query: update projects_with_1_ref_1_to_1000_cardinality set uid=uid+100000 where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
+
+ - workload: FK_G4_8_delete_1_to_1000_cardinality
+ run:
+ - name: FK_G4_8_delete_1_to_1000_cardinality
+ weight: 100
+ queries:
+ - query: delete from projects_with_1_ref_1_to_1000_cardinality where id=?;
+ bindings:
+ - util: PrimaryIntGen
+ params: [1, 100000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING10_join_groupby_orderby.yaml b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING10_join_groupby_orderby.yaml
new file mode 100644
index 000000000..ee7a2d5ec
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING10_join_groupby_orderby.yaml
@@ -0,0 +1,130 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{ endpoint }}:5432/postgres?sslmode=require
+username: {{ username }}
+password: {{ password }}
+isolation: TRANSACTION_REPEATABLE_READ
+batchsize: 128
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M_3;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE TABLE pkeyBigint1M_3(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card2_1);
+ - CREATE INDEX ON pkeyBigint1M_2(col_bigint_card2_1);
+ - CREATE INDEX ON pkeyBigint1M_3(col_bigint_card2_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M_3;
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 3
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000,2000002,2000003,2000004,2000005,2000006,2000007,2000008,2000009,2000010,2000011,2000012,2000013,2000014,2000015,2000016,2000017,2000018,2000019,2000020,2000021,2000022,2000023,2000024,2000025,2000026,2000027,2000028,2000029,2000030,2000031,2000032,2000033,2000034,2000035,2000036,2000037,2000038,2000039,2000040,2000041,2000042,2000043,2000044,2000045,2000046,2000047,2000048,2000049,2000050,2000051,2000052,2000053,2000054,2000055,2000056,2000057,2000058,2000059,2000060,2000061,2000062,2000063,2000064,2000065,2000066,2000067,2000068,2000069,2000070,2000071,2000072,2000073,2000074,2000075,2000076,2000077,2000078,2000079,2000080,2000081,2000082,2000083,2000084,2000085,2000086,2000087,2000088,2000089,2000090,2000091,2000092,2000093,2000094,2000095,2000096,2000097,2000098,2000099,2000100,2000101,2000102,2000103,2000104,2000105,2000106,2000107,2000108,2000109,2000110,2000111,2000112,2000113,2000114,2000115,2000116,2000117,2000118,2000119,2000120,2000121,2000122,2000123,2000124,2000125,2000126,2000127,2000128,2000129,2000130,2000131,2000132,2000133,2000134,2000135,2000136,2000137,2000138,2000139,2000140,2000141,2000142,2000143,2000144,2000145,2000146,2000147,2000148,2000149,2000150,2000151,2000152,2000153,2000154,2000155,2000156,2000157,2000158,2000159,2000160,2000161,2000162,2000163,2000164,2000165,2000166,2000167,2000168,2000169,2000170,2000171,2000172,2000173,2000174,2000175,2000176,2000177,2000178,2000179,2000180,2000181,2000182,2000183,2000184,2000185,2000186,2000187,2000188,2000189,2000190,2000191,2000192,2000193,2000194,2000195,2000196,2000197,2000198,2000199,2000200,2000201,2000202,2000203,2000204,2000205,2000206,2000207,2000208,2000209,2000210,2000211,2000212,2000213,2000214,2000215,2000216,2000217,2000218,2000219,2000220,2000221,2000222,2000223,2000224,2000225,2000226,2000227,2000228,2000229,2000230,2000231,2000232,2000233,2000234,2000235,2000236,2000237,2000238,2000239,2000240,2000241,2000242,2000243,2000244,2000245,2000246,2000247,2000248,2000249,2000250,2000251,2000252,2000253,2000254,2000255,2000256,2000257,2000258,2000259,2000260,2000261,2000262,2000263,2000264,2000265,2000266,2000267,2000268,2000269,2000270,2000271,2000272,2000273,2000274,2000275,2000276,2000277,2000278,2000279,2000280,2000281,2000282,2000283,2000284,2000285,2000286,2000287,2000288,2000289,2000290,2000291,2000292,2000293,2000294,2000295,2000296,2000297,2000298,2000299,2000300,2000301,2000302,2000303,2000304,2000305,2000306,2000307,2000308,2000309,2000310,2000311,2000312,2000313,2000314,2000315,2000316,2000317,2000318,2000319,2000320,2000321,2000322,2000323,2000324,2000325,2000326,2000327,2000328,2000329,2000330,2000331,2000332,2000333,2000334,2000335,2000336,2000337,2000338,2000339,2000340,2000341,2000342,2000343,2000344,2000345,2000346,2000347,2000348,2000349,2000350,2000351,2000352,2000353,2000354,2000355,2000356,2000357,2000358,2000359,2000360,2000361,2000362,2000363,2000364,2000365,2000366,2000367,2000368,2000369,2000370,2000371,2000372,2000373,2000374,2000375,2000376,2000377,2000378,2000379,2000380,2000381,2000382,2000383,2000384,2000385,2000386,2000387,2000388,2000389,2000390,2000391,2000392,2000393,2000394,2000395,2000396,2000397,2000398,2000399,2000400,2000401,2000402,2000403,2000404,2000405,2000406,2000407,2000408,2000409,2000410,2000411,2000412,2000413,2000414,2000415,2000416,2000417,2000418,2000419,2000420,2000421,2000422,2000423,2000424,2000425,2000426,2000427,2000428,2000429,2000430,2000431,2000432,2000433,2000434,2000435,2000436,2000437,2000438,2000439,2000440,2000441,2000442,2000443,2000444,2000445,2000446,2000447,2000448,2000449,2000450,2000451,2000452,2000453,2000454,2000455,2000456,2000457,2000458,2000459,2000460,2000461,2000462,2000463,2000464,2000465,2000466,2000467,2000468,2000469,2000470,2000471,2000472,2000473,2000474,2000475,2000476,2000477,2000478,2000479,2000480,2000481,2000482,2000483,2000484,2000485,2000486,2000487,2000488,2000489,2000490,2000491,2000492,2000493,2000494,2000495,2000496,2000497,2000498,2000499,2000500,2000501,2000502,2000503,2000504,2000505,2000506,2000507,2000508,2000509,2000510,2000511,2000512,2000513,2000514,2000515,2000516,2000517,2000518,2000519,2000520,2000521,2000522,2000523,2000524,2000525,2000526,2000527,2000528,2000529,2000530,2000531,2000532,2000533,2000534,2000535,2000536,2000537,2000538,2000539,2000540,2000541,2000542,2000543,2000544,2000545,2000546,2000547,2000548,2000549,2000550,2000551,2000552,2000553,2000554,2000555,2000556,2000557,2000558,2000559,2000560,2000561,2000562,2000563,2000564,2000565,2000566,2000567,2000568,2000569,2000570,2000571,2000572,2000573,2000574,2000575,2000576,2000577,2000578,2000579,2000580,2000581,2000582,2000583,2000584,2000585,2000586,2000587,2000588,2000589,2000590,2000591,2000592,2000593,2000594,2000595,2000596,2000597,2000598,2000599,2000600,2000601,2000602,2000603,2000604,2000605,2000606,2000607,2000608,2000609,2000610,2000611,2000612,2000613,2000614,2000615,2000616,2000617,2000618,2000619,2000620,2000621,2000622,2000623,2000624,2000625,2000626,2000627,2000628,2000629,2000630,2000631,2000632,2000633,2000634,2000635,2000636,2000637,2000638,2000639,2000640,2000641,2000642,2000643,2000644,2000645,2000646,2000647,2000648,2000649,2000650,2000651,2000652,2000653,2000654,2000655,2000656,2000657,2000658,2000659,2000660,2000661,2000662,2000663,2000664,2000665,2000666,2000667,2000668,2000669,2000670,2000671,2000672,2000673,2000674,2000675,2000676,2000677,2000678,2000679,2000680,2000681,2000682,2000683,2000684,2000685,2000686,2000687,2000688,2000689,2000690,2000691,2000692,2000693,2000694,2000695,2000696,2000697,2000698,2000699,2000700,2000701,2000702,2000703,2000704,2000705,2000706,2000707,2000708,2000709,2000710,2000711,2000712,2000713,2000714,2000715,2000716,2000717,2000718,2000719,2000720,2000721,2000722,2000723,2000724,2000725,2000726,2000727,2000728,2000729,2000730,2000731,2000732,2000733,2000734,2000735,2000736,2000737,2000738,2000739,2000740,2000741,2000742,2000743,2000744,2000745,2000746,2000747,2000748,2000749,2000750,2000751,2000752,2000753,2000754,2000755,2000756,2000757,2000758,2000759,2000760,2000761,2000762,2000763,2000764,2000765,2000766,2000767,2000768,2000769,2000770,2000771,2000772,2000773,2000774,2000775,2000776,2000777,2000778,2000779,2000780,2000781,2000782,2000783,2000784,2000785,2000786,2000787,2000788,2000789,2000790,2000791,2000792,2000793,2000794,2000795,2000796,2000797,2000798,2000799,2000800,2000801,2000802,2000803,2000804,2000805,2000806,2000807,2000808,2000809,2000810,2000811,2000812,2000813,2000814,2000815,2000816,2000817,2000818,2000819,2000820,2000821,2000822,2000823,2000824,2000825,2000826,2000827,2000828,2000829,2000830,2000831,2000832,2000833,2000834,2000835,2000836,2000837,2000838,2000839,2000840,2000841,2000842,2000843,2000844,2000845,2000846,2000847,2000848,2000849,2000850,2000851,2000852,2000853,2000854,2000855,2000856,2000857,2000858,2000859,2000860,2000861,2000862,2000863,2000864,2000865,2000866,2000867,2000868,2000869,2000870,2000871,2000872,2000873,2000874,2000875,2000876,2000877,2000878,2000879,2000880,2000881,2000882,2000883,2000884,2000885,2000886,2000887,2000888,2000889,2000890,2000891,2000892,2000893,2000894,2000895,2000896,2000897,2000898,2000899,2000900,2000901,2000902,2000903,2000904,2000905,2000906,2000907,2000908,2000909,2000910,2000911,2000912,2000913,2000914,2000915,2000916,2000917,2000918,2000919,2000920,2000921,2000922,2000923,2000924,2000925,2000926,2000927,2000928,2000929,2000930,2000931,2000932,2000933,2000934,2000935,2000936,2000937,2000938,2000939,2000940,2000941,2000942,2000943,2000944,2000945,2000946,2000947,2000948,2000949,2000950,2000951,2000952,2000953,2000954,2000955,2000956,2000957,2000958,2000959,2000960,2000961,2000962,2000963,2000964,2000965,2000966,2000967,2000968,2000969,2000970,2000971,2000972,2000973,2000974,2000975,2000976,2000977,2000978,2000979,2000980,2000981,2000982,2000983,2000984,2000985,2000986,2000987,2000988,2000989,2000990,2000991,2000992,2000993,2000994,2000995,2000996,2000997,2000998,2000999,2001000,3000001,3000002,3000003,3000004,3000005,3000006,3000007,3000008,3000009,3000010,3000011,3000012,3000013,3000014,3000015,3000016,3000017,3000018,3000019,3000020,3000021,3000022,3000023,3000024,3000025,3000026,3000027,3000028,3000029,3000030,3000031,3000032,3000033,3000034,3000035,3000036,3000037,3000038,3000039,3000040,3000041,3000042,3000043,3000044,3000045,3000046,3000047,3000048,3000049,3000050,3000051,3000052,3000053,3000054,3000055,3000056,3000057,3000058,3000059,3000060,3000061,3000062,3000063,3000064,3000065,3000066,3000067,3000068,3000069,3000070,3000071,3000072,3000073,3000074,3000075,3000076,3000077,3000078,3000079,3000080,3000081,3000082,3000083,3000084,3000085,3000086,3000087,3000088,3000089,3000090,3000091,3000092,3000093,3000094,3000095,3000096,3000097,3000098,3000099,3000100,3000101,3000102,3000103,3000104,3000105,3000106,3000107,3000108,3000109,3000110,3000111,3000112,3000113,3000114,3000115,3000116,3000117,3000118,3000119,3000120,3000121,3000122,3000123,3000124,3000125,3000126,3000127,3000128,3000129,3000130,3000131,3000132,3000133,3000134,3000135,3000136,3000137,3000138,3000139,3000140,3000141,3000142,3000143,3000144,3000145,3000146,3000147,3000148,3000149,3000150,3000151,3000152,3000153,3000154,3000155,3000156,3000157,3000158,3000159,3000160,3000161,3000162,3000163,3000164,3000165,3000166,3000167,3000168,3000169,3000170,3000171,3000172,3000173,3000174,3000175,3000176,3000177,3000178,3000179,3000180,3000181,3000182,3000183,3000184,3000185,3000186,3000187,3000188,3000189,3000190,3000191,3000192,3000193,3000194,3000195,3000196,3000197,3000198,3000199,3000200,3000201,3000202,3000203,3000204,3000205,3000206,3000207,3000208,3000209,3000210,3000211,3000212,3000213,3000214,3000215,3000216,3000217,3000218,3000219,3000220,3000221,3000222,3000223,3000224,3000225,3000226,3000227,3000228,3000229,3000230,3000231,3000232,3000233,3000234,3000235,3000236,3000237,3000238,3000239,3000240,3000241,3000242,3000243,3000244,3000245,3000246,3000247,3000248,3000249,3000250,3000251,3000252,3000253,3000254,3000255,3000256,3000257,3000258,3000259,3000260,3000261,3000262,3000263,3000264,3000265,3000266,3000267,3000268,3000269,3000270,3000271,3000272,3000273,3000274,3000275,3000276,3000277,3000278,3000279,3000280,3000281,3000282,3000283,3000284,3000285,3000286,3000287,3000288,3000289,3000290,3000291,3000292,3000293,3000294,3000295,3000296,3000297,3000298,3000299,3000300,3000301,3000302,3000303,3000304,3000305,3000306,3000307,3000308,3000309,3000310,3000311,3000312,3000313,3000314,3000315,3000316,3000317,3000318,3000319,3000320,3000321,3000322,3000323,3000324,3000325,3000326,3000327,3000328,3000329,3000330,3000331,3000332,3000333,3000334,3000335,3000336,3000337,3000338,3000339,3000340,3000341,3000342,3000343,3000344,3000345,3000346,3000347,3000348,3000349,3000350,3000351,3000352,3000353,3000354,3000355,3000356,3000357,3000358,3000359,3000360,3000361,3000362,3000363,3000364,3000365,3000366,3000367,3000368,3000369,3000370,3000371,3000372,3000373,3000374,3000375,3000376,3000377,3000378,3000379,3000380,3000381,3000382,3000383,3000384,3000385,3000386,3000387,3000388,3000389,3000390,3000391,3000392,3000393,3000394,3000395,3000396,3000397,3000398,3000399,3000400,3000401,3000402,3000403,3000404,3000405,3000406,3000407,3000408,3000409,3000410,3000411,3000412,3000413,3000414,3000415,3000416,3000417,3000418,3000419,3000420,3000421,3000422,3000423,3000424,3000425,3000426,3000427,3000428,3000429,3000430,3000431,3000432,3000433,3000434,3000435,3000436,3000437,3000438,3000439,3000440,3000441,3000442,3000443,3000444,3000445,3000446,3000447,3000448,3000449,3000450,3000451,3000452,3000453,3000454,3000455,3000456,3000457,3000458,3000459,3000460,3000461,3000462,3000463,3000464,3000465,3000466,3000467,3000468,3000469,3000470,3000471,3000472,3000473,3000474,3000475,3000476,3000477,3000478,3000479,3000480,3000481,3000482,3000483,3000484,3000485,3000486,3000487,3000488,3000489,3000490,3000491,3000492,3000493,3000494,3000495,3000496,3000497,3000498,3000499,3000500,3000501,3000502,3000503,3000504,3000505,3000506,3000507,3000508,3000509,3000510,3000511,3000512,3000513,3000514,3000515,3000516,3000517,3000518,3000519,3000520,3000521,3000522,3000523,3000524,3000525,3000526,3000527,3000528,3000529,3000530,3000531,3000532,3000533,3000534,3000535,3000536,3000537,3000538,3000539,3000540,3000541,3000542,3000543,3000544,3000545,3000546,3000547,3000548,3000549,3000550,3000551,3000552,3000553,3000554,3000555,3000556,3000557,3000558,3000559,3000560,3000561,3000562,3000563,3000564,3000565,3000566,3000567,3000568,3000569,3000570,3000571,3000572,3000573,3000574,3000575,3000576,3000577,3000578,3000579,3000580,3000581,3000582,3000583,3000584,3000585,3000586,3000587,3000588,3000589,3000590,3000591,3000592,3000593,3000594,3000595,3000596,3000597,3000598,3000599,3000600,3000601,3000602,3000603,3000604,3000605,3000606,3000607,3000608,3000609,3000610,3000611,3000612,3000613,3000614,3000615,3000616,3000617,3000618,3000619,3000620,3000621,3000622,3000623,3000624,3000625,3000626,3000627,3000628,3000629,3000630,3000631,3000632,3000633,3000634,3000635,3000636,3000637,3000638,3000639,3000640,3000641,3000642,3000643,3000644,3000645,3000646,3000647,3000648,3000649,3000650,3000651,3000652,3000653,3000654,3000655,3000656,3000657,3000658,3000659,3000660,3000661,3000662,3000663,3000664,3000665,3000666,3000667,3000668,3000669,3000670,3000671,3000672,3000673,3000674,3000675,3000676,3000677,3000678,3000679,3000680,3000681,3000682,3000683,3000684,3000685,3000686,3000687,3000688,3000689,3000690,3000691,3000692,3000693,3000694,3000695,3000696,3000697,3000698,3000699,3000700,3000701,3000702,3000703,3000704,3000705,3000706,3000707,3000708,3000709,3000710,3000711,3000712,3000713,3000714,3000715,3000716,3000717,3000718,3000719,3000720,3000721,3000722,3000723,3000724,3000725,3000726,3000727,3000728,3000729,3000730,3000731,3000732,3000733,3000734,3000735,3000736,3000737,3000738,3000739,3000740,3000741,3000742,3000743,3000744,3000745,3000746,3000747,3000748,3000749,3000750,3000751,3000752,3000753,3000754,3000755,3000756,3000757,3000758,3000759,3000760,3000761,3000762,3000763,3000764,3000765,3000766,3000767,3000768,3000769,3000770,3000771,3000772,3000773,3000774,3000775,3000776,3000777,3000778,3000779,3000780,3000781,3000782,3000783,3000784,3000785,3000786,3000787,3000788,3000789,3000790,3000791,3000792,3000793,3000794,3000795,3000796,3000797,3000798,3000799,3000800,3000801,3000802,3000803,3000804,3000805,3000806,3000807,3000808,3000809,3000810,3000811,3000812,3000813,3000814,3000815,3000816,3000817,3000818,3000819,3000820,3000821,3000822,3000823,3000824,3000825,3000826,3000827,3000828,3000829,3000830,3000831,3000832,3000833,3000834,3000835,3000836,3000837,3000838,3000839,3000840,3000841,3000842,3000843,3000844,3000845,3000846,3000847,3000848,3000849,3000850,3000851,3000852,3000853,3000854,3000855,3000856,3000857,3000858,3000859,3000860,3000861,3000862,3000863,3000864,3000865,3000866,3000867,3000868,3000869,3000870,3000871,3000872,3000873,3000874,3000875,3000876,3000877,3000878,3000879,3000880,3000881,3000882,3000883,3000884,3000885,3000886,3000887,3000888,3000889,3000890,3000891,3000892,3000893,3000894,3000895,3000896,3000897,3000898,3000899,3000900,3000901,3000902,3000903,3000904,3000905,3000906,3000907,3000908,3000909,3000910,3000911,3000912,3000913,3000914,3000915,3000916,3000917,3000918,3000919,3000920,3000921,3000922,3000923,3000924,3000925,3000926,3000927,3000928,3000929,3000930,3000931,3000932,3000933,3000934,3000935,3000936,3000937,3000938,3000939,3000940,3000941,3000942,3000943,3000944,3000945,3000946,3000947,3000948,3000949,3000950,3000951,3000952,3000953,3000954,3000955,3000956,3000957,3000958,3000959,3000960,3000961,3000962,3000963,3000964,3000965,3000966,3000967,3000968,3000969,3000970,3000971,3000972,3000973,3000974,3000975,3000976,3000977,3000978,3000979,3000980,3000981,3000982,3000983,3000984,3000985,3000986,3000987,3000988,3000989,3000990,3000991,3000992,3000993,3000994,3000995,3000996,3000997,3000998,3000999,3001000,4000001,4000002,4000003,4000004,4000005,4000006,4000007,4000008,4000009,4000010,4000011,4000012,4000013,4000014,4000015,4000016,4000017,4000018,4000019,4000020,4000021,4000022,4000023,4000024,4000025,4000026,4000027,4000028,4000029,4000030,4000031,4000032,4000033,4000034,4000035,4000036,4000037,4000038,4000039,4000040,4000041,4000042,4000043,4000044,4000045,4000046,4000047,4000048,4000049,4000050,4000051,4000052,4000053,4000054,4000055,4000056,4000057,4000058,4000059,4000060,4000061,4000062,4000063,4000064,4000065,4000066,4000067,4000068,4000069,4000070,4000071,4000072,4000073,4000074,4000075,4000076,4000077,4000078,4000079,4000080,4000081,4000082,4000083,4000084,4000085,4000086,4000087,4000088,4000089,4000090,4000091,4000092,4000093,4000094,4000095,4000096,4000097,4000098,4000099,4000100,4000101,4000102,4000103,4000104,4000105,4000106,4000107,4000108,4000109,4000110,4000111,4000112,4000113,4000114,4000115,4000116,4000117,4000118,4000119,4000120,4000121,4000122,4000123,4000124,4000125,4000126,4000127,4000128,4000129,4000130,4000131,4000132,4000133,4000134,4000135,4000136,4000137,4000138,4000139,4000140,4000141,4000142,4000143,4000144,4000145,4000146,4000147,4000148,4000149,4000150,4000151,4000152,4000153,4000154,4000155,4000156,4000157,4000158,4000159,4000160,4000161,4000162,4000163,4000164,4000165,4000166,4000167,4000168,4000169,4000170,4000171,4000172,4000173,4000174,4000175,4000176,4000177,4000178,4000179,4000180,4000181,4000182,4000183,4000184,4000185,4000186,4000187,4000188,4000189,4000190,4000191,4000192,4000193,4000194,4000195,4000196,4000197,4000198,4000199,4000200,4000201,4000202,4000203,4000204,4000205,4000206,4000207,4000208,4000209,4000210,4000211,4000212,4000213,4000214,4000215,4000216,4000217,4000218,4000219,4000220,4000221,4000222,4000223,4000224,4000225,4000226,4000227,4000228,4000229,4000230,4000231,4000232,4000233,4000234,4000235,4000236,4000237,4000238,4000239,4000240,4000241,4000242,4000243,4000244,4000245,4000246,4000247,4000248,4000249,4000250,4000251,4000252,4000253,4000254,4000255,4000256,4000257,4000258,4000259,4000260,4000261,4000262,4000263,4000264,4000265,4000266,4000267,4000268,4000269,4000270,4000271,4000272,4000273,4000274,4000275,4000276,4000277,4000278,4000279,4000280,4000281,4000282,4000283,4000284,4000285,4000286,4000287,4000288,4000289,4000290,4000291,4000292,4000293,4000294,4000295,4000296,4000297,4000298,4000299,4000300,4000301,4000302,4000303,4000304,4000305,4000306,4000307,4000308,4000309,4000310,4000311,4000312,4000313,4000314,4000315,4000316,4000317,4000318,4000319,4000320,4000321,4000322,4000323,4000324,4000325,4000326,4000327,4000328,4000329,4000330,4000331,4000332,4000333,4000334,4000335,4000336,4000337,4000338,4000339,4000340,4000341,4000342,4000343,4000344,4000345,4000346,4000347,4000348,4000349,4000350,4000351,4000352,4000353,4000354,4000355,4000356,4000357,4000358,4000359,4000360,4000361,4000362,4000363,4000364,4000365,4000366,4000367,4000368,4000369,4000370,4000371,4000372,4000373,4000374,4000375,4000376,4000377,4000378,4000379,4000380,4000381,4000382,4000383,4000384,4000385,4000386,4000387,4000388,4000389,4000390,4000391,4000392,4000393,4000394,4000395,4000396,4000397,4000398,4000399,4000400,4000401,4000402,4000403,4000404,4000405,4000406,4000407,4000408,4000409,4000410,4000411,4000412,4000413,4000414,4000415,4000416,4000417,4000418,4000419,4000420,4000421,4000422,4000423,4000424,4000425,4000426,4000427,4000428,4000429,4000430,4000431,4000432,4000433,4000434,4000435,4000436,4000437,4000438,4000439,4000440,4000441,4000442,4000443,4000444,4000445,4000446,4000447,4000448,4000449,4000450,4000451,4000452,4000453,4000454,4000455,4000456,4000457,4000458,4000459,4000460,4000461,4000462,4000463,4000464,4000465,4000466,4000467,4000468,4000469,4000470,4000471,4000472,4000473,4000474,4000475,4000476,4000477,4000478,4000479,4000480,4000481,4000482,4000483,4000484,4000485,4000486,4000487,4000488,4000489,4000490,4000491,4000492,4000493,4000494,4000495,4000496,4000497,4000498,4000499,4000500,4000501,4000502,4000503,4000504,4000505,4000506,4000507,4000508,4000509,4000510,4000511,4000512,4000513,4000514,4000515,4000516,4000517,4000518,4000519,4000520,4000521,4000522,4000523,4000524,4000525,4000526,4000527,4000528,4000529,4000530,4000531,4000532,4000533,4000534,4000535,4000536,4000537,4000538,4000539,4000540,4000541,4000542,4000543,4000544,4000545,4000546,4000547,4000548,4000549,4000550,4000551,4000552,4000553,4000554,4000555,4000556,4000557,4000558,4000559,4000560,4000561,4000562,4000563,4000564,4000565,4000566,4000567,4000568,4000569,4000570,4000571,4000572,4000573,4000574,4000575,4000576,4000577,4000578,4000579,4000580,4000581,4000582,4000583,4000584,4000585,4000586,4000587,4000588,4000589,4000590,4000591,4000592,4000593,4000594,4000595,4000596,4000597,4000598,4000599,4000600,4000601,4000602,4000603,4000604,4000605,4000606,4000607,4000608,4000609,4000610,4000611,4000612,4000613,4000614,4000615,4000616,4000617,4000618,4000619,4000620,4000621,4000622,4000623,4000624,4000625,4000626,4000627,4000628,4000629,4000630,4000631,4000632,4000633,4000634,4000635,4000636,4000637,4000638,4000639,4000640,4000641,4000642,4000643,4000644,4000645,4000646,4000647,4000648,4000649,4000650,4000651,4000652,4000653,4000654,4000655,4000656,4000657,4000658,4000659,4000660,4000661,4000662,4000663,4000664,4000665,4000666,4000667,4000668,4000669,4000670,4000671,4000672,4000673,4000674,4000675,4000676,4000677,4000678,4000679,4000680,4000681,4000682,4000683,4000684,4000685,4000686,4000687,4000688,4000689,4000690,4000691,4000692,4000693,4000694,4000695,4000696,4000697,4000698,4000699,4000700,4000701,4000702,4000703,4000704,4000705,4000706,4000707,4000708,4000709,4000710,4000711,4000712,4000713,4000714,4000715,4000716,4000717,4000718,4000719,4000720,4000721,4000722,4000723,4000724,4000725,4000726,4000727,4000728,4000729,4000730,4000731,4000732,4000733,4000734,4000735,4000736,4000737,4000738,4000739,4000740,4000741,4000742,4000743,4000744,4000745,4000746,4000747,4000748,4000749,4000750,4000751,4000752,4000753,4000754,4000755,4000756,4000757,4000758,4000759,4000760,4000761,4000762,4000763,4000764,4000765,4000766,4000767,4000768,4000769,4000770,4000771,4000772,4000773,4000774,4000775,4000776,4000777,4000778,4000779,4000780,4000781,4000782,4000783,4000784,4000785,4000786,4000787,4000788,4000789,4000790,4000791,4000792,4000793,4000794,4000795,4000796,4000797,4000798,4000799,4000800,4000801,4000802,4000803,4000804,4000805,4000806,4000807,4000808,4000809,4000810,4000811,4000812,4000813,4000814,4000815,4000816,4000817,4000818,4000819,4000820,4000821,4000822,4000823,4000824,4000825,4000826,4000827,4000828,4000829,4000830,4000831,4000832,4000833,4000834,4000835,4000836,4000837,4000838,4000839,4000840,4000841,4000842,4000843,4000844,4000845,4000846,4000847,4000848,4000849,4000850,4000851,4000852,4000853,4000854,4000855,4000856,4000857,4000858,4000859,4000860,4000861,4000862,4000863,4000864,4000865,4000866,4000867,4000868,4000869,4000870,4000871,4000872,4000873,4000874,4000875,4000876,4000877,4000878,4000879,4000880,4000881,4000882,4000883,4000884,4000885,4000886,4000887,4000888,4000889,4000890,4000891,4000892,4000893,4000894,4000895,4000896,4000897,4000898,4000899,4000900,4000901,4000902,4000903,4000904,4000905,4000906,4000907,4000908,4000909,4000910,4000911,4000912,4000913,4000914,4000915,4000916,4000917,4000918,4000919,4000920,4000921,4000922,4000923,4000924,4000925,4000926,4000927,4000928,4000929,4000930,4000931,4000932,4000933,4000934,4000935,4000936,4000937,4000938,4000939,4000940,4000941,4000942,4000943,4000944,4000945,4000946,4000947,4000948,4000949,4000950,4000951,4000952,4000953,4000954,4000955,4000956,4000957,4000958,4000959,4000960,4000961,4000962,4000963,4000964,4000965,4000966,4000967,4000968,4000969,4000970,4000971,4000972,4000973,4000974,4000975,4000976,4000977,4000978,4000979,4000980,4000981,4000982,4000983,4000984,4000985,4000986,4000987,4000988,4000989,4000990,4000991,4000992,4000993,4000994,4000995,4000996,4000997,4000998,4000999,4001000,5000002,5000003,5000004,5000005,5000006,5000007,5000008,5000009,5000010,5000011,5000012,5000013,5000014,5000015,5000016,5000017,5000018,5000019,5000020,5000021,5000022,5000023,5000024,5000025,5000026,5000027,5000028,5000029,5000030,5000031,5000032,5000033,5000034,5000035,5000036,5000037,5000038,5000039,5000040,5000041,5000042,5000043,5000044,5000045,5000046,5000047,5000048,5000049,5000050,5000051,5000052,5000053,5000054,5000055,5000056,5000057,5000058,5000059,5000060,5000061,5000062,5000063,5000064,5000065,5000066,5000067,5000068,5000069,5000070,5000071,5000072,5000073,5000074,5000075,5000076,5000077,5000078,5000079,5000080,5000081,5000082,5000083,5000084,5000085,5000086,5000087,5000088,5000089,5000090,5000091,5000092,5000093,5000094,5000095,5000096,5000097,5000098,5000099,5000100,5000101,5000102,5000103,5000104,5000105,5000106,5000107,5000108,5000109,5000110,5000111,5000112,5000113,5000114,5000115,5000116,5000117,5000118,5000119,5000120,5000121,5000122,5000123,5000124,5000125,5000126,5000127,5000128,5000129,5000130,5000131,5000132,5000133,5000134,5000135,5000136,5000137,5000138,5000139,5000140,5000141,5000142,5000143,5000144,5000145,5000146,5000147,5000148,5000149,5000150,5000151,5000152,5000153,5000154,5000155,5000156,5000157,5000158,5000159,5000160,5000161,5000162,5000163,5000164,5000165,5000166,5000167,5000168,5000169,5000170,5000171,5000172,5000173,5000174,5000175,5000176,5000177,5000178,5000179,5000180,5000181,5000182,5000183,5000184,5000185,5000186,5000187,5000188,5000189,5000190,5000191,5000192,5000193,5000194,5000195,5000196,5000197,5000198,5000199,5000200,5000201,5000202,5000203,5000204,5000205,5000206,5000207,5000208,5000209,5000210,5000211,5000212,5000213,5000214,5000215,5000216,5000217,5000218,5000219,5000220,5000221,5000222,5000223,5000224,5000225,5000226,5000227,5000228,5000229,5000230,5000231,5000232,5000233,5000234,5000235,5000236,5000237,5000238,5000239,5000240,5000241,5000242,5000243,5000244,5000245,5000246,5000247,5000248,5000249,5000250,5000251,5000252,5000253,5000254,5000255,5000256,5000257,5000258,5000259,5000260,5000261,5000262,5000263,5000264,5000265,5000266,5000267,5000268,5000269,5000270,5000271,5000272,5000273,5000274,5000275,5000276,5000277,5000278,5000279,5000280,5000281,5000282,5000283,5000284,5000285,5000286,5000287,5000288,5000289,5000290,5000291,5000292,5000293,5000294,5000295,5000296,5000297,5000298,5000299,5000300,5000301,5000302,5000303,5000304,5000305,5000306,5000307,5000308,5000309,5000310,5000311,5000312,5000313,5000314,5000315,5000316,5000317,5000318,5000319,5000320,5000321,5000322,5000323,5000324,5000325,5000326,5000327,5000328,5000329,5000330,5000331,5000332,5000333,5000334,5000335,5000336,5000337,5000338,5000339,5000340,5000341,5000342,5000343,5000344,5000345,5000346,5000347,5000348,5000349,5000350,5000351,5000352,5000353,5000354,5000355,5000356,5000357,5000358,5000359,5000360,5000361,5000362,5000363,5000364,5000365,5000366,5000367,5000368,5000369,5000370,5000371,5000372,5000373,5000374,5000375,5000376,5000377,5000378,5000379,5000380,5000381,5000382,5000383,5000384,5000385,5000386,5000387,5000388,5000389,5000390,5000391,5000392,5000393,5000394,5000395,5000396,5000397,5000398,5000399,5000400,5000401,5000402,5000403,5000404,5000405,5000406,5000407,5000408,5000409,5000410,5000411,5000412,5000413,5000414,5000415,5000416,5000417,5000418,5000419,5000420,5000421,5000422,5000423,5000424,5000425,5000426,5000427,5000428,5000429,5000430,5000431,5000432,5000433,5000434,5000435,5000436,5000437,5000438,5000439,5000440,5000441,5000442,5000443,5000444,5000445,5000446,5000447,5000448,5000449,5000450,5000451,5000452,5000453,5000454,5000455,5000456,5000457,5000458,5000459,5000460,5000461,5000462,5000463,5000464,5000465,5000466,5000467,5000468,5000469,5000470,5000471,5000472,5000473,5000474,5000475,5000476,5000477,5000478,5000479,5000480,5000481,5000482,5000483,5000484,5000485,5000486,5000487,5000488,5000489,5000490,5000491,5000492,5000493,5000494,5000495,5000496,5000497,5000498,5000499,5000500,5000501,5000502,5000503,5000504,5000505,5000506,5000507,5000508,5000509,5000510,5000511,5000512,5000513,5000514,5000515,5000516,5000517,5000518,5000519,5000520,5000521,5000522,5000523,5000524,5000525,5000526,5000527,5000528,5000529,5000530,5000531,5000532,5000533,5000534,5000535,5000536,5000537,5000538,5000539,5000540,5000541,5000542,5000543,5000544,5000545,5000546,5000547,5000548,5000549,5000550,5000551,5000552,5000553,5000554,5000555,5000556,5000557,5000558,5000559,5000560,5000561,5000562,5000563,5000564,5000565,5000566,5000567,5000568,5000569,5000570,5000571,5000572,5000573,5000574,5000575,5000576,5000577,5000578,5000579,5000580,5000581,5000582,5000583,5000584,5000585,5000586,5000587,5000588,5000589,5000590,5000591,5000592,5000593,5000594,5000595,5000596,5000597,5000598,5000599,5000600,5000601,5000602,5000603,5000604,5000605,5000606,5000607,5000608,5000609,5000610,5000611,5000612,5000613,5000614,5000615,5000616,5000617,5000618,5000619,5000620,5000621,5000622,5000623,5000624,5000625,5000626,5000627,5000628,5000629,5000630,5000631,5000632,5000633,5000634,5000635,5000636,5000637,5000638,5000639,5000640,5000641,5000642,5000643,5000644,5000645,5000646,5000647,5000648,5000649,5000650,5000651,5000652,5000653,5000654,5000655,5000656,5000657,5000658,5000659,5000660,5000661,5000662,5000663,5000664,5000665,5000666,5000667,5000668,5000669,5000670,5000671,5000672,5000673,5000674,5000675,5000676,5000677,5000678,5000679,5000680,5000681,5000682,5000683,5000684,5000685,5000686,5000687,5000688,5000689,5000690,5000691,5000692,5000693,5000694,5000695,5000696,5000697,5000698,5000699,5000700,5000701,5000702,5000703,5000704,5000705,5000706,5000707,5000708,5000709,5000710,5000711,5000712,5000713,5000714,5000715,5000716,5000717,5000718,5000719,5000720,5000721,5000722,5000723,5000724,5000725,5000726,5000727,5000728,5000729,5000730,5000731,5000732,5000733,5000734,5000735,5000736,5000737,5000738,5000739,5000740,5000741,5000742,5000743,5000744,5000745,5000746,5000747,5000748,5000749,5000750,5000751,5000752,5000753,5000754,5000755,5000756,5000757,5000758,5000759,5000760,5000761,5000762,5000763,5000764,5000765,5000766,5000767,5000768,5000769,5000770,5000771,5000772,5000773,5000774,5000775,5000776,5000777,5000778,5000779,5000780,5000781,5000782,5000783,5000784,5000785,5000786,5000787,5000788,5000789,5000790,5000791,5000792,5000793,5000794,5000795,5000796,5000797,5000798,5000799,5000800,5000801,5000802,5000803,5000804,5000805,5000806,5000807,5000808,5000809,5000810,5000811,5000812,5000813,5000814,5000815,5000816,5000817,5000818,5000819,5000820,5000821,5000822,5000823,5000824,5000825,5000826,5000827,5000828,5000829,5000830,5000831,5000832,5000833,5000834,5000835,5000836,5000837,5000838,5000839,5000840,5000841,5000842,5000843,5000844,5000845,5000846,5000847,5000848,5000849,5000850,5000851,5000852,5000853,5000854,5000855,5000856,5000857,5000858,5000859,5000860,5000861,5000862,5000863,5000864,5000865,5000866,5000867,5000868,5000869,5000870,5000871,5000872,5000873,5000874,5000875,5000876,5000877,5000878,5000879,5000880,5000881,5000882,5000883,5000884,5000885,5000886,5000887,5000888,5000889,5000890,5000891,5000892,5000893,5000894,5000895,5000896,5000897,5000898,5000899,5000900,5000901,5000902,5000903,5000904,5000905,5000906,5000907,5000908,5000909,5000910,5000911,5000912,5000913,5000914,5000915,5000916,5000917,5000918,5000919,5000920,5000921,5000922,5000923,5000924,5000925,5000926,5000927,5000928,5000929,5000930,5000931,5000932,5000933,5000934,5000935,5000936,5000937,5000938,5000939,5000940,5000941,5000942,5000943,5000944,5000945,5000946,5000947,5000948,5000949,5000950,5000951,5000952,5000953,5000954,5000955,5000956,5000957,5000958,5000959,5000960,5000961,5000962,5000963,5000964,5000965,5000966,5000967,5000968,5000969,5000970,5000971,5000972,5000973,5000974,5000975,5000976,5000977,5000978,5000979,5000980,5000981,5000982,5000983,5000984,5000985,5000986,5000987,5000988,5000989,5000990,5000991,5000992,5000993,5000994,5000995,5000996,5000997,5000998,5000999,5001000,6000001,6000002,6000003,6000004,6000005,6000006,6000007,6000008,6000009,6000010,6000011,6000012,6000013,6000014,6000015,6000016,6000017,6000018,6000019,6000020,6000021,6000022,6000023,6000024,6000025,6000026,6000027,6000028,6000029,6000030,6000031,6000032,6000033,6000034,6000035,6000036,6000037,6000038,6000039,6000040,6000041,6000042,6000043,6000044,6000045,6000046,6000047,6000048,6000049,6000050,6000051,6000052,6000053,6000054,6000055,6000056,6000057,6000058,6000059,6000060,6000061,6000062,6000063,6000064,6000065,6000066,6000067,6000068,6000069,6000070,6000071,6000072,6000073,6000074,6000075,6000076,6000077,6000078,6000079,6000080,6000081,6000082,6000083,6000084,6000085,6000086,6000087,6000088,6000089,6000090,6000091,6000092,6000093,6000094,6000095,6000096,6000097,6000098,6000099,6000100,6000101,6000102,6000103,6000104,6000105,6000106,6000107,6000108,6000109,6000110,6000111,6000112,6000113,6000114,6000115,6000116,6000117,6000118,6000119,6000120,6000121,6000122,6000123,6000124,6000125,6000126,6000127,6000128,6000129,6000130,6000131,6000132,6000133,6000134,6000135,6000136,6000137,6000138,6000139,6000140,6000141,6000142,6000143,6000144,6000145,6000146,6000147,6000148,6000149,6000150,6000151,6000152,6000153,6000154,6000155,6000156,6000157,6000158,6000159,6000160,6000161,6000162,6000163,6000164,6000165,6000166,6000167,6000168,6000169,6000170,6000171,6000172,6000173,6000174,6000175,6000176,6000177,6000178,6000179,6000180,6000181,6000182,6000183,6000184,6000185,6000186,6000187,6000188,6000189,6000190,6000191,6000192,6000193,6000194,6000195,6000196,6000197,6000198,6000199,6000200,6000201,6000202,6000203,6000204,6000205,6000206,6000207,6000208,6000209,6000210,6000211,6000212,6000213,6000214,6000215,6000216,6000217,6000218,6000219,6000220,6000221,6000222,6000223,6000224,6000225,6000226,6000227,6000228,6000229,6000230,6000231,6000232,6000233,6000234,6000235,6000236,6000237,6000238,6000239,6000240,6000241,6000242,6000243,6000244,6000245,6000246,6000247,6000248,6000249,6000250,6000251,6000252,6000253,6000254,6000255,6000256,6000257,6000258,6000259,6000260,6000261,6000262,6000263,6000264,6000265,6000266,6000267,6000268,6000269,6000270,6000271,6000272,6000273,6000274,6000275,6000276,6000277,6000278,6000279,6000280,6000281,6000282,6000283,6000284,6000285,6000286,6000287,6000288,6000289,6000290,6000291,6000292,6000293,6000294,6000295,6000296,6000297,6000298,6000299,6000300,6000301,6000302,6000303,6000304,6000305,6000306,6000307,6000308,6000309,6000310,6000311,6000312,6000313,6000314,6000315,6000316,6000317,6000318,6000319,6000320,6000321,6000322,6000323,6000324,6000325,6000326,6000327,6000328,6000329,6000330,6000331,6000332,6000333,6000334,6000335,6000336,6000337,6000338,6000339,6000340,6000341,6000342,6000343,6000344,6000345,6000346,6000347,6000348,6000349,6000350,6000351,6000352,6000353,6000354,6000355,6000356,6000357,6000358,6000359,6000360,6000361,6000362,6000363,6000364,6000365,6000366,6000367,6000368,6000369,6000370,6000371,6000372,6000373,6000374,6000375,6000376,6000377,6000378,6000379,6000380,6000381,6000382,6000383,6000384,6000385,6000386,6000387,6000388,6000389,6000390,6000391,6000392,6000393,6000394,6000395,6000396,6000397,6000398,6000399,6000400,6000401,6000402,6000403,6000404,6000405,6000406,6000407,6000408,6000409,6000410,6000411,6000412,6000413,6000414,6000415,6000416,6000417,6000418,6000419,6000420,6000421,6000422,6000423,6000424,6000425,6000426,6000427,6000428,6000429,6000430,6000431,6000432,6000433,6000434,6000435,6000436,6000437,6000438,6000439,6000440,6000441,6000442,6000443,6000444,6000445,6000446,6000447,6000448,6000449,6000450,6000451,6000452,6000453,6000454,6000455,6000456,6000457,6000458,6000459,6000460,6000461,6000462,6000463,6000464,6000465,6000466,6000467,6000468,6000469,6000470,6000471,6000472,6000473,6000474,6000475,6000476,6000477,6000478,6000479,6000480,6000481,6000482,6000483,6000484,6000485,6000486,6000487,6000488,6000489,6000490,6000491,6000492,6000493,6000494,6000495,6000496,6000497,6000498,6000499,6000500,6000501,6000502,6000503,6000504,6000505,6000506,6000507,6000508,6000509,6000510,6000511,6000512,6000513,6000514,6000515,6000516,6000517,6000518,6000519,6000520,6000521,6000522,6000523,6000524,6000525,6000526,6000527,6000528,6000529,6000530,6000531,6000532,6000533,6000534,6000535,6000536,6000537,6000538,6000539,6000540,6000541,6000542,6000543,6000544,6000545,6000546,6000547,6000548,6000549,6000550,6000551,6000552,6000553,6000554,6000555,6000556,6000557,6000558,6000559,6000560,6000561,6000562,6000563,6000564,6000565,6000566,6000567,6000568,6000569,6000570,6000571,6000572,6000573,6000574,6000575,6000576,6000577,6000578,6000579,6000580,6000581,6000582,6000583,6000584,6000585,6000586,6000587,6000588,6000589,6000590,6000591,6000592,6000593,6000594,6000595,6000596,6000597,6000598,6000599,6000600,6000601,6000602,6000603,6000604,6000605,6000606,6000607,6000608,6000609,6000610,6000611,6000612,6000613,6000614,6000615,6000616,6000617,6000618,6000619,6000620,6000621,6000622,6000623,6000624,6000625,6000626,6000627,6000628,6000629,6000630,6000631,6000632,6000633,6000634,6000635,6000636,6000637,6000638,6000639,6000640,6000641,6000642,6000643,6000644,6000645,6000646,6000647,6000648,6000649,6000650,6000651,6000652,6000653,6000654,6000655,6000656,6000657,6000658,6000659,6000660,6000661,6000662,6000663,6000664,6000665,6000666,6000667,6000668,6000669,6000670,6000671,6000672,6000673,6000674,6000675,6000676,6000677,6000678,6000679,6000680,6000681,6000682,6000683,6000684,6000685,6000686,6000687,6000688,6000689,6000690,6000691,6000692,6000693,6000694,6000695,6000696,6000697,6000698,6000699,6000700,6000701,6000702,6000703,6000704,6000705,6000706,6000707,6000708,6000709,6000710,6000711,6000712,6000713,6000714,6000715,6000716,6000717,6000718,6000719,6000720,6000721,6000722,6000723,6000724,6000725,6000726,6000727,6000728,6000729,6000730,6000731,6000732,6000733,6000734,6000735,6000736,6000737,6000738,6000739,6000740,6000741,6000742,6000743,6000744,6000745,6000746,6000747,6000748,6000749,6000750,6000751,6000752,6000753,6000754,6000755,6000756,6000757,6000758,6000759,6000760,6000761,6000762,6000763,6000764,6000765,6000766,6000767,6000768,6000769,6000770,6000771,6000772,6000773,6000774,6000775,6000776,6000777,6000778,6000779,6000780,6000781,6000782,6000783,6000784,6000785,6000786,6000787,6000788,6000789,6000790,6000791,6000792,6000793,6000794,6000795,6000796,6000797,6000798,6000799,6000800,6000801,6000802,6000803,6000804,6000805,6000806,6000807,6000808,6000809,6000810,6000811,6000812,6000813,6000814,6000815,6000816,6000817,6000818,6000819,6000820,6000821,6000822,6000823,6000824,6000825,6000826,6000827,6000828,6000829,6000830,6000831,6000832,6000833,6000834,6000835,6000836,6000837,6000838,6000839,6000840,6000841,6000842,6000843,6000844,6000845,6000846,6000847,6000848,6000849,6000850,6000851,6000852,6000853,6000854,6000855,6000856,6000857,6000858,6000859,6000860,6000861,6000862,6000863,6000864,6000865,6000866,6000867,6000868,6000869,6000870,6000871,6000872,6000873,6000874,6000875,6000876,6000877,6000878,6000879,6000880,6000881,6000882,6000883,6000884,6000885,6000886,6000887,6000888,6000889,6000890,6000891,6000892,6000893,6000894,6000895,6000896,6000897,6000898,6000899,6000900,6000901,6000902,6000903,6000904,6000905,6000906,6000907,6000908,6000909,6000910,6000911,6000912,6000913,6000914,6000915,6000916,6000917,6000918,6000919,6000920,6000921,6000922,6000923,6000924,6000925,6000926,6000927,6000928,6000929,6000930,6000931,6000932,6000933,6000934,6000935,6000936,6000937,6000938,6000939,6000940,6000941,6000942,6000943,6000944,6000945,6000946,6000947,6000948,6000949,6000950,6000951,6000952,6000953,6000954,6000955,6000956,6000957,6000958,6000959,6000960,6000961,6000962,6000963,6000964,6000965,6000966,6000967,6000968,6000969,6000970,6000971,6000972,6000973,6000974,6000975,6000976,6000977,6000978,6000979,6000980,6000981,6000982,6000983,6000984,6000985,6000986,6000987,6000988,6000989,6000990,6000991,6000992,6000993,6000994,6000995,6000996,6000997,6000998,6000999,6001000,7000001,7000002,7000003,7000004,7000005,7000006,7000007,7000008,7000009,7000010,7000011,7000012,7000013,7000014,7000015,7000016,7000017,7000018,7000019,7000020,7000021,7000022,7000023,7000024,7000025,7000026,7000027,7000028,7000029,7000030,7000031,7000032,7000033,7000034,7000035,7000036,7000037,7000038,7000039,7000040,7000041,7000042,7000043,7000044,7000045,7000046,7000047,7000048,7000049,7000050,7000051,7000052,7000053,7000054,7000055,7000056,7000057,7000058,7000059,7000060,7000061,7000062,7000063,7000064,7000065,7000066,7000067,7000068,7000069,7000070,7000071,7000072,7000073,7000074,7000075,7000076,7000077,7000078,7000079,7000080,7000081,7000082,7000083,7000084,7000085,7000086,7000087,7000088,7000089,7000090,7000091,7000092,7000093,7000094,7000095,7000096,7000097,7000098,7000099,7000100,7000101,7000102,7000103,7000104,7000105,7000106,7000107,7000108,7000109,7000110,7000111,7000112,7000113,7000114,7000115,7000116,7000117,7000118,7000119,7000120,7000121,7000122,7000123,7000124,7000125,7000126,7000127,7000128,7000129,7000130,7000131,7000132,7000133,7000134,7000135,7000136,7000137,7000138,7000139,7000140,7000141,7000142,7000143,7000144,7000145,7000146,7000147,7000148,7000149,7000150,7000151,7000152,7000153,7000154,7000155,7000156,7000157,7000158,7000159,7000160,7000161,7000162,7000163,7000164,7000165,7000166,7000167,7000168,7000169,7000170,7000171,7000172,7000173,7000174,7000175,7000176,7000177,7000178,7000179,7000180,7000181,7000182,7000183,7000184,7000185,7000186,7000187,7000188,7000189,7000190,7000191,7000192,7000193,7000194,7000195,7000196,7000197,7000198,7000199,7000200,7000201,7000202,7000203,7000204,7000205,7000206,7000207,7000208,7000209,7000210,7000211,7000212,7000213,7000214,7000215,7000216,7000217,7000218,7000219,7000220,7000221,7000222,7000223,7000224,7000225,7000226,7000227,7000228,7000229,7000230,7000231,7000232,7000233,7000234,7000235,7000236,7000237,7000238,7000239,7000240,7000241,7000242,7000243,7000244,7000245,7000246,7000247,7000248,7000249,7000250,7000251,7000252,7000253,7000254,7000255,7000256,7000257,7000258,7000259,7000260,7000261,7000262,7000263,7000264,7000265,7000266,7000267,7000268,7000269,7000270,7000271,7000272,7000273,7000274,7000275,7000276,7000277,7000278,7000279,7000280,7000281,7000282,7000283,7000284,7000285,7000286,7000287,7000288,7000289,7000290,7000291,7000292,7000293,7000294,7000295,7000296,7000297,7000298,7000299,7000300,7000301,7000302,7000303,7000304,7000305,7000306,7000307,7000308,7000309,7000310,7000311,7000312,7000313,7000314,7000315,7000316,7000317,7000318,7000319,7000320,7000321,7000322,7000323,7000324,7000325,7000326,7000327,7000328,7000329,7000330,7000331,7000332,7000333,7000334,7000335,7000336,7000337,7000338,7000339,7000340,7000341,7000342,7000343,7000344,7000345,7000346,7000347,7000348,7000349,7000350,7000351,7000352,7000353,7000354,7000355,7000356,7000357,7000358,7000359,7000360,7000361,7000362,7000363,7000364,7000365,7000366,7000367,7000368,7000369,7000370,7000371,7000372,7000373,7000374,7000375,7000376,7000377,7000378,7000379,7000380,7000381,7000382,7000383,7000384,7000385,7000386,7000387,7000388,7000389,7000390,7000391,7000392,7000393,7000394,7000395,7000396,7000397,7000398,7000399,7000400,7000401,7000402,7000403,7000404,7000405,7000406,7000407,7000408,7000409,7000410,7000411,7000412,7000413,7000414,7000415,7000416,7000417,7000418,7000419,7000420,7000421,7000422,7000423,7000424,7000425,7000426,7000427,7000428,7000429,7000430,7000431,7000432,7000433,7000434,7000435,7000436,7000437,7000438,7000439,7000440,7000441,7000442,7000443,7000444,7000445,7000446,7000447,7000448,7000449,7000450,7000451,7000452,7000453,7000454,7000455,7000456,7000457,7000458,7000459,7000460,7000461,7000462,7000463,7000464,7000465,7000466,7000467,7000468,7000469,7000470,7000471,7000472,7000473,7000474,7000475,7000476,7000477,7000478,7000479,7000480,7000481,7000482,7000483,7000484,7000485,7000486,7000487,7000488,7000489,7000490,7000491,7000492,7000493,7000494,7000495,7000496,7000497,7000498,7000499,7000500,7000501,7000502,7000503,7000504,7000505,7000506,7000507,7000508,7000509,7000510,7000511,7000512,7000513,7000514,7000515,7000516,7000517,7000518,7000519,7000520,7000521,7000522,7000523,7000524,7000525,7000526,7000527,7000528,7000529,7000530,7000531,7000532,7000533,7000534,7000535,7000536,7000537,7000538,7000539,7000540,7000541,7000542,7000543,7000544,7000545,7000546,7000547,7000548,7000549,7000550,7000551,7000552,7000553,7000554,7000555,7000556,7000557,7000558,7000559,7000560,7000561,7000562,7000563,7000564,7000565,7000566,7000567,7000568,7000569,7000570,7000571,7000572,7000573,7000574,7000575,7000576,7000577,7000578,7000579,7000580,7000581,7000582,7000583,7000584,7000585,7000586,7000587,7000588,7000589,7000590,7000591,7000592,7000593,7000594,7000595,7000596,7000597,7000598,7000599,7000600,7000601,7000602,7000603,7000604,7000605,7000606,7000607,7000608,7000609,7000610,7000611,7000612,7000613,7000614,7000615,7000616,7000617,7000618,7000619,7000620,7000621,7000622,7000623,7000624,7000625,7000626,7000627,7000628,7000629,7000630,7000631,7000632,7000633,7000634,7000635,7000636,7000637,7000638,7000639,7000640,7000641,7000642,7000643,7000644,7000645,7000646,7000647,7000648,7000649,7000650,7000651,7000652,7000653,7000654,7000655,7000656,7000657,7000658,7000659,7000660,7000661,7000662,7000663,7000664,7000665,7000666,7000667,7000668,7000669,7000670,7000671,7000672,7000673,7000674,7000675,7000676,7000677,7000678,7000679,7000680,7000681,7000682,7000683,7000684,7000685,7000686,7000687,7000688,7000689,7000690,7000691,7000692,7000693,7000694,7000695,7000696,7000697,7000698,7000699,7000700,7000701,7000702,7000703,7000704,7000705,7000706,7000707,7000708,7000709,7000710,7000711,7000712,7000713,7000714,7000715,7000716,7000717,7000718,7000719,7000720,7000721,7000722,7000723,7000724,7000725,7000726,7000727,7000728,7000729,7000730,7000731,7000732,7000733,7000734,7000735,7000736,7000737,7000738,7000739,7000740,7000741,7000742,7000743,7000744,7000745,7000746,7000747,7000748,7000749,7000750,7000751,7000752,7000753,7000754,7000755,7000756,7000757,7000758,7000759,7000760,7000761,7000762,7000763,7000764,7000765,7000766,7000767,7000768,7000769,7000770,7000771,7000772,7000773,7000774,7000775,7000776,7000777,7000778,7000779,7000780,7000781,7000782,7000783,7000784,7000785,7000786,7000787,7000788,7000789,7000790,7000791,7000792,7000793,7000794,7000795,7000796,7000797,7000798,7000799,7000800,7000801,7000802,7000803,7000804,7000805,7000806,7000807,7000808,7000809,7000810,7000811,7000812,7000813,7000814,7000815,7000816,7000817,7000818,7000819,7000820,7000821,7000822,7000823,7000824,7000825,7000826,7000827,7000828,7000829,7000830,7000831,7000832,7000833,7000834,7000835,7000836,7000837,7000838,7000839,7000840,7000841,7000842,7000843,7000844,7000845,7000846,7000847,7000848,7000849,7000850,7000851,7000852,7000853,7000854,7000855,7000856,7000857,7000858,7000859,7000860,7000861,7000862,7000863,7000864,7000865,7000866,7000867,7000868,7000869,7000870,7000871,7000872,7000873,7000874,7000875,7000876,7000877,7000878,7000879,7000880,7000881,7000882,7000883,7000884,7000885,7000886,7000887,7000888,7000889,7000890,7000891,7000892,7000893,7000894,7000895,7000896,7000897,7000898,7000899,7000900,7000901,7000902,7000903,7000904,7000905,7000906,7000907,7000908,7000909,7000910,7000911,7000912,7000913,7000914,7000915,7000916,7000917,7000918,7000919,7000920,7000921,7000922,7000923,7000924,7000925,7000926,7000927,7000928,7000929,7000930,7000931,7000932,7000933,7000934,7000935,7000936,7000937,7000938,7000939,7000940,7000941,7000942,7000943,7000944,7000945,7000946,7000947,7000948,7000949,7000950,7000951,7000952,7000953,7000954,7000955,7000956,7000957,7000958,7000959,7000960,7000961,7000962,7000963,7000964,7000965,7000966,7000967,7000968,7000969,7000970,7000971,7000972,7000973,7000974,7000975,7000976,7000977,7000978,7000979,7000980,7000981,7000982,7000983,7000984,7000985,7000986,7000987,7000988,7000989,7000990,7000991,7000992,7000993,7000994,7000995,7000996,7000997,7000998,7000999,7001000,8000002,8000003,8000004,8000005,8000006,8000007,8000008,8000009,8000010,8000011,8000012,8000013,8000014,8000015,8000016,8000017,8000018,8000019,8000020,8000021,8000022,8000023,8000024,8000025,8000026,8000027,8000028,8000029,8000030,8000031,8000032,8000033,8000034,8000035,8000036,8000037,8000038,8000039,8000040,8000041,8000042,8000043,8000044,8000045,8000046,8000047,8000048,8000049,8000050,8000051,8000052,8000053,8000054,8000055,8000056,8000057,8000058,8000059,8000060,8000061,8000062,8000063,8000064,8000065,8000066,8000067,8000068,8000069,8000070,8000071,8000072,8000073,8000074,8000075,8000076,8000077,8000078,8000079,8000080,8000081,8000082,8000083,8000084,8000085,8000086,8000087,8000088,8000089,8000090,8000091,8000092,8000093,8000094,8000095,8000096,8000097,8000098,8000099,8000100,8000101,8000102,8000103,8000104,8000105,8000106,8000107,8000108,8000109,8000110,8000111,8000112,8000113,8000114,8000115,8000116,8000117,8000118,8000119,8000120,8000121,8000122,8000123,8000124,8000125,8000126,8000127,8000128,8000129,8000130,8000131,8000132,8000133,8000134,8000135,8000136,8000137,8000138,8000139,8000140,8000141,8000142,8000143,8000144,8000145,8000146,8000147,8000148,8000149,8000150,8000151,8000152,8000153,8000154,8000155,8000156,8000157,8000158,8000159,8000160,8000161,8000162,8000163,8000164,8000165,8000166,8000167,8000168,8000169,8000170,8000171,8000172,8000173,8000174,8000175,8000176,8000177,8000178,8000179,8000180,8000181,8000182,8000183,8000184,8000185,8000186,8000187,8000188,8000189,8000190,8000191,8000192,8000193,8000194,8000195,8000196,8000197,8000198,8000199,8000200,8000201,8000202,8000203,8000204,8000205,8000206,8000207,8000208,8000209,8000210,8000211,8000212,8000213,8000214,8000215,8000216,8000217,8000218,8000219,8000220,8000221,8000222,8000223,8000224,8000225,8000226,8000227,8000228,8000229,8000230,8000231,8000232,8000233,8000234,8000235,8000236,8000237,8000238,8000239,8000240,8000241,8000242,8000243,8000244,8000245,8000246,8000247,8000248,8000249,8000250,8000251,8000252,8000253,8000254,8000255,8000256,8000257,8000258,8000259,8000260,8000261,8000262,8000263,8000264,8000265,8000266,8000267,8000268,8000269,8000270,8000271,8000272,8000273,8000274,8000275,8000276,8000277,8000278,8000279,8000280,8000281,8000282,8000283,8000284,8000285,8000286,8000287,8000288,8000289,8000290,8000291,8000292,8000293,8000294,8000295,8000296,8000297,8000298,8000299,8000300,8000301,8000302,8000303,8000304,8000305,8000306,8000307,8000308,8000309,8000310,8000311,8000312,8000313,8000314,8000315,8000316,8000317,8000318,8000319,8000320,8000321,8000322,8000323,8000324,8000325,8000326,8000327,8000328,8000329,8000330,8000331,8000332,8000333,8000334,8000335,8000336,8000337,8000338,8000339,8000340,8000341,8000342,8000343,8000344,8000345,8000346,8000347,8000348,8000349,8000350,8000351,8000352,8000353,8000354,8000355,8000356,8000357,8000358,8000359,8000360,8000361,8000362,8000363,8000364,8000365,8000366,8000367,8000368,8000369,8000370,8000371,8000372,8000373,8000374,8000375,8000376,8000377,8000378,8000379,8000380,8000381,8000382,8000383,8000384,8000385,8000386,8000387,8000388,8000389,8000390,8000391,8000392,8000393,8000394,8000395,8000396,8000397,8000398,8000399,8000400,8000401,8000402,8000403,8000404,8000405,8000406,8000407,8000408,8000409,8000410,8000411,8000412,8000413,8000414,8000415,8000416,8000417,8000418,8000419,8000420,8000421,8000422,8000423,8000424,8000425,8000426,8000427,8000428,8000429,8000430,8000431,8000432,8000433,8000434,8000435,8000436,8000437,8000438,8000439,8000440,8000441,8000442,8000443,8000444,8000445,8000446,8000447,8000448,8000449,8000450,8000451,8000452,8000453,8000454,8000455,8000456,8000457,8000458,8000459,8000460,8000461,8000462,8000463,8000464,8000465,8000466,8000467,8000468,8000469,8000470,8000471,8000472,8000473,8000474,8000475,8000476,8000477,8000478,8000479,8000480,8000481,8000482,8000483,8000484,8000485,8000486,8000487,8000488,8000489,8000490,8000491,8000492,8000493,8000494,8000495,8000496,8000497,8000498,8000499,8000500,8000501,8000502,8000503,8000504,8000505,8000506,8000507,8000508,8000509,8000510,8000511,8000512,8000513,8000514,8000515,8000516,8000517,8000518,8000519,8000520,8000521,8000522,8000523,8000524,8000525,8000526,8000527,8000528,8000529,8000530,8000531,8000532,8000533,8000534,8000535,8000536,8000537,8000538,8000539,8000540,8000541,8000542,8000543,8000544,8000545,8000546,8000547,8000548,8000549,8000550,8000551,8000552,8000553,8000554,8000555,8000556,8000557,8000558,8000559,8000560,8000561,8000562,8000563,8000564,8000565,8000566,8000567,8000568,8000569,8000570,8000571,8000572,8000573,8000574,8000575,8000576,8000577,8000578,8000579,8000580,8000581,8000582,8000583,8000584,8000585,8000586,8000587,8000588,8000589,8000590,8000591,8000592,8000593,8000594,8000595,8000596,8000597,8000598,8000599,8000600,8000601,8000602,8000603,8000604,8000605,8000606,8000607,8000608,8000609,8000610,8000611,8000612,8000613,8000614,8000615,8000616,8000617,8000618,8000619,8000620,8000621,8000622,8000623,8000624,8000625,8000626,8000627,8000628,8000629,8000630,8000631,8000632,8000633,8000634,8000635,8000636,8000637,8000638,8000639,8000640,8000641,8000642,8000643,8000644,8000645,8000646,8000647,8000648,8000649,8000650,8000651,8000652,8000653,8000654,8000655,8000656,8000657,8000658,8000659,8000660,8000661,8000662,8000663,8000664,8000665,8000666,8000667,8000668,8000669,8000670,8000671,8000672,8000673,8000674,8000675,8000676,8000677,8000678,8000679,8000680,8000681,8000682,8000683,8000684,8000685,8000686,8000687,8000688,8000689,8000690,8000691,8000692,8000693,8000694,8000695,8000696,8000697,8000698,8000699,8000700,8000701,8000702,8000703,8000704,8000705,8000706,8000707,8000708,8000709,8000710,8000711,8000712,8000713,8000714,8000715,8000716,8000717,8000718,8000719,8000720,8000721,8000722,8000723,8000724,8000725,8000726,8000727,8000728,8000729,8000730,8000731,8000732,8000733,8000734,8000735,8000736,8000737,8000738,8000739,8000740,8000741,8000742,8000743,8000744,8000745,8000746,8000747,8000748,8000749,8000750,8000751,8000752,8000753,8000754,8000755,8000756,8000757,8000758,8000759,8000760,8000761,8000762,8000763,8000764,8000765,8000766,8000767,8000768,8000769,8000770,8000771,8000772,8000773,8000774,8000775,8000776,8000777,8000778,8000779,8000780,8000781,8000782,8000783,8000784,8000785,8000786,8000787,8000788,8000789,8000790,8000791,8000792,8000793,8000794,8000795,8000796,8000797,8000798,8000799,8000800,8000801,8000802,8000803,8000804,8000805,8000806,8000807,8000808,8000809,8000810,8000811,8000812,8000813,8000814,8000815,8000816,8000817,8000818,8000819,8000820,8000821,8000822,8000823,8000824,8000825,8000826,8000827,8000828,8000829,8000830,8000831,8000832,8000833,8000834,8000835,8000836,8000837,8000838,8000839,8000840,8000841,8000842,8000843,8000844,8000845,8000846,8000847,8000848,8000849,8000850,8000851,8000852,8000853,8000854,8000855,8000856,8000857,8000858,8000859,8000860,8000861,8000862,8000863,8000864,8000865,8000866,8000867,8000868,8000869,8000870,8000871,8000872,8000873,8000874,8000875,8000876,8000877,8000878,8000879,8000880,8000881,8000882,8000883,8000884,8000885,8000886,8000887,8000888,8000889,8000890,8000891,8000892,8000893,8000894,8000895,8000896,8000897,8000898,8000899,8000900,8000901,8000902,8000903,8000904,8000905,8000906,8000907,8000908,8000909,8000910,8000911,8000912,8000913,8000914,8000915,8000916,8000917,8000918,8000919,8000920,8000921,8000922,8000923,8000924,8000925,8000926,8000927,8000928,8000929,8000930,8000931,8000932,8000933,8000934,8000935,8000936,8000937,8000938,8000939,8000940,8000941,8000942,8000943,8000944,8000945,8000946,8000947,8000948,8000949,8000950,8000951,8000952,8000953,8000954,8000955,8000956,8000957,8000958,8000959,8000960,8000961,8000962,8000963,8000964,8000965,8000966,8000967,8000968,8000969,8000970,8000971,8000972,8000973,8000974,8000975,8000976,8000977,8000978,8000979,8000980,8000981,8000982,8000983,8000984,8000985,8000986,8000987,8000988,8000989,8000990,8000991,8000992,8000993,8000994,8000995,8000996,8000997,8000998,8000999,8001000,9000001,9000002,9000003,9000004,9000005,9000006,9000007,9000008,9000009,9000010,9000011,9000012,9000013,9000014,9000015,9000016,9000017,9000018,9000019,9000020,9000021,9000022,9000023,9000024,9000025,9000026,9000027,9000028,9000029,9000030,9000031,9000032,9000033,9000034,9000035,9000036,9000037,9000038,9000039,9000040,9000041,9000042,9000043,9000044,9000045,9000046,9000047,9000048,9000049,9000050,9000051,9000052,9000053,9000054,9000055,9000056,9000057,9000058,9000059,9000060,9000061,9000062,9000063,9000064,9000065,9000066,9000067,9000068,9000069,9000070,9000071,9000072,9000073,9000074,9000075,9000076,9000077,9000078,9000079,9000080,9000081,9000082,9000083,9000084,9000085,9000086,9000087,9000088,9000089,9000090,9000091,9000092,9000093,9000094,9000095,9000096,9000097,9000098,9000099,9000100,9000101,9000102,9000103,9000104,9000105,9000106,9000107,9000108,9000109,9000110,9000111,9000112,9000113,9000114,9000115,9000116,9000117,9000118,9000119,9000120,9000121,9000122,9000123,9000124,9000125,9000126,9000127,9000128,9000129,9000130,9000131,9000132,9000133,9000134,9000135,9000136,9000137,9000138,9000139,9000140,9000141,9000142,9000143,9000144,9000145,9000146,9000147,9000148,9000149,9000150,9000151,9000152,9000153,9000154,9000155,9000156,9000157,9000158,9000159,9000160,9000161,9000162,9000163,9000164,9000165,9000166,9000167,9000168,9000169,9000170,9000171,9000172,9000173,9000174,9000175,9000176,9000177,9000178,9000179,9000180,9000181,9000182,9000183,9000184,9000185,9000186,9000187,9000188,9000189,9000190,9000191,9000192,9000193,9000194,9000195,9000196,9000197,9000198,9000199,9000200,9000201,9000202,9000203,9000204,9000205,9000206,9000207,9000208,9000209,9000210,9000211,9000212,9000213,9000214,9000215,9000216,9000217,9000218,9000219,9000220,9000221,9000222,9000223,9000224,9000225,9000226,9000227,9000228,9000229,9000230,9000231,9000232,9000233,9000234,9000235,9000236,9000237,9000238,9000239,9000240,9000241,9000242,9000243,9000244,9000245,9000246,9000247,9000248,9000249,9000250,9000251,9000252,9000253,9000254,9000255,9000256,9000257,9000258,9000259,9000260,9000261,9000262,9000263,9000264,9000265,9000266,9000267,9000268,9000269,9000270,9000271,9000272,9000273,9000274,9000275,9000276,9000277,9000278,9000279,9000280,9000281,9000282,9000283,9000284,9000285,9000286,9000287,9000288,9000289,9000290,9000291,9000292,9000293,9000294,9000295,9000296,9000297,9000298,9000299,9000300,9000301,9000302,9000303,9000304,9000305,9000306,9000307,9000308,9000309,9000310,9000311,9000312,9000313,9000314,9000315,9000316,9000317,9000318,9000319,9000320,9000321,9000322,9000323,9000324,9000325,9000326,9000327,9000328,9000329,9000330,9000331,9000332,9000333,9000334,9000335,9000336,9000337,9000338,9000339,9000340,9000341,9000342,9000343,9000344,9000345,9000346,9000347,9000348,9000349,9000350,9000351,9000352,9000353,9000354,9000355,9000356,9000357,9000358,9000359,9000360,9000361,9000362,9000363,9000364,9000365,9000366,9000367,9000368,9000369,9000370,9000371,9000372,9000373,9000374,9000375,9000376,9000377,9000378,9000379,9000380,9000381,9000382,9000383,9000384,9000385,9000386,9000387,9000388,9000389,9000390,9000391,9000392,9000393,9000394,9000395,9000396,9000397,9000398,9000399,9000400,9000401,9000402,9000403,9000404,9000405,9000406,9000407,9000408,9000409,9000410,9000411,9000412,9000413,9000414,9000415,9000416,9000417,9000418,9000419,9000420,9000421,9000422,9000423,9000424,9000425,9000426,9000427,9000428,9000429,9000430,9000431,9000432,9000433,9000434,9000435,9000436,9000437,9000438,9000439,9000440,9000441,9000442,9000443,9000444,9000445,9000446,9000447,9000448,9000449,9000450,9000451,9000452,9000453,9000454,9000455,9000456,9000457,9000458,9000459,9000460,9000461,9000462,9000463,9000464,9000465,9000466,9000467,9000468,9000469,9000470,9000471,9000472,9000473,9000474,9000475,9000476,9000477,9000478,9000479,9000480,9000481,9000482,9000483,9000484,9000485,9000486,9000487,9000488,9000489,9000490,9000491,9000492,9000493,9000494,9000495,9000496,9000497,9000498,9000499,9000500,9000501,9000502,9000503,9000504,9000505,9000506,9000507,9000508,9000509,9000510,9000511,9000512,9000513,9000514,9000515,9000516,9000517,9000518,9000519,9000520,9000521,9000522,9000523,9000524,9000525,9000526,9000527,9000528,9000529,9000530,9000531,9000532,9000533,9000534,9000535,9000536,9000537,9000538,9000539,9000540,9000541,9000542,9000543,9000544,9000545,9000546,9000547,9000548,9000549,9000550,9000551,9000552,9000553,9000554,9000555,9000556,9000557,9000558,9000559,9000560,9000561,9000562,9000563,9000564,9000565,9000566,9000567,9000568,9000569,9000570,9000571,9000572,9000573,9000574,9000575,9000576,9000577,9000578,9000579,9000580,9000581,9000582,9000583,9000584,9000585,9000586,9000587,9000588,9000589,9000590,9000591,9000592,9000593,9000594,9000595,9000596,9000597,9000598,9000599,9000600,9000601,9000602,9000603,9000604,9000605,9000606,9000607,9000608,9000609,9000610,9000611,9000612,9000613,9000614,9000615,9000616,9000617,9000618,9000619,9000620,9000621,9000622,9000623,9000624,9000625,9000626,9000627,9000628,9000629,9000630,9000631,9000632,9000633,9000634,9000635,9000636,9000637,9000638,9000639,9000640,9000641,9000642,9000643,9000644,9000645,9000646,9000647,9000648,9000649,9000650,9000651,9000652,9000653,9000654,9000655,9000656,9000657,9000658,9000659,9000660,9000661,9000662,9000663,9000664,9000665,9000666,9000667,9000668,9000669,9000670,9000671,9000672,9000673,9000674,9000675,9000676,9000677,9000678,9000679,9000680,9000681,9000682,9000683,9000684,9000685,9000686,9000687,9000688,9000689,9000690,9000691,9000692,9000693,9000694,9000695,9000696,9000697,9000698,9000699,9000700,9000701,9000702,9000703,9000704,9000705,9000706,9000707,9000708,9000709,9000710,9000711,9000712,9000713,9000714,9000715,9000716,9000717,9000718,9000719,9000720,9000721,9000722,9000723,9000724,9000725,9000726,9000727,9000728,9000729,9000730,9000731,9000732,9000733,9000734,9000735,9000736,9000737,9000738,9000739,9000740,9000741,9000742,9000743,9000744,9000745,9000746,9000747,9000748,9000749,9000750,9000751,9000752,9000753,9000754,9000755,9000756,9000757,9000758,9000759,9000760,9000761,9000762,9000763,9000764,9000765,9000766,9000767,9000768,9000769,9000770,9000771,9000772,9000773,9000774,9000775,9000776,9000777,9000778,9000779,9000780,9000781,9000782,9000783,9000784,9000785,9000786,9000787,9000788,9000789,9000790,9000791,9000792,9000793,9000794,9000795,9000796,9000797,9000798,9000799,9000800,9000801,9000802,9000803,9000804,9000805,9000806,9000807,9000808,9000809,9000810,9000811,9000812,9000813,9000814,9000815,9000816,9000817,9000818,9000819,9000820,9000821,9000822,9000823,9000824,9000825,9000826,9000827,9000828,9000829,9000830,9000831,9000832,9000833,9000834,9000835,9000836,9000837,9000838,9000839,9000840,9000841,9000842,9000843,9000844,9000845,9000846,9000847,9000848,9000849,9000850,9000851,9000852,9000853,9000854,9000855,9000856,9000857,9000858,9000859,9000860,9000861,9000862,9000863,9000864,9000865,9000866,9000867,9000868,9000869,9000870,9000871,9000872,9000873,9000874,9000875,9000876,9000877,9000878,9000879,9000880,9000881,9000882,9000883,9000884,9000885,9000886,9000887,9000888,9000889,9000890,9000891,9000892,9000893,9000894,9000895,9000896,9000897,9000898,9000899,9000900,9000901,9000902,9000903,9000904,9000905,9000906,9000907,9000908,9000909,9000910,9000911,9000912,9000913,9000914,9000915,9000916,9000917,9000918,9000919,9000920,9000921,9000922,9000923,9000924,9000925,9000926,9000927,9000928,9000929,9000930,9000931,9000932,9000933,9000934,9000935,9000936,9000937,9000938,9000939,9000940,9000941,9000942,9000943,9000944,9000945,9000946,9000947,9000948,9000949,9000950,9000951,9000952,9000953,9000954,9000955,9000956,9000957,9000958,9000959,9000960,9000961,9000962,9000963,9000964,9000965,9000966,9000967,9000968,9000969,9000970,9000971,9000972,9000973,9000974,9000975,9000976,9000977,9000978,9000979,9000980,9000981,9000982,9000983,9000984,9000985,9000986,9000987,9000988,9000989,9000990,9000991,9000992,9000993,9000994,9000995,9000996,9000997,9000998,9000999,9001000,10000001,10000002,10000003,10000004,10000005,10000006,10000007,10000008,10000009,10000010,10000011,10000012,10000013,10000014,10000015,10000016,10000017,10000018,10000019,10000020,10000021,10000022,10000023,10000024,10000025,10000026,10000027,10000028,10000029,10000030,10000031,10000032,10000033,10000034,10000035,10000036,10000037,10000038,10000039,10000040,10000041,10000042,10000043,10000044,10000045,10000046,10000047,10000048,10000049,10000050,10000051,10000052,10000053,10000054,10000055,10000056,10000057,10000058,10000059,10000060,10000061,10000062,10000063,10000064,10000065,10000066,10000067,10000068,10000069,10000070,10000071,10000072,10000073,10000074,10000075,10000076,10000077,10000078,10000079,10000080,10000081,10000082,10000083,10000084,10000085,10000086,10000087,10000088,10000089,10000090,10000091,10000092,10000093,10000094,10000095,10000096,10000097,10000098,10000099,10000100,10000101,10000102,10000103,10000104,10000105,10000106,10000107,10000108,10000109,10000110,10000111,10000112,10000113,10000114,10000115,10000116,10000117,10000118,10000119,10000120,10000121,10000122,10000123,10000124,10000125,10000126,10000127,10000128,10000129,10000130,10000131,10000132,10000133,10000134,10000135,10000136,10000137,10000138,10000139,10000140,10000141,10000142,10000143,10000144,10000145,10000146,10000147,10000148,10000149,10000150,10000151,10000152,10000153,10000154,10000155,10000156,10000157,10000158,10000159,10000160,10000161,10000162,10000163,10000164,10000165,10000166,10000167,10000168,10000169,10000170,10000171,10000172,10000173,10000174,10000175,10000176,10000177,10000178,10000179,10000180,10000181,10000182,10000183,10000184,10000185,10000186,10000187,10000188,10000189,10000190,10000191,10000192,10000193,10000194,10000195,10000196,10000197,10000198,10000199,10000200,10000201,10000202,10000203,10000204,10000205,10000206,10000207,10000208,10000209,10000210,10000211,10000212,10000213,10000214,10000215,10000216,10000217,10000218,10000219,10000220,10000221,10000222,10000223,10000224,10000225,10000226,10000227,10000228,10000229,10000230,10000231,10000232,10000233,10000234,10000235,10000236,10000237,10000238,10000239,10000240,10000241,10000242,10000243,10000244,10000245,10000246,10000247,10000248,10000249,10000250,10000251,10000252,10000253,10000254,10000255,10000256,10000257,10000258,10000259,10000260,10000261,10000262,10000263,10000264,10000265,10000266,10000267,10000268,10000269,10000270,10000271,10000272,10000273,10000274,10000275,10000276,10000277,10000278,10000279,10000280,10000281,10000282,10000283,10000284,10000285,10000286,10000287,10000288,10000289,10000290,10000291,10000292,10000293,10000294,10000295,10000296,10000297,10000298,10000299,10000300,10000301,10000302,10000303,10000304,10000305,10000306,10000307,10000308,10000309,10000310,10000311,10000312,10000313,10000314,10000315,10000316,10000317,10000318,10000319,10000320,10000321,10000322,10000323,10000324,10000325,10000326,10000327,10000328,10000329,10000330,10000331,10000332,10000333,10000334,10000335,10000336,10000337,10000338,10000339,10000340,10000341,10000342,10000343,10000344,10000345,10000346,10000347,10000348,10000349,10000350,10000351,10000352,10000353,10000354,10000355,10000356,10000357,10000358,10000359,10000360,10000361,10000362,10000363,10000364,10000365,10000366,10000367,10000368,10000369,10000370,10000371,10000372,10000373,10000374,10000375,10000376,10000377,10000378,10000379,10000380,10000381,10000382,10000383,10000384,10000385,10000386,10000387,10000388,10000389,10000390,10000391,10000392,10000393,10000394,10000395,10000396,10000397,10000398,10000399,10000400,10000401,10000402,10000403,10000404,10000405,10000406,10000407,10000408,10000409,10000410,10000411,10000412,10000413,10000414,10000415,10000416,10000417,10000418,10000419,10000420,10000421,10000422,10000423,10000424,10000425,10000426,10000427,10000428,10000429,10000430,10000431,10000432,10000433,10000434,10000435,10000436,10000437,10000438,10000439,10000440,10000441,10000442,10000443,10000444,10000445,10000446,10000447,10000448,10000449,10000450,10000451,10000452,10000453,10000454,10000455,10000456,10000457,10000458,10000459,10000460,10000461,10000462,10000463,10000464,10000465,10000466,10000467,10000468,10000469,10000470,10000471,10000472,10000473,10000474,10000475,10000476,10000477,10000478,10000479,10000480,10000481,10000482,10000483,10000484,10000485,10000486,10000487,10000488,10000489,10000490,10000491,10000492,10000493,10000494,10000495,10000496,10000497,10000498,10000499,10000500,10000501,10000502,10000503,10000504,10000505,10000506,10000507,10000508,10000509,10000510,10000511,10000512,10000513,10000514,10000515,10000516,10000517,10000518,10000519,10000520,10000521,10000522,10000523,10000524,10000525,10000526,10000527,10000528,10000529,10000530,10000531,10000532,10000533,10000534,10000535,10000536,10000537,10000538,10000539,10000540,10000541,10000542,10000543,10000544,10000545,10000546,10000547,10000548,10000549,10000550,10000551,10000552,10000553,10000554,10000555,10000556,10000557,10000558,10000559,10000560,10000561,10000562,10000563,10000564,10000565,10000566,10000567,10000568,10000569,10000570,10000571,10000572,10000573,10000574,10000575,10000576,10000577,10000578,10000579,10000580,10000581,10000582,10000583,10000584,10000585,10000586,10000587,10000588,10000589,10000590,10000591,10000592,10000593,10000594,10000595,10000596,10000597,10000598,10000599,10000600,10000601,10000602,10000603,10000604,10000605,10000606,10000607,10000608,10000609,10000610,10000611,10000612,10000613,10000614,10000615,10000616,10000617,10000618,10000619,10000620,10000621,10000622,10000623,10000624,10000625,10000626,10000627,10000628,10000629,10000630,10000631,10000632,10000633,10000634,10000635,10000636,10000637,10000638,10000639,10000640,10000641,10000642,10000643,10000644,10000645,10000646,10000647,10000648,10000649,10000650,10000651,10000652,10000653,10000654,10000655,10000656,10000657,10000658,10000659,10000660,10000661,10000662,10000663,10000664,10000665,10000666,10000667,10000668,10000669,10000670,10000671,10000672,10000673,10000674,10000675,10000676,10000677,10000678,10000679,10000680,10000681,10000682,10000683,10000684,10000685,10000686,10000687,10000688,10000689,10000690,10000691,10000692,10000693,10000694,10000695,10000696,10000697,10000698,10000699,10000700,10000701,10000702,10000703,10000704,10000705,10000706,10000707,10000708,10000709,10000710,10000711,10000712,10000713,10000714,10000715,10000716,10000717,10000718,10000719,10000720,10000721,10000722,10000723,10000724,10000725,10000726,10000727,10000728,10000729,10000730,10000731,10000732,10000733,10000734,10000735,10000736,10000737,10000738,10000739,10000740,10000741,10000742,10000743,10000744,10000745,10000746,10000747,10000748,10000749,10000750,10000751,10000752,10000753,10000754,10000755,10000756,10000757,10000758,10000759,10000760,10000761,10000762,10000763,10000764,10000765,10000766,10000767,10000768,10000769,10000770,10000771,10000772,10000773,10000774,10000775,10000776,10000777,10000778,10000779,10000780,10000781,10000782,10000783,10000784,10000785,10000786,10000787,10000788,10000789,10000790,10000791,10000792,10000793,10000794,10000795,10000796,10000797,10000798,10000799,10000800,10000801,10000802,10000803,10000804,10000805,10000806,10000807,10000808,10000809,10000810,10000811,10000812,10000813,10000814,10000815,10000816,10000817,10000818,10000819,10000820,10000821,10000822,10000823,10000824,10000825,10000826,10000827,10000828,10000829,10000830,10000831,10000832,10000833,10000834,10000835,10000836,10000837,10000838,10000839,10000840,10000841,10000842,10000843,10000844,10000845,10000846,10000847,10000848,10000849,10000850,10000851,10000852,10000853,10000854,10000855,10000856,10000857,10000858,10000859,10000860,10000861,10000862,10000863,10000864,10000865,10000866,10000867,10000868,10000869,10000870,10000871,10000872,10000873,10000874,10000875,10000876,10000877,10000878,10000879,10000880,10000881,10000882,10000883,10000884,10000885,10000886,10000887,10000888,10000889,10000890,10000891,10000892,10000893,10000894,10000895,10000896,10000897,10000898,10000899,10000900,10000901,10000902,10000903,10000904,10000905,10000906,10000907,10000908,10000909,10000910,10000911,10000912,10000913,10000914,10000915,10000916,10000917,10000918,10000919,10000920,10000921,10000922,10000923,10000924,10000925,10000926,10000927,10000928,10000929,10000930,10000931,10000932,10000933,10000934,10000935,10000936,10000937,10000938,10000939,10000940,10000941,10000942,10000943,10000944,10000945,10000946,10000947,10000948,10000949,10000950,10000951,10000952,10000953,10000954,10000955,10000956,10000957,10000958,10000959,10000960,10000961,10000962,10000963,10000964,10000965,10000966,10000967,10000968,10000969,10000970,10000971,10000972,10000973,10000974,10000975,10000976,10000977,10000978,10000979,10000980,10000981,10000982,10000983,10000984,10000985,10000986,10000987,10000988,10000989,10000990,10000991,10000992,10000993,10000994,10000995,10000996,10000997,10000998,10000999,10001000]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING10_1_join_on_2tbls_withfilter_onpkey_grpby_1col
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_1), count(b.col_bigint_id_1) from pkeyBigint1M_1 as a,pkeyBigint1M_2 as b where a.col_bigint_card1_1 in (1000500) and a.col_bigint_id_1=b.col_bigint_id_1 GROUP BY a.col_bigint_card2_1
+
+ - workload: JOING10_2_join_on_3tbls_withfilter_onpkey_grpby_2col
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, a.col_bigint_card2_1, count(b.col_bigint_id_1) from pkeyBigint1M_1 as a,pkeyBigint1M_2 as b,pkeyBigint1M_3 as c where a.col_bigint_card2_1 in (1000500) and a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_1=c.col_bigint_id_1 GROUP BY a.col_bigint_card2_1,a.col_bigint_card1_1
+
+ - workload: JOING10_3_join_on_2tbls_withfilter_onpkey_grpby_2col
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_1), count(b.col_bigint_id_1) from pkeyBigint1M_1 as a,pkeyBigint1M_2 as b where a.col_bigint_card2_1 in (1000500) and a.col_bigint_id_1=b.col_bigint_id_1 GROUP BY a.col_bigint_card2_1
+
+
+ - workload: JOING10_4_join_on_2tbls_withfilter_onpkey_ordby_1col
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 ORDER BY pkeyBigint1M_1.col_bigint_card1_1
+
+ - workload: JOING10_5_join_on_3tbls_withfilter_onpkey_ordby_1col
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1 ORDER BY pkeyBigint1M_1.col_bigint_card1_1
+
+ - workload: JOING10_6_join_on_2tbls_withfilter_onpkey_ordby_2col
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 ORDER BY pkeyBigint1M_1.col_bigint_card1_1,pkeyBigint1M_1.col_bigint_card2_1
+
+ - workload: JOING10_7_join_on_2tbls_withfilter_onpkey_ordby_desc_1col
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 ORDER BY pkeyBigint1M_1.col_bigint_card1_1 DESC
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING11_join_groupby_orderby_multiple_loops.yaml b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING11_join_groupby_orderby_multiple_loops.yaml
new file mode 100644
index 000000000..d3227812a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING11_join_groupby_orderby_multiple_loops.yaml
@@ -0,0 +1,168 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{ endpoint }}:5432/postgres?sslmode=require
+username: {{ username }}
+password: {{ password }}
+isolation: TRANSACTION_REPEATABLE_READ
+batchsize: 128
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M1_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M1_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M1_3;
+ - DROP TABLE IF EXISTS pkeyBigint1Mr_1;
+ - DROP TABLE IF EXISTS pkeyBigint1Mr_2;
+ - CREATE TABLE pkeyBigint1M1_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M1_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M1_3(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1Mr_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ));
+ - CREATE TABLE pkeyBigint1Mr_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M1_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M1_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M1_3;
+ - DROP TABLE IF EXISTS pkeyBigint1Mr_1;
+ - DROP TABLE IF EXISTS pkeyBigint1Mr_2;
+ loadRules:
+ - table: pkeyBigint1M1_
+ count: 3
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1010001 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: pkeyBigint1Mr_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1010001 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING11_1_join_on_2tbls_withfilter_onpkey_grpby_1col_10k_loops
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1M1_1 as a,pkeyBigint1M1_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1
+
+ - workload: JOING11_2_join_on_2tbls_withfilter_onpkey_grpby_1col_30k_loops
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1M1_1 as a,pkeyBigint1M1_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<30000 GROUP BY a.col_bigint_card2_1
+
+ - workload: JOING11_3_join_on_2tbls_withfilter_onpkey_grpby_ordby_1col_10k_loops
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1M1_1 as a,pkeyBigint1M1_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1 ORDER BY col_bigint_card2_1
+
+ - workload: JOING11_4_join_on_3tbls_withfilter_onpkey_grpby_ordby_1col_10k_loops
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1M1_1 as a,pkeyBigint1M1_2 as b,pkeyBigint1M1_2 as c where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_1=c.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1 order by a.col_bigint_card2_1
+
+ - workload: JOING11_5_join_on_2tbls_range_withfilter_onpkey_grpby_1col_10k_loops
+ run:
+ - name: join_on_pk_2tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1Mr_1 as a,pkeyBigint1Mr_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1
+
+ - workload: JOING11_6_join_on_2tbls_range_withfilter_onpkey_grpby_ordby_1col_10k_loops
+ run:
+ - name: join_on_pk_2tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1Mr_1 as a,pkeyBigint1Mr_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1 ORDER BY col_bigint_card2_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING12_compate_indexscan_on_rangetbl.yaml b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING12_compate_indexscan_on_rangetbl.yaml
new file mode 100644
index 000000000..833116eea
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING12_compate_indexscan_on_rangetbl.yaml
@@ -0,0 +1,97 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{ endpoint }}:5432/postgres?sslmode=require
+username: {{ username }}
+password: {{ password }}
+isolation: TRANSACTION_REPEATABLE_READ
+batchsize: 128
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS JoinG12_Rangetbl_1;
+ - DROP TABLE IF EXISTS JoinG12_Rangetbl_2;
+ - CREATE TABLE JoinG12_Rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ));
+ - CREATE INDEX ON JoinG12_Rangetbl_1(col_bigint_id_2);
+ - CREATE TABLE JoinG12_Rangetbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ));
+ - CREATE INDEX ON JoinG12_Rangetbl_2(col_bigint_id_2);
+ cleanup:
+ - DROP TABLE IF EXISTS JoinG12_Rangetbl_1;
+ - DROP TABLE IF EXISTS JoinG12_Rangetbl2;
+
+ loadRules:
+ - table: JoinG12_Rangetbl_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING12_2_indexscan_join_on_skey
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: SELECT t1.col_bigint_id_1, t2.col_bigint_id_1 FROM JoinG12_Rangetbl_1 AS t1 JOIN JoinG12_Rangetbl_2 AS t2 ON t1.col_bigint_id_2 = t2.col_bigint_id_2 where t1.col_bigint_id_2>0 ;
+
+ - workload: JOING12_3_indexonly_join_on_skey
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: SELECT t1.col_bigint_id_2, t2.col_bigint_id_2 FROM JoinG12_Rangetbl_1 AS t1 JOIN JoinG12_Rangetbl_2 AS t2 ON t1.col_bigint_id_2 = t2.col_bigint_id_2 where t1.col_bigint_id_2>0 ;
+
+
+ - workload: JOING12_5_indexscan_join_on_skey_IN
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: SELECT t1.col_bigint_id_1, t2.col_bigint_id_1 FROM JoinG12_Rangetbl_1 AS t1 JOIN JoinG12_Rangetbl_2 AS t2 ON t1.col_bigint_id_2 = t2.col_bigint_id_2 where t1.col_bigint_id_2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ;
+ bindings:
+ split_min_max_for_count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
diff --git a/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING1_join_on_hash_partitioned_tbl.yaml b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING1_join_on_hash_partitioned_tbl.yaml
new file mode 100644
index 000000000..55b56a8ac
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING1_join_on_hash_partitioned_tbl.yaml
@@ -0,0 +1,137 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Hashtbl_1;
+ - DROP TABLE IF EXISTS Hashtbl_2;
+ - CREATE TABLE Hashtbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Hashtbl_1(col_bigint_id_2);
+ - CREATE INDEX ON Hashtbl_1(col_bigint_id_3);
+ - CREATE TABLE Hashtbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Hashtbl_2(col_bigint_id_2);
+ - CREATE INDEX ON Hashtbl_2(col_bigint_id_3);
+ cleanup:
+ - DROP TABLE IF EXISTS Hashtbl_1;
+ - DROP TABLE IF EXISTS Hashtbl2;
+
+ loadRules:
+ - table: Hashtbl_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING1_1_join_on_pk_of_hash_tbl
+ customTags: customer=2
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_1,Hashtbl_2.col_bigint_id_1 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_1=Hashtbl_2.col_bigint_id_1
+
+ - workload: JOING1_2_join_on_pk_of_hash_tbl_with_1_filter
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_1,Hashtbl_2.col_bigint_id_1 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_1=Hashtbl_2.col_bigint_id_1 where Hashtbl_1.col_bigint_id_1<100001
+
+ - workload: JOING1_3_join_on_pk_of_hash_tbl_with_2_filter
+ customTags: customer=1
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_1,Hashtbl_2.col_bigint_id_1 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_1=Hashtbl_2.col_bigint_id_1 where Hashtbl_1.col_bigint_id_1<100001 and Hashtbl_2.col_bigint_id_1<100001
+
+ - workload: JOING1_4_join_on_hashidx_of_hash_tbl
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_2,Hashtbl_2.col_bigint_id_2 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_2=Hashtbl_2.col_bigint_id_2
+
+ - workload: JOING1_5_join_on_hashidx_of_hash_tbl_with_1_filter
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_2,Hashtbl_2.col_bigint_id_2 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_2=Hashtbl_2.col_bigint_id_2 where Hashtbl_1.col_bigint_id_2<100001
+
+ - workload: JOING1_6_join_on_rangeidx_of_hash_tbl
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_3,Hashtbl_2.col_bigint_id_3 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_3=Hashtbl_2.col_bigint_id_3
+
+ - workload: JOING1_7_join_on_rangeidx_of_hash_tbl_with_1_filter
+ customTags: customer=3
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_3,Hashtbl_2.col_bigint_id_3 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_3=Hashtbl_2.col_bigint_id_3 where Hashtbl_1.col_bigint_id_3<100001
+
+ - workload: JOING1_8_join_on_nonidx_of_hash_tbl
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_4,Hashtbl_2.col_bigint_id_4 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_4=Hashtbl_2.col_bigint_id_4
+
+ - workload: JOING1_9_join_on_nonidx_of_hash_tbl_with_1_filter
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_4,Hashtbl_2.col_bigint_id_4 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_4=Hashtbl_2.col_bigint_id_4 where Hashtbl_1.col_bigint_id_4<100001
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING2_join_on_range_partitioned_tbl.yaml b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING2_join_on_range_partitioned_tbl.yaml
new file mode 100644
index 000000000..6a9884384
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING2_join_on_range_partitioned_tbl.yaml
@@ -0,0 +1,114 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Rangetbl_1;
+ - DROP TABLE IF EXISTS Rangetbl_2;
+ - CREATE TABLE Rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Rangetbl_1(col_bigint_id_2);
+ - CREATE TABLE Rangetbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Rangetbl_2(col_bigint_id_2);
+ cleanup:
+ - DROP TABLE IF EXISTS Rangetbl_1;
+ - DROP TABLE IF EXISTS Rangetbl2;
+
+ loadRules:
+ - table: Rangetbl_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING2_2_join_on_pk_of_range_tbl_with_1_filter
+ customTags: customer=1
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Rangetbl_2.col_bigint_id_1 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_1=Rangetbl_2.col_bigint_id_1 where Rangetbl_1.col_bigint_id_1<100001
+
+ - workload: JOING2_3_join_on_pk_of_range_tbl_with_2_filter
+ customTags: customer=2
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Rangetbl_2.col_bigint_id_1 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_1=Rangetbl_2.col_bigint_id_1 where Rangetbl_1.col_bigint_id_1<100001 and Rangetbl_2.col_bigint_id_1<100001
+
+ - workload: JOING2_4_join_on_rangeidx_of_range_tbl
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_2,Rangetbl_2.col_bigint_id_2 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_2=Rangetbl_2.col_bigint_id_2
+
+ - workload: JOING2_5_join_on_rangeidx_of_range_tbl_with_1_filter
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_2,Rangetbl_2.col_bigint_id_2 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_2=Rangetbl_2.col_bigint_id_2 where Rangetbl_1.col_bigint_id_2<100001
+
+
+ - workload: JOING2_6_join_on_nonidx_of_range_tbl
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_4,Rangetbl_2.col_bigint_id_4 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_4=Rangetbl_2.col_bigint_id_4
+
+ - workload: JOING2_7_join_on_nonidx_of_range_tbl_with_1_filter
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_4,Rangetbl_2.col_bigint_id_4 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_4=Rangetbl_2.col_bigint_id_4 where Rangetbl_1.col_bigint_id_4<100001
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING3_join_predicate_cases.yaml b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING3_join_predicate_cases.yaml
new file mode 100644
index 000000000..a40bf5d8d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING3_join_predicate_cases.yaml
@@ -0,0 +1,195 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Rangetbl_1;
+ - DROP TABLE IF EXISTS Rangetbl_2;
+ - CREATE TABLE Rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Rangetbl_1(col_bigint_id_2);
+ - CREATE TABLE Rangetbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Rangetbl_2(col_bigint_id_2);
+ - DROP TABLE IF EXISTS Hashtbl_1;
+ - DROP TABLE IF EXISTS Hashtbl_2;
+ - CREATE TABLE Hashtbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Hashtbl_1(col_bigint_id_2);
+ - CREATE INDEX ON Hashtbl_1(col_bigint_id_3);
+ - CREATE TABLE Hashtbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Hashtbl_2(col_bigint_id_2);
+ - CREATE INDEX ON Hashtbl_2(col_bigint_id_3);
+ cleanup:
+ - DROP TABLE IF EXISTS Rangetbl_1;
+ - DROP TABLE IF EXISTS Rangetbl2;
+ - DROP TABLE IF EXISTS Hashtbl_1;
+ - DROP TABLE IF EXISTS Hashtbl2;
+
+
+ loadRules:
+ - table: Rangetbl_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: Hashtbl_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING3_1_join_on_pk_of_range_and_hash_tbl
+ customTags: customer=2
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Hashtbl_1.col_bigint_id_1 from Rangetbl_1 join Hashtbl_1 on Rangetbl_1.col_bigint_id_1=Hashtbl_1.col_bigint_id_1
+
+
+ - workload: JOING3_2_join_on_hashpk_IN_clause_1k
+ customTags: customer=6
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_1,Hashtbl_2.col_bigint_id_1 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_1=Hashtbl_2.col_bigint_id_1 where Hashtbl_1.col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 1000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_3_join_on_hashpk_IN_clause_10k
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_1,Hashtbl_2.col_bigint_id_1 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_1=Hashtbl_2.col_bigint_id_1 where Hashtbl_1.col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_4_join_on_rangepk_IN_clause_1k
+ customTags: customer=3
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Rangetbl_2.col_bigint_id_1 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_1=Rangetbl_2.col_bigint_id_1 where Rangetbl_1.col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 1000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_5_join_on_rangepk_IN_clause_10k
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Rangetbl_2.col_bigint_id_1 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_1=Rangetbl_2.col_bigint_id_1 where Rangetbl_1.col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_6_join_on_hashidx_IN_clause_10k
+ customTags: customer=1
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_2,Hashtbl_2.col_bigint_id_2 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_2=Hashtbl_2.col_bigint_id_2 where Hashtbl_1.col_bigint_id_2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_7_join_on_rangeidx_IN_clause_10k
+ customTags: customer=2
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_2,Rangetbl_2.col_bigint_id_2 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_2=Rangetbl_2.col_bigint_id_2 where Rangetbl_1.col_bigint_id_2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
diff --git a/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING4_datatype_impact_joins.yaml b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING4_datatype_impact_joins.yaml
new file mode 100644
index 000000000..869bc91b5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING4_datatype_impact_joins.yaml
@@ -0,0 +1,125 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_2;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyVarchar1001M_1(col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_varchar100_pid_1));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyVarchar1001M_2(col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_varchar100_pid_1));
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_2;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyVarchar1001M_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_varchar100_pid_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING4_1_join_on_pk_of_bigint_datatype
+ run:
+ - name: join_on_pk_of_bigint_datatype
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1,pkeyBigint1M_2.col_bigint_id_1 from pkeyBigint1M_1 join pkeyBigint1M_2 on pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1
+
+
+ - workload: JOING4_2_join_on_pk_of_varchar_datatype
+ customTags: customer=1
+ run:
+ - name: join_on_pk_of_bigint_datatype
+ weight: 100
+ queries:
+ - query: select pkeyVarchar1001M_1.col_varchar100_pid_1,pkeyVarchar1001M_2.col_varchar100_pid_1 from pkeyVarchar1001M_1 join pkeyVarchar1001M_2 on pkeyVarchar1001M_1.col_varchar100_pid_1=pkeyVarchar1001M_2.col_varchar100_pid_1
diff --git a/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING5_to_test_data_cardinality.yaml b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING5_to_test_data_cardinality.yaml
new file mode 100644
index 000000000..7a905df80
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING5_to_test_data_cardinality.yaml
@@ -0,0 +1,192 @@
+#100000 col1 col2 col3 col4
+#Table1 1*1M 1000*1k 10000*100
+#Table2 1*1L 1000*100 10000*10
+#Table3 1*10k 100*100 1000*10
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint10k_1;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10k_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint10k_1;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000,2000002,2000003,2000004,2000005,2000006,2000007,2000008,2000009,2000010,2000011,2000012,2000013,2000014,2000015,2000016,2000017,2000018,2000019,2000020,2000021,2000022,2000023,2000024,2000025,2000026,2000027,2000028,2000029,2000030,2000031,2000032,2000033,2000034,2000035,2000036,2000037,2000038,2000039,2000040,2000041,2000042,2000043,2000044,2000045,2000046,2000047,2000048,2000049,2000050,2000051,2000052,2000053,2000054,2000055,2000056,2000057,2000058,2000059,2000060,2000061,2000062,2000063,2000064,2000065,2000066,2000067,2000068,2000069,2000070,2000071,2000072,2000073,2000074,2000075,2000076,2000077,2000078,2000079,2000080,2000081,2000082,2000083,2000084,2000085,2000086,2000087,2000088,2000089,2000090,2000091,2000092,2000093,2000094,2000095,2000096,2000097,2000098,2000099,2000100,2000101,2000102,2000103,2000104,2000105,2000106,2000107,2000108,2000109,2000110,2000111,2000112,2000113,2000114,2000115,2000116,2000117,2000118,2000119,2000120,2000121,2000122,2000123,2000124,2000125,2000126,2000127,2000128,2000129,2000130,2000131,2000132,2000133,2000134,2000135,2000136,2000137,2000138,2000139,2000140,2000141,2000142,2000143,2000144,2000145,2000146,2000147,2000148,2000149,2000150,2000151,2000152,2000153,2000154,2000155,2000156,2000157,2000158,2000159,2000160,2000161,2000162,2000163,2000164,2000165,2000166,2000167,2000168,2000169,2000170,2000171,2000172,2000173,2000174,2000175,2000176,2000177,2000178,2000179,2000180,2000181,2000182,2000183,2000184,2000185,2000186,2000187,2000188,2000189,2000190,2000191,2000192,2000193,2000194,2000195,2000196,2000197,2000198,2000199,2000200,2000201,2000202,2000203,2000204,2000205,2000206,2000207,2000208,2000209,2000210,2000211,2000212,2000213,2000214,2000215,2000216,2000217,2000218,2000219,2000220,2000221,2000222,2000223,2000224,2000225,2000226,2000227,2000228,2000229,2000230,2000231,2000232,2000233,2000234,2000235,2000236,2000237,2000238,2000239,2000240,2000241,2000242,2000243,2000244,2000245,2000246,2000247,2000248,2000249,2000250,2000251,2000252,2000253,2000254,2000255,2000256,2000257,2000258,2000259,2000260,2000261,2000262,2000263,2000264,2000265,2000266,2000267,2000268,2000269,2000270,2000271,2000272,2000273,2000274,2000275,2000276,2000277,2000278,2000279,2000280,2000281,2000282,2000283,2000284,2000285,2000286,2000287,2000288,2000289,2000290,2000291,2000292,2000293,2000294,2000295,2000296,2000297,2000298,2000299,2000300,2000301,2000302,2000303,2000304,2000305,2000306,2000307,2000308,2000309,2000310,2000311,2000312,2000313,2000314,2000315,2000316,2000317,2000318,2000319,2000320,2000321,2000322,2000323,2000324,2000325,2000326,2000327,2000328,2000329,2000330,2000331,2000332,2000333,2000334,2000335,2000336,2000337,2000338,2000339,2000340,2000341,2000342,2000343,2000344,2000345,2000346,2000347,2000348,2000349,2000350,2000351,2000352,2000353,2000354,2000355,2000356,2000357,2000358,2000359,2000360,2000361,2000362,2000363,2000364,2000365,2000366,2000367,2000368,2000369,2000370,2000371,2000372,2000373,2000374,2000375,2000376,2000377,2000378,2000379,2000380,2000381,2000382,2000383,2000384,2000385,2000386,2000387,2000388,2000389,2000390,2000391,2000392,2000393,2000394,2000395,2000396,2000397,2000398,2000399,2000400,2000401,2000402,2000403,2000404,2000405,2000406,2000407,2000408,2000409,2000410,2000411,2000412,2000413,2000414,2000415,2000416,2000417,2000418,2000419,2000420,2000421,2000422,2000423,2000424,2000425,2000426,2000427,2000428,2000429,2000430,2000431,2000432,2000433,2000434,2000435,2000436,2000437,2000438,2000439,2000440,2000441,2000442,2000443,2000444,2000445,2000446,2000447,2000448,2000449,2000450,2000451,2000452,2000453,2000454,2000455,2000456,2000457,2000458,2000459,2000460,2000461,2000462,2000463,2000464,2000465,2000466,2000467,2000468,2000469,2000470,2000471,2000472,2000473,2000474,2000475,2000476,2000477,2000478,2000479,2000480,2000481,2000482,2000483,2000484,2000485,2000486,2000487,2000488,2000489,2000490,2000491,2000492,2000493,2000494,2000495,2000496,2000497,2000498,2000499,2000500,2000501,2000502,2000503,2000504,2000505,2000506,2000507,2000508,2000509,2000510,2000511,2000512,2000513,2000514,2000515,2000516,2000517,2000518,2000519,2000520,2000521,2000522,2000523,2000524,2000525,2000526,2000527,2000528,2000529,2000530,2000531,2000532,2000533,2000534,2000535,2000536,2000537,2000538,2000539,2000540,2000541,2000542,2000543,2000544,2000545,2000546,2000547,2000548,2000549,2000550,2000551,2000552,2000553,2000554,2000555,2000556,2000557,2000558,2000559,2000560,2000561,2000562,2000563,2000564,2000565,2000566,2000567,2000568,2000569,2000570,2000571,2000572,2000573,2000574,2000575,2000576,2000577,2000578,2000579,2000580,2000581,2000582,2000583,2000584,2000585,2000586,2000587,2000588,2000589,2000590,2000591,2000592,2000593,2000594,2000595,2000596,2000597,2000598,2000599,2000600,2000601,2000602,2000603,2000604,2000605,2000606,2000607,2000608,2000609,2000610,2000611,2000612,2000613,2000614,2000615,2000616,2000617,2000618,2000619,2000620,2000621,2000622,2000623,2000624,2000625,2000626,2000627,2000628,2000629,2000630,2000631,2000632,2000633,2000634,2000635,2000636,2000637,2000638,2000639,2000640,2000641,2000642,2000643,2000644,2000645,2000646,2000647,2000648,2000649,2000650,2000651,2000652,2000653,2000654,2000655,2000656,2000657,2000658,2000659,2000660,2000661,2000662,2000663,2000664,2000665,2000666,2000667,2000668,2000669,2000670,2000671,2000672,2000673,2000674,2000675,2000676,2000677,2000678,2000679,2000680,2000681,2000682,2000683,2000684,2000685,2000686,2000687,2000688,2000689,2000690,2000691,2000692,2000693,2000694,2000695,2000696,2000697,2000698,2000699,2000700,2000701,2000702,2000703,2000704,2000705,2000706,2000707,2000708,2000709,2000710,2000711,2000712,2000713,2000714,2000715,2000716,2000717,2000718,2000719,2000720,2000721,2000722,2000723,2000724,2000725,2000726,2000727,2000728,2000729,2000730,2000731,2000732,2000733,2000734,2000735,2000736,2000737,2000738,2000739,2000740,2000741,2000742,2000743,2000744,2000745,2000746,2000747,2000748,2000749,2000750,2000751,2000752,2000753,2000754,2000755,2000756,2000757,2000758,2000759,2000760,2000761,2000762,2000763,2000764,2000765,2000766,2000767,2000768,2000769,2000770,2000771,2000772,2000773,2000774,2000775,2000776,2000777,2000778,2000779,2000780,2000781,2000782,2000783,2000784,2000785,2000786,2000787,2000788,2000789,2000790,2000791,2000792,2000793,2000794,2000795,2000796,2000797,2000798,2000799,2000800,2000801,2000802,2000803,2000804,2000805,2000806,2000807,2000808,2000809,2000810,2000811,2000812,2000813,2000814,2000815,2000816,2000817,2000818,2000819,2000820,2000821,2000822,2000823,2000824,2000825,2000826,2000827,2000828,2000829,2000830,2000831,2000832,2000833,2000834,2000835,2000836,2000837,2000838,2000839,2000840,2000841,2000842,2000843,2000844,2000845,2000846,2000847,2000848,2000849,2000850,2000851,2000852,2000853,2000854,2000855,2000856,2000857,2000858,2000859,2000860,2000861,2000862,2000863,2000864,2000865,2000866,2000867,2000868,2000869,2000870,2000871,2000872,2000873,2000874,2000875,2000876,2000877,2000878,2000879,2000880,2000881,2000882,2000883,2000884,2000885,2000886,2000887,2000888,2000889,2000890,2000891,2000892,2000893,2000894,2000895,2000896,2000897,2000898,2000899,2000900,2000901,2000902,2000903,2000904,2000905,2000906,2000907,2000908,2000909,2000910,2000911,2000912,2000913,2000914,2000915,2000916,2000917,2000918,2000919,2000920,2000921,2000922,2000923,2000924,2000925,2000926,2000927,2000928,2000929,2000930,2000931,2000932,2000933,2000934,2000935,2000936,2000937,2000938,2000939,2000940,2000941,2000942,2000943,2000944,2000945,2000946,2000947,2000948,2000949,2000950,2000951,2000952,2000953,2000954,2000955,2000956,2000957,2000958,2000959,2000960,2000961,2000962,2000963,2000964,2000965,2000966,2000967,2000968,2000969,2000970,2000971,2000972,2000973,2000974,2000975,2000976,2000977,2000978,2000979,2000980,2000981,2000982,2000983,2000984,2000985,2000986,2000987,2000988,2000989,2000990,2000991,2000992,2000993,2000994,2000995,2000996,2000997,2000998,2000999,2001000,3000001,3000002,3000003,3000004,3000005,3000006,3000007,3000008,3000009,3000010,3000011,3000012,3000013,3000014,3000015,3000016,3000017,3000018,3000019,3000020,3000021,3000022,3000023,3000024,3000025,3000026,3000027,3000028,3000029,3000030,3000031,3000032,3000033,3000034,3000035,3000036,3000037,3000038,3000039,3000040,3000041,3000042,3000043,3000044,3000045,3000046,3000047,3000048,3000049,3000050,3000051,3000052,3000053,3000054,3000055,3000056,3000057,3000058,3000059,3000060,3000061,3000062,3000063,3000064,3000065,3000066,3000067,3000068,3000069,3000070,3000071,3000072,3000073,3000074,3000075,3000076,3000077,3000078,3000079,3000080,3000081,3000082,3000083,3000084,3000085,3000086,3000087,3000088,3000089,3000090,3000091,3000092,3000093,3000094,3000095,3000096,3000097,3000098,3000099,3000100,3000101,3000102,3000103,3000104,3000105,3000106,3000107,3000108,3000109,3000110,3000111,3000112,3000113,3000114,3000115,3000116,3000117,3000118,3000119,3000120,3000121,3000122,3000123,3000124,3000125,3000126,3000127,3000128,3000129,3000130,3000131,3000132,3000133,3000134,3000135,3000136,3000137,3000138,3000139,3000140,3000141,3000142,3000143,3000144,3000145,3000146,3000147,3000148,3000149,3000150,3000151,3000152,3000153,3000154,3000155,3000156,3000157,3000158,3000159,3000160,3000161,3000162,3000163,3000164,3000165,3000166,3000167,3000168,3000169,3000170,3000171,3000172,3000173,3000174,3000175,3000176,3000177,3000178,3000179,3000180,3000181,3000182,3000183,3000184,3000185,3000186,3000187,3000188,3000189,3000190,3000191,3000192,3000193,3000194,3000195,3000196,3000197,3000198,3000199,3000200,3000201,3000202,3000203,3000204,3000205,3000206,3000207,3000208,3000209,3000210,3000211,3000212,3000213,3000214,3000215,3000216,3000217,3000218,3000219,3000220,3000221,3000222,3000223,3000224,3000225,3000226,3000227,3000228,3000229,3000230,3000231,3000232,3000233,3000234,3000235,3000236,3000237,3000238,3000239,3000240,3000241,3000242,3000243,3000244,3000245,3000246,3000247,3000248,3000249,3000250,3000251,3000252,3000253,3000254,3000255,3000256,3000257,3000258,3000259,3000260,3000261,3000262,3000263,3000264,3000265,3000266,3000267,3000268,3000269,3000270,3000271,3000272,3000273,3000274,3000275,3000276,3000277,3000278,3000279,3000280,3000281,3000282,3000283,3000284,3000285,3000286,3000287,3000288,3000289,3000290,3000291,3000292,3000293,3000294,3000295,3000296,3000297,3000298,3000299,3000300,3000301,3000302,3000303,3000304,3000305,3000306,3000307,3000308,3000309,3000310,3000311,3000312,3000313,3000314,3000315,3000316,3000317,3000318,3000319,3000320,3000321,3000322,3000323,3000324,3000325,3000326,3000327,3000328,3000329,3000330,3000331,3000332,3000333,3000334,3000335,3000336,3000337,3000338,3000339,3000340,3000341,3000342,3000343,3000344,3000345,3000346,3000347,3000348,3000349,3000350,3000351,3000352,3000353,3000354,3000355,3000356,3000357,3000358,3000359,3000360,3000361,3000362,3000363,3000364,3000365,3000366,3000367,3000368,3000369,3000370,3000371,3000372,3000373,3000374,3000375,3000376,3000377,3000378,3000379,3000380,3000381,3000382,3000383,3000384,3000385,3000386,3000387,3000388,3000389,3000390,3000391,3000392,3000393,3000394,3000395,3000396,3000397,3000398,3000399,3000400,3000401,3000402,3000403,3000404,3000405,3000406,3000407,3000408,3000409,3000410,3000411,3000412,3000413,3000414,3000415,3000416,3000417,3000418,3000419,3000420,3000421,3000422,3000423,3000424,3000425,3000426,3000427,3000428,3000429,3000430,3000431,3000432,3000433,3000434,3000435,3000436,3000437,3000438,3000439,3000440,3000441,3000442,3000443,3000444,3000445,3000446,3000447,3000448,3000449,3000450,3000451,3000452,3000453,3000454,3000455,3000456,3000457,3000458,3000459,3000460,3000461,3000462,3000463,3000464,3000465,3000466,3000467,3000468,3000469,3000470,3000471,3000472,3000473,3000474,3000475,3000476,3000477,3000478,3000479,3000480,3000481,3000482,3000483,3000484,3000485,3000486,3000487,3000488,3000489,3000490,3000491,3000492,3000493,3000494,3000495,3000496,3000497,3000498,3000499,3000500,3000501,3000502,3000503,3000504,3000505,3000506,3000507,3000508,3000509,3000510,3000511,3000512,3000513,3000514,3000515,3000516,3000517,3000518,3000519,3000520,3000521,3000522,3000523,3000524,3000525,3000526,3000527,3000528,3000529,3000530,3000531,3000532,3000533,3000534,3000535,3000536,3000537,3000538,3000539,3000540,3000541,3000542,3000543,3000544,3000545,3000546,3000547,3000548,3000549,3000550,3000551,3000552,3000553,3000554,3000555,3000556,3000557,3000558,3000559,3000560,3000561,3000562,3000563,3000564,3000565,3000566,3000567,3000568,3000569,3000570,3000571,3000572,3000573,3000574,3000575,3000576,3000577,3000578,3000579,3000580,3000581,3000582,3000583,3000584,3000585,3000586,3000587,3000588,3000589,3000590,3000591,3000592,3000593,3000594,3000595,3000596,3000597,3000598,3000599,3000600,3000601,3000602,3000603,3000604,3000605,3000606,3000607,3000608,3000609,3000610,3000611,3000612,3000613,3000614,3000615,3000616,3000617,3000618,3000619,3000620,3000621,3000622,3000623,3000624,3000625,3000626,3000627,3000628,3000629,3000630,3000631,3000632,3000633,3000634,3000635,3000636,3000637,3000638,3000639,3000640,3000641,3000642,3000643,3000644,3000645,3000646,3000647,3000648,3000649,3000650,3000651,3000652,3000653,3000654,3000655,3000656,3000657,3000658,3000659,3000660,3000661,3000662,3000663,3000664,3000665,3000666,3000667,3000668,3000669,3000670,3000671,3000672,3000673,3000674,3000675,3000676,3000677,3000678,3000679,3000680,3000681,3000682,3000683,3000684,3000685,3000686,3000687,3000688,3000689,3000690,3000691,3000692,3000693,3000694,3000695,3000696,3000697,3000698,3000699,3000700,3000701,3000702,3000703,3000704,3000705,3000706,3000707,3000708,3000709,3000710,3000711,3000712,3000713,3000714,3000715,3000716,3000717,3000718,3000719,3000720,3000721,3000722,3000723,3000724,3000725,3000726,3000727,3000728,3000729,3000730,3000731,3000732,3000733,3000734,3000735,3000736,3000737,3000738,3000739,3000740,3000741,3000742,3000743,3000744,3000745,3000746,3000747,3000748,3000749,3000750,3000751,3000752,3000753,3000754,3000755,3000756,3000757,3000758,3000759,3000760,3000761,3000762,3000763,3000764,3000765,3000766,3000767,3000768,3000769,3000770,3000771,3000772,3000773,3000774,3000775,3000776,3000777,3000778,3000779,3000780,3000781,3000782,3000783,3000784,3000785,3000786,3000787,3000788,3000789,3000790,3000791,3000792,3000793,3000794,3000795,3000796,3000797,3000798,3000799,3000800,3000801,3000802,3000803,3000804,3000805,3000806,3000807,3000808,3000809,3000810,3000811,3000812,3000813,3000814,3000815,3000816,3000817,3000818,3000819,3000820,3000821,3000822,3000823,3000824,3000825,3000826,3000827,3000828,3000829,3000830,3000831,3000832,3000833,3000834,3000835,3000836,3000837,3000838,3000839,3000840,3000841,3000842,3000843,3000844,3000845,3000846,3000847,3000848,3000849,3000850,3000851,3000852,3000853,3000854,3000855,3000856,3000857,3000858,3000859,3000860,3000861,3000862,3000863,3000864,3000865,3000866,3000867,3000868,3000869,3000870,3000871,3000872,3000873,3000874,3000875,3000876,3000877,3000878,3000879,3000880,3000881,3000882,3000883,3000884,3000885,3000886,3000887,3000888,3000889,3000890,3000891,3000892,3000893,3000894,3000895,3000896,3000897,3000898,3000899,3000900,3000901,3000902,3000903,3000904,3000905,3000906,3000907,3000908,3000909,3000910,3000911,3000912,3000913,3000914,3000915,3000916,3000917,3000918,3000919,3000920,3000921,3000922,3000923,3000924,3000925,3000926,3000927,3000928,3000929,3000930,3000931,3000932,3000933,3000934,3000935,3000936,3000937,3000938,3000939,3000940,3000941,3000942,3000943,3000944,3000945,3000946,3000947,3000948,3000949,3000950,3000951,3000952,3000953,3000954,3000955,3000956,3000957,3000958,3000959,3000960,3000961,3000962,3000963,3000964,3000965,3000966,3000967,3000968,3000969,3000970,3000971,3000972,3000973,3000974,3000975,3000976,3000977,3000978,3000979,3000980,3000981,3000982,3000983,3000984,3000985,3000986,3000987,3000988,3000989,3000990,3000991,3000992,3000993,3000994,3000995,3000996,3000997,3000998,3000999,3001000,4000001,4000002,4000003,4000004,4000005,4000006,4000007,4000008,4000009,4000010,4000011,4000012,4000013,4000014,4000015,4000016,4000017,4000018,4000019,4000020,4000021,4000022,4000023,4000024,4000025,4000026,4000027,4000028,4000029,4000030,4000031,4000032,4000033,4000034,4000035,4000036,4000037,4000038,4000039,4000040,4000041,4000042,4000043,4000044,4000045,4000046,4000047,4000048,4000049,4000050,4000051,4000052,4000053,4000054,4000055,4000056,4000057,4000058,4000059,4000060,4000061,4000062,4000063,4000064,4000065,4000066,4000067,4000068,4000069,4000070,4000071,4000072,4000073,4000074,4000075,4000076,4000077,4000078,4000079,4000080,4000081,4000082,4000083,4000084,4000085,4000086,4000087,4000088,4000089,4000090,4000091,4000092,4000093,4000094,4000095,4000096,4000097,4000098,4000099,4000100,4000101,4000102,4000103,4000104,4000105,4000106,4000107,4000108,4000109,4000110,4000111,4000112,4000113,4000114,4000115,4000116,4000117,4000118,4000119,4000120,4000121,4000122,4000123,4000124,4000125,4000126,4000127,4000128,4000129,4000130,4000131,4000132,4000133,4000134,4000135,4000136,4000137,4000138,4000139,4000140,4000141,4000142,4000143,4000144,4000145,4000146,4000147,4000148,4000149,4000150,4000151,4000152,4000153,4000154,4000155,4000156,4000157,4000158,4000159,4000160,4000161,4000162,4000163,4000164,4000165,4000166,4000167,4000168,4000169,4000170,4000171,4000172,4000173,4000174,4000175,4000176,4000177,4000178,4000179,4000180,4000181,4000182,4000183,4000184,4000185,4000186,4000187,4000188,4000189,4000190,4000191,4000192,4000193,4000194,4000195,4000196,4000197,4000198,4000199,4000200,4000201,4000202,4000203,4000204,4000205,4000206,4000207,4000208,4000209,4000210,4000211,4000212,4000213,4000214,4000215,4000216,4000217,4000218,4000219,4000220,4000221,4000222,4000223,4000224,4000225,4000226,4000227,4000228,4000229,4000230,4000231,4000232,4000233,4000234,4000235,4000236,4000237,4000238,4000239,4000240,4000241,4000242,4000243,4000244,4000245,4000246,4000247,4000248,4000249,4000250,4000251,4000252,4000253,4000254,4000255,4000256,4000257,4000258,4000259,4000260,4000261,4000262,4000263,4000264,4000265,4000266,4000267,4000268,4000269,4000270,4000271,4000272,4000273,4000274,4000275,4000276,4000277,4000278,4000279,4000280,4000281,4000282,4000283,4000284,4000285,4000286,4000287,4000288,4000289,4000290,4000291,4000292,4000293,4000294,4000295,4000296,4000297,4000298,4000299,4000300,4000301,4000302,4000303,4000304,4000305,4000306,4000307,4000308,4000309,4000310,4000311,4000312,4000313,4000314,4000315,4000316,4000317,4000318,4000319,4000320,4000321,4000322,4000323,4000324,4000325,4000326,4000327,4000328,4000329,4000330,4000331,4000332,4000333,4000334,4000335,4000336,4000337,4000338,4000339,4000340,4000341,4000342,4000343,4000344,4000345,4000346,4000347,4000348,4000349,4000350,4000351,4000352,4000353,4000354,4000355,4000356,4000357,4000358,4000359,4000360,4000361,4000362,4000363,4000364,4000365,4000366,4000367,4000368,4000369,4000370,4000371,4000372,4000373,4000374,4000375,4000376,4000377,4000378,4000379,4000380,4000381,4000382,4000383,4000384,4000385,4000386,4000387,4000388,4000389,4000390,4000391,4000392,4000393,4000394,4000395,4000396,4000397,4000398,4000399,4000400,4000401,4000402,4000403,4000404,4000405,4000406,4000407,4000408,4000409,4000410,4000411,4000412,4000413,4000414,4000415,4000416,4000417,4000418,4000419,4000420,4000421,4000422,4000423,4000424,4000425,4000426,4000427,4000428,4000429,4000430,4000431,4000432,4000433,4000434,4000435,4000436,4000437,4000438,4000439,4000440,4000441,4000442,4000443,4000444,4000445,4000446,4000447,4000448,4000449,4000450,4000451,4000452,4000453,4000454,4000455,4000456,4000457,4000458,4000459,4000460,4000461,4000462,4000463,4000464,4000465,4000466,4000467,4000468,4000469,4000470,4000471,4000472,4000473,4000474,4000475,4000476,4000477,4000478,4000479,4000480,4000481,4000482,4000483,4000484,4000485,4000486,4000487,4000488,4000489,4000490,4000491,4000492,4000493,4000494,4000495,4000496,4000497,4000498,4000499,4000500,4000501,4000502,4000503,4000504,4000505,4000506,4000507,4000508,4000509,4000510,4000511,4000512,4000513,4000514,4000515,4000516,4000517,4000518,4000519,4000520,4000521,4000522,4000523,4000524,4000525,4000526,4000527,4000528,4000529,4000530,4000531,4000532,4000533,4000534,4000535,4000536,4000537,4000538,4000539,4000540,4000541,4000542,4000543,4000544,4000545,4000546,4000547,4000548,4000549,4000550,4000551,4000552,4000553,4000554,4000555,4000556,4000557,4000558,4000559,4000560,4000561,4000562,4000563,4000564,4000565,4000566,4000567,4000568,4000569,4000570,4000571,4000572,4000573,4000574,4000575,4000576,4000577,4000578,4000579,4000580,4000581,4000582,4000583,4000584,4000585,4000586,4000587,4000588,4000589,4000590,4000591,4000592,4000593,4000594,4000595,4000596,4000597,4000598,4000599,4000600,4000601,4000602,4000603,4000604,4000605,4000606,4000607,4000608,4000609,4000610,4000611,4000612,4000613,4000614,4000615,4000616,4000617,4000618,4000619,4000620,4000621,4000622,4000623,4000624,4000625,4000626,4000627,4000628,4000629,4000630,4000631,4000632,4000633,4000634,4000635,4000636,4000637,4000638,4000639,4000640,4000641,4000642,4000643,4000644,4000645,4000646,4000647,4000648,4000649,4000650,4000651,4000652,4000653,4000654,4000655,4000656,4000657,4000658,4000659,4000660,4000661,4000662,4000663,4000664,4000665,4000666,4000667,4000668,4000669,4000670,4000671,4000672,4000673,4000674,4000675,4000676,4000677,4000678,4000679,4000680,4000681,4000682,4000683,4000684,4000685,4000686,4000687,4000688,4000689,4000690,4000691,4000692,4000693,4000694,4000695,4000696,4000697,4000698,4000699,4000700,4000701,4000702,4000703,4000704,4000705,4000706,4000707,4000708,4000709,4000710,4000711,4000712,4000713,4000714,4000715,4000716,4000717,4000718,4000719,4000720,4000721,4000722,4000723,4000724,4000725,4000726,4000727,4000728,4000729,4000730,4000731,4000732,4000733,4000734,4000735,4000736,4000737,4000738,4000739,4000740,4000741,4000742,4000743,4000744,4000745,4000746,4000747,4000748,4000749,4000750,4000751,4000752,4000753,4000754,4000755,4000756,4000757,4000758,4000759,4000760,4000761,4000762,4000763,4000764,4000765,4000766,4000767,4000768,4000769,4000770,4000771,4000772,4000773,4000774,4000775,4000776,4000777,4000778,4000779,4000780,4000781,4000782,4000783,4000784,4000785,4000786,4000787,4000788,4000789,4000790,4000791,4000792,4000793,4000794,4000795,4000796,4000797,4000798,4000799,4000800,4000801,4000802,4000803,4000804,4000805,4000806,4000807,4000808,4000809,4000810,4000811,4000812,4000813,4000814,4000815,4000816,4000817,4000818,4000819,4000820,4000821,4000822,4000823,4000824,4000825,4000826,4000827,4000828,4000829,4000830,4000831,4000832,4000833,4000834,4000835,4000836,4000837,4000838,4000839,4000840,4000841,4000842,4000843,4000844,4000845,4000846,4000847,4000848,4000849,4000850,4000851,4000852,4000853,4000854,4000855,4000856,4000857,4000858,4000859,4000860,4000861,4000862,4000863,4000864,4000865,4000866,4000867,4000868,4000869,4000870,4000871,4000872,4000873,4000874,4000875,4000876,4000877,4000878,4000879,4000880,4000881,4000882,4000883,4000884,4000885,4000886,4000887,4000888,4000889,4000890,4000891,4000892,4000893,4000894,4000895,4000896,4000897,4000898,4000899,4000900,4000901,4000902,4000903,4000904,4000905,4000906,4000907,4000908,4000909,4000910,4000911,4000912,4000913,4000914,4000915,4000916,4000917,4000918,4000919,4000920,4000921,4000922,4000923,4000924,4000925,4000926,4000927,4000928,4000929,4000930,4000931,4000932,4000933,4000934,4000935,4000936,4000937,4000938,4000939,4000940,4000941,4000942,4000943,4000944,4000945,4000946,4000947,4000948,4000949,4000950,4000951,4000952,4000953,4000954,4000955,4000956,4000957,4000958,4000959,4000960,4000961,4000962,4000963,4000964,4000965,4000966,4000967,4000968,4000969,4000970,4000971,4000972,4000973,4000974,4000975,4000976,4000977,4000978,4000979,4000980,4000981,4000982,4000983,4000984,4000985,4000986,4000987,4000988,4000989,4000990,4000991,4000992,4000993,4000994,4000995,4000996,4000997,4000998,4000999,4001000,5000002,5000003,5000004,5000005,5000006,5000007,5000008,5000009,5000010,5000011,5000012,5000013,5000014,5000015,5000016,5000017,5000018,5000019,5000020,5000021,5000022,5000023,5000024,5000025,5000026,5000027,5000028,5000029,5000030,5000031,5000032,5000033,5000034,5000035,5000036,5000037,5000038,5000039,5000040,5000041,5000042,5000043,5000044,5000045,5000046,5000047,5000048,5000049,5000050,5000051,5000052,5000053,5000054,5000055,5000056,5000057,5000058,5000059,5000060,5000061,5000062,5000063,5000064,5000065,5000066,5000067,5000068,5000069,5000070,5000071,5000072,5000073,5000074,5000075,5000076,5000077,5000078,5000079,5000080,5000081,5000082,5000083,5000084,5000085,5000086,5000087,5000088,5000089,5000090,5000091,5000092,5000093,5000094,5000095,5000096,5000097,5000098,5000099,5000100,5000101,5000102,5000103,5000104,5000105,5000106,5000107,5000108,5000109,5000110,5000111,5000112,5000113,5000114,5000115,5000116,5000117,5000118,5000119,5000120,5000121,5000122,5000123,5000124,5000125,5000126,5000127,5000128,5000129,5000130,5000131,5000132,5000133,5000134,5000135,5000136,5000137,5000138,5000139,5000140,5000141,5000142,5000143,5000144,5000145,5000146,5000147,5000148,5000149,5000150,5000151,5000152,5000153,5000154,5000155,5000156,5000157,5000158,5000159,5000160,5000161,5000162,5000163,5000164,5000165,5000166,5000167,5000168,5000169,5000170,5000171,5000172,5000173,5000174,5000175,5000176,5000177,5000178,5000179,5000180,5000181,5000182,5000183,5000184,5000185,5000186,5000187,5000188,5000189,5000190,5000191,5000192,5000193,5000194,5000195,5000196,5000197,5000198,5000199,5000200,5000201,5000202,5000203,5000204,5000205,5000206,5000207,5000208,5000209,5000210,5000211,5000212,5000213,5000214,5000215,5000216,5000217,5000218,5000219,5000220,5000221,5000222,5000223,5000224,5000225,5000226,5000227,5000228,5000229,5000230,5000231,5000232,5000233,5000234,5000235,5000236,5000237,5000238,5000239,5000240,5000241,5000242,5000243,5000244,5000245,5000246,5000247,5000248,5000249,5000250,5000251,5000252,5000253,5000254,5000255,5000256,5000257,5000258,5000259,5000260,5000261,5000262,5000263,5000264,5000265,5000266,5000267,5000268,5000269,5000270,5000271,5000272,5000273,5000274,5000275,5000276,5000277,5000278,5000279,5000280,5000281,5000282,5000283,5000284,5000285,5000286,5000287,5000288,5000289,5000290,5000291,5000292,5000293,5000294,5000295,5000296,5000297,5000298,5000299,5000300,5000301,5000302,5000303,5000304,5000305,5000306,5000307,5000308,5000309,5000310,5000311,5000312,5000313,5000314,5000315,5000316,5000317,5000318,5000319,5000320,5000321,5000322,5000323,5000324,5000325,5000326,5000327,5000328,5000329,5000330,5000331,5000332,5000333,5000334,5000335,5000336,5000337,5000338,5000339,5000340,5000341,5000342,5000343,5000344,5000345,5000346,5000347,5000348,5000349,5000350,5000351,5000352,5000353,5000354,5000355,5000356,5000357,5000358,5000359,5000360,5000361,5000362,5000363,5000364,5000365,5000366,5000367,5000368,5000369,5000370,5000371,5000372,5000373,5000374,5000375,5000376,5000377,5000378,5000379,5000380,5000381,5000382,5000383,5000384,5000385,5000386,5000387,5000388,5000389,5000390,5000391,5000392,5000393,5000394,5000395,5000396,5000397,5000398,5000399,5000400,5000401,5000402,5000403,5000404,5000405,5000406,5000407,5000408,5000409,5000410,5000411,5000412,5000413,5000414,5000415,5000416,5000417,5000418,5000419,5000420,5000421,5000422,5000423,5000424,5000425,5000426,5000427,5000428,5000429,5000430,5000431,5000432,5000433,5000434,5000435,5000436,5000437,5000438,5000439,5000440,5000441,5000442,5000443,5000444,5000445,5000446,5000447,5000448,5000449,5000450,5000451,5000452,5000453,5000454,5000455,5000456,5000457,5000458,5000459,5000460,5000461,5000462,5000463,5000464,5000465,5000466,5000467,5000468,5000469,5000470,5000471,5000472,5000473,5000474,5000475,5000476,5000477,5000478,5000479,5000480,5000481,5000482,5000483,5000484,5000485,5000486,5000487,5000488,5000489,5000490,5000491,5000492,5000493,5000494,5000495,5000496,5000497,5000498,5000499,5000500,5000501,5000502,5000503,5000504,5000505,5000506,5000507,5000508,5000509,5000510,5000511,5000512,5000513,5000514,5000515,5000516,5000517,5000518,5000519,5000520,5000521,5000522,5000523,5000524,5000525,5000526,5000527,5000528,5000529,5000530,5000531,5000532,5000533,5000534,5000535,5000536,5000537,5000538,5000539,5000540,5000541,5000542,5000543,5000544,5000545,5000546,5000547,5000548,5000549,5000550,5000551,5000552,5000553,5000554,5000555,5000556,5000557,5000558,5000559,5000560,5000561,5000562,5000563,5000564,5000565,5000566,5000567,5000568,5000569,5000570,5000571,5000572,5000573,5000574,5000575,5000576,5000577,5000578,5000579,5000580,5000581,5000582,5000583,5000584,5000585,5000586,5000587,5000588,5000589,5000590,5000591,5000592,5000593,5000594,5000595,5000596,5000597,5000598,5000599,5000600,5000601,5000602,5000603,5000604,5000605,5000606,5000607,5000608,5000609,5000610,5000611,5000612,5000613,5000614,5000615,5000616,5000617,5000618,5000619,5000620,5000621,5000622,5000623,5000624,5000625,5000626,5000627,5000628,5000629,5000630,5000631,5000632,5000633,5000634,5000635,5000636,5000637,5000638,5000639,5000640,5000641,5000642,5000643,5000644,5000645,5000646,5000647,5000648,5000649,5000650,5000651,5000652,5000653,5000654,5000655,5000656,5000657,5000658,5000659,5000660,5000661,5000662,5000663,5000664,5000665,5000666,5000667,5000668,5000669,5000670,5000671,5000672,5000673,5000674,5000675,5000676,5000677,5000678,5000679,5000680,5000681,5000682,5000683,5000684,5000685,5000686,5000687,5000688,5000689,5000690,5000691,5000692,5000693,5000694,5000695,5000696,5000697,5000698,5000699,5000700,5000701,5000702,5000703,5000704,5000705,5000706,5000707,5000708,5000709,5000710,5000711,5000712,5000713,5000714,5000715,5000716,5000717,5000718,5000719,5000720,5000721,5000722,5000723,5000724,5000725,5000726,5000727,5000728,5000729,5000730,5000731,5000732,5000733,5000734,5000735,5000736,5000737,5000738,5000739,5000740,5000741,5000742,5000743,5000744,5000745,5000746,5000747,5000748,5000749,5000750,5000751,5000752,5000753,5000754,5000755,5000756,5000757,5000758,5000759,5000760,5000761,5000762,5000763,5000764,5000765,5000766,5000767,5000768,5000769,5000770,5000771,5000772,5000773,5000774,5000775,5000776,5000777,5000778,5000779,5000780,5000781,5000782,5000783,5000784,5000785,5000786,5000787,5000788,5000789,5000790,5000791,5000792,5000793,5000794,5000795,5000796,5000797,5000798,5000799,5000800,5000801,5000802,5000803,5000804,5000805,5000806,5000807,5000808,5000809,5000810,5000811,5000812,5000813,5000814,5000815,5000816,5000817,5000818,5000819,5000820,5000821,5000822,5000823,5000824,5000825,5000826,5000827,5000828,5000829,5000830,5000831,5000832,5000833,5000834,5000835,5000836,5000837,5000838,5000839,5000840,5000841,5000842,5000843,5000844,5000845,5000846,5000847,5000848,5000849,5000850,5000851,5000852,5000853,5000854,5000855,5000856,5000857,5000858,5000859,5000860,5000861,5000862,5000863,5000864,5000865,5000866,5000867,5000868,5000869,5000870,5000871,5000872,5000873,5000874,5000875,5000876,5000877,5000878,5000879,5000880,5000881,5000882,5000883,5000884,5000885,5000886,5000887,5000888,5000889,5000890,5000891,5000892,5000893,5000894,5000895,5000896,5000897,5000898,5000899,5000900,5000901,5000902,5000903,5000904,5000905,5000906,5000907,5000908,5000909,5000910,5000911,5000912,5000913,5000914,5000915,5000916,5000917,5000918,5000919,5000920,5000921,5000922,5000923,5000924,5000925,5000926,5000927,5000928,5000929,5000930,5000931,5000932,5000933,5000934,5000935,5000936,5000937,5000938,5000939,5000940,5000941,5000942,5000943,5000944,5000945,5000946,5000947,5000948,5000949,5000950,5000951,5000952,5000953,5000954,5000955,5000956,5000957,5000958,5000959,5000960,5000961,5000962,5000963,5000964,5000965,5000966,5000967,5000968,5000969,5000970,5000971,5000972,5000973,5000974,5000975,5000976,5000977,5000978,5000979,5000980,5000981,5000982,5000983,5000984,5000985,5000986,5000987,5000988,5000989,5000990,5000991,5000992,5000993,5000994,5000995,5000996,5000997,5000998,5000999,5001000,6000001,6000002,6000003,6000004,6000005,6000006,6000007,6000008,6000009,6000010,6000011,6000012,6000013,6000014,6000015,6000016,6000017,6000018,6000019,6000020,6000021,6000022,6000023,6000024,6000025,6000026,6000027,6000028,6000029,6000030,6000031,6000032,6000033,6000034,6000035,6000036,6000037,6000038,6000039,6000040,6000041,6000042,6000043,6000044,6000045,6000046,6000047,6000048,6000049,6000050,6000051,6000052,6000053,6000054,6000055,6000056,6000057,6000058,6000059,6000060,6000061,6000062,6000063,6000064,6000065,6000066,6000067,6000068,6000069,6000070,6000071,6000072,6000073,6000074,6000075,6000076,6000077,6000078,6000079,6000080,6000081,6000082,6000083,6000084,6000085,6000086,6000087,6000088,6000089,6000090,6000091,6000092,6000093,6000094,6000095,6000096,6000097,6000098,6000099,6000100,6000101,6000102,6000103,6000104,6000105,6000106,6000107,6000108,6000109,6000110,6000111,6000112,6000113,6000114,6000115,6000116,6000117,6000118,6000119,6000120,6000121,6000122,6000123,6000124,6000125,6000126,6000127,6000128,6000129,6000130,6000131,6000132,6000133,6000134,6000135,6000136,6000137,6000138,6000139,6000140,6000141,6000142,6000143,6000144,6000145,6000146,6000147,6000148,6000149,6000150,6000151,6000152,6000153,6000154,6000155,6000156,6000157,6000158,6000159,6000160,6000161,6000162,6000163,6000164,6000165,6000166,6000167,6000168,6000169,6000170,6000171,6000172,6000173,6000174,6000175,6000176,6000177,6000178,6000179,6000180,6000181,6000182,6000183,6000184,6000185,6000186,6000187,6000188,6000189,6000190,6000191,6000192,6000193,6000194,6000195,6000196,6000197,6000198,6000199,6000200,6000201,6000202,6000203,6000204,6000205,6000206,6000207,6000208,6000209,6000210,6000211,6000212,6000213,6000214,6000215,6000216,6000217,6000218,6000219,6000220,6000221,6000222,6000223,6000224,6000225,6000226,6000227,6000228,6000229,6000230,6000231,6000232,6000233,6000234,6000235,6000236,6000237,6000238,6000239,6000240,6000241,6000242,6000243,6000244,6000245,6000246,6000247,6000248,6000249,6000250,6000251,6000252,6000253,6000254,6000255,6000256,6000257,6000258,6000259,6000260,6000261,6000262,6000263,6000264,6000265,6000266,6000267,6000268,6000269,6000270,6000271,6000272,6000273,6000274,6000275,6000276,6000277,6000278,6000279,6000280,6000281,6000282,6000283,6000284,6000285,6000286,6000287,6000288,6000289,6000290,6000291,6000292,6000293,6000294,6000295,6000296,6000297,6000298,6000299,6000300,6000301,6000302,6000303,6000304,6000305,6000306,6000307,6000308,6000309,6000310,6000311,6000312,6000313,6000314,6000315,6000316,6000317,6000318,6000319,6000320,6000321,6000322,6000323,6000324,6000325,6000326,6000327,6000328,6000329,6000330,6000331,6000332,6000333,6000334,6000335,6000336,6000337,6000338,6000339,6000340,6000341,6000342,6000343,6000344,6000345,6000346,6000347,6000348,6000349,6000350,6000351,6000352,6000353,6000354,6000355,6000356,6000357,6000358,6000359,6000360,6000361,6000362,6000363,6000364,6000365,6000366,6000367,6000368,6000369,6000370,6000371,6000372,6000373,6000374,6000375,6000376,6000377,6000378,6000379,6000380,6000381,6000382,6000383,6000384,6000385,6000386,6000387,6000388,6000389,6000390,6000391,6000392,6000393,6000394,6000395,6000396,6000397,6000398,6000399,6000400,6000401,6000402,6000403,6000404,6000405,6000406,6000407,6000408,6000409,6000410,6000411,6000412,6000413,6000414,6000415,6000416,6000417,6000418,6000419,6000420,6000421,6000422,6000423,6000424,6000425,6000426,6000427,6000428,6000429,6000430,6000431,6000432,6000433,6000434,6000435,6000436,6000437,6000438,6000439,6000440,6000441,6000442,6000443,6000444,6000445,6000446,6000447,6000448,6000449,6000450,6000451,6000452,6000453,6000454,6000455,6000456,6000457,6000458,6000459,6000460,6000461,6000462,6000463,6000464,6000465,6000466,6000467,6000468,6000469,6000470,6000471,6000472,6000473,6000474,6000475,6000476,6000477,6000478,6000479,6000480,6000481,6000482,6000483,6000484,6000485,6000486,6000487,6000488,6000489,6000490,6000491,6000492,6000493,6000494,6000495,6000496,6000497,6000498,6000499,6000500,6000501,6000502,6000503,6000504,6000505,6000506,6000507,6000508,6000509,6000510,6000511,6000512,6000513,6000514,6000515,6000516,6000517,6000518,6000519,6000520,6000521,6000522,6000523,6000524,6000525,6000526,6000527,6000528,6000529,6000530,6000531,6000532,6000533,6000534,6000535,6000536,6000537,6000538,6000539,6000540,6000541,6000542,6000543,6000544,6000545,6000546,6000547,6000548,6000549,6000550,6000551,6000552,6000553,6000554,6000555,6000556,6000557,6000558,6000559,6000560,6000561,6000562,6000563,6000564,6000565,6000566,6000567,6000568,6000569,6000570,6000571,6000572,6000573,6000574,6000575,6000576,6000577,6000578,6000579,6000580,6000581,6000582,6000583,6000584,6000585,6000586,6000587,6000588,6000589,6000590,6000591,6000592,6000593,6000594,6000595,6000596,6000597,6000598,6000599,6000600,6000601,6000602,6000603,6000604,6000605,6000606,6000607,6000608,6000609,6000610,6000611,6000612,6000613,6000614,6000615,6000616,6000617,6000618,6000619,6000620,6000621,6000622,6000623,6000624,6000625,6000626,6000627,6000628,6000629,6000630,6000631,6000632,6000633,6000634,6000635,6000636,6000637,6000638,6000639,6000640,6000641,6000642,6000643,6000644,6000645,6000646,6000647,6000648,6000649,6000650,6000651,6000652,6000653,6000654,6000655,6000656,6000657,6000658,6000659,6000660,6000661,6000662,6000663,6000664,6000665,6000666,6000667,6000668,6000669,6000670,6000671,6000672,6000673,6000674,6000675,6000676,6000677,6000678,6000679,6000680,6000681,6000682,6000683,6000684,6000685,6000686,6000687,6000688,6000689,6000690,6000691,6000692,6000693,6000694,6000695,6000696,6000697,6000698,6000699,6000700,6000701,6000702,6000703,6000704,6000705,6000706,6000707,6000708,6000709,6000710,6000711,6000712,6000713,6000714,6000715,6000716,6000717,6000718,6000719,6000720,6000721,6000722,6000723,6000724,6000725,6000726,6000727,6000728,6000729,6000730,6000731,6000732,6000733,6000734,6000735,6000736,6000737,6000738,6000739,6000740,6000741,6000742,6000743,6000744,6000745,6000746,6000747,6000748,6000749,6000750,6000751,6000752,6000753,6000754,6000755,6000756,6000757,6000758,6000759,6000760,6000761,6000762,6000763,6000764,6000765,6000766,6000767,6000768,6000769,6000770,6000771,6000772,6000773,6000774,6000775,6000776,6000777,6000778,6000779,6000780,6000781,6000782,6000783,6000784,6000785,6000786,6000787,6000788,6000789,6000790,6000791,6000792,6000793,6000794,6000795,6000796,6000797,6000798,6000799,6000800,6000801,6000802,6000803,6000804,6000805,6000806,6000807,6000808,6000809,6000810,6000811,6000812,6000813,6000814,6000815,6000816,6000817,6000818,6000819,6000820,6000821,6000822,6000823,6000824,6000825,6000826,6000827,6000828,6000829,6000830,6000831,6000832,6000833,6000834,6000835,6000836,6000837,6000838,6000839,6000840,6000841,6000842,6000843,6000844,6000845,6000846,6000847,6000848,6000849,6000850,6000851,6000852,6000853,6000854,6000855,6000856,6000857,6000858,6000859,6000860,6000861,6000862,6000863,6000864,6000865,6000866,6000867,6000868,6000869,6000870,6000871,6000872,6000873,6000874,6000875,6000876,6000877,6000878,6000879,6000880,6000881,6000882,6000883,6000884,6000885,6000886,6000887,6000888,6000889,6000890,6000891,6000892,6000893,6000894,6000895,6000896,6000897,6000898,6000899,6000900,6000901,6000902,6000903,6000904,6000905,6000906,6000907,6000908,6000909,6000910,6000911,6000912,6000913,6000914,6000915,6000916,6000917,6000918,6000919,6000920,6000921,6000922,6000923,6000924,6000925,6000926,6000927,6000928,6000929,6000930,6000931,6000932,6000933,6000934,6000935,6000936,6000937,6000938,6000939,6000940,6000941,6000942,6000943,6000944,6000945,6000946,6000947,6000948,6000949,6000950,6000951,6000952,6000953,6000954,6000955,6000956,6000957,6000958,6000959,6000960,6000961,6000962,6000963,6000964,6000965,6000966,6000967,6000968,6000969,6000970,6000971,6000972,6000973,6000974,6000975,6000976,6000977,6000978,6000979,6000980,6000981,6000982,6000983,6000984,6000985,6000986,6000987,6000988,6000989,6000990,6000991,6000992,6000993,6000994,6000995,6000996,6000997,6000998,6000999,6001000,7000001,7000002,7000003,7000004,7000005,7000006,7000007,7000008,7000009,7000010,7000011,7000012,7000013,7000014,7000015,7000016,7000017,7000018,7000019,7000020,7000021,7000022,7000023,7000024,7000025,7000026,7000027,7000028,7000029,7000030,7000031,7000032,7000033,7000034,7000035,7000036,7000037,7000038,7000039,7000040,7000041,7000042,7000043,7000044,7000045,7000046,7000047,7000048,7000049,7000050,7000051,7000052,7000053,7000054,7000055,7000056,7000057,7000058,7000059,7000060,7000061,7000062,7000063,7000064,7000065,7000066,7000067,7000068,7000069,7000070,7000071,7000072,7000073,7000074,7000075,7000076,7000077,7000078,7000079,7000080,7000081,7000082,7000083,7000084,7000085,7000086,7000087,7000088,7000089,7000090,7000091,7000092,7000093,7000094,7000095,7000096,7000097,7000098,7000099,7000100,7000101,7000102,7000103,7000104,7000105,7000106,7000107,7000108,7000109,7000110,7000111,7000112,7000113,7000114,7000115,7000116,7000117,7000118,7000119,7000120,7000121,7000122,7000123,7000124,7000125,7000126,7000127,7000128,7000129,7000130,7000131,7000132,7000133,7000134,7000135,7000136,7000137,7000138,7000139,7000140,7000141,7000142,7000143,7000144,7000145,7000146,7000147,7000148,7000149,7000150,7000151,7000152,7000153,7000154,7000155,7000156,7000157,7000158,7000159,7000160,7000161,7000162,7000163,7000164,7000165,7000166,7000167,7000168,7000169,7000170,7000171,7000172,7000173,7000174,7000175,7000176,7000177,7000178,7000179,7000180,7000181,7000182,7000183,7000184,7000185,7000186,7000187,7000188,7000189,7000190,7000191,7000192,7000193,7000194,7000195,7000196,7000197,7000198,7000199,7000200,7000201,7000202,7000203,7000204,7000205,7000206,7000207,7000208,7000209,7000210,7000211,7000212,7000213,7000214,7000215,7000216,7000217,7000218,7000219,7000220,7000221,7000222,7000223,7000224,7000225,7000226,7000227,7000228,7000229,7000230,7000231,7000232,7000233,7000234,7000235,7000236,7000237,7000238,7000239,7000240,7000241,7000242,7000243,7000244,7000245,7000246,7000247,7000248,7000249,7000250,7000251,7000252,7000253,7000254,7000255,7000256,7000257,7000258,7000259,7000260,7000261,7000262,7000263,7000264,7000265,7000266,7000267,7000268,7000269,7000270,7000271,7000272,7000273,7000274,7000275,7000276,7000277,7000278,7000279,7000280,7000281,7000282,7000283,7000284,7000285,7000286,7000287,7000288,7000289,7000290,7000291,7000292,7000293,7000294,7000295,7000296,7000297,7000298,7000299,7000300,7000301,7000302,7000303,7000304,7000305,7000306,7000307,7000308,7000309,7000310,7000311,7000312,7000313,7000314,7000315,7000316,7000317,7000318,7000319,7000320,7000321,7000322,7000323,7000324,7000325,7000326,7000327,7000328,7000329,7000330,7000331,7000332,7000333,7000334,7000335,7000336,7000337,7000338,7000339,7000340,7000341,7000342,7000343,7000344,7000345,7000346,7000347,7000348,7000349,7000350,7000351,7000352,7000353,7000354,7000355,7000356,7000357,7000358,7000359,7000360,7000361,7000362,7000363,7000364,7000365,7000366,7000367,7000368,7000369,7000370,7000371,7000372,7000373,7000374,7000375,7000376,7000377,7000378,7000379,7000380,7000381,7000382,7000383,7000384,7000385,7000386,7000387,7000388,7000389,7000390,7000391,7000392,7000393,7000394,7000395,7000396,7000397,7000398,7000399,7000400,7000401,7000402,7000403,7000404,7000405,7000406,7000407,7000408,7000409,7000410,7000411,7000412,7000413,7000414,7000415,7000416,7000417,7000418,7000419,7000420,7000421,7000422,7000423,7000424,7000425,7000426,7000427,7000428,7000429,7000430,7000431,7000432,7000433,7000434,7000435,7000436,7000437,7000438,7000439,7000440,7000441,7000442,7000443,7000444,7000445,7000446,7000447,7000448,7000449,7000450,7000451,7000452,7000453,7000454,7000455,7000456,7000457,7000458,7000459,7000460,7000461,7000462,7000463,7000464,7000465,7000466,7000467,7000468,7000469,7000470,7000471,7000472,7000473,7000474,7000475,7000476,7000477,7000478,7000479,7000480,7000481,7000482,7000483,7000484,7000485,7000486,7000487,7000488,7000489,7000490,7000491,7000492,7000493,7000494,7000495,7000496,7000497,7000498,7000499,7000500,7000501,7000502,7000503,7000504,7000505,7000506,7000507,7000508,7000509,7000510,7000511,7000512,7000513,7000514,7000515,7000516,7000517,7000518,7000519,7000520,7000521,7000522,7000523,7000524,7000525,7000526,7000527,7000528,7000529,7000530,7000531,7000532,7000533,7000534,7000535,7000536,7000537,7000538,7000539,7000540,7000541,7000542,7000543,7000544,7000545,7000546,7000547,7000548,7000549,7000550,7000551,7000552,7000553,7000554,7000555,7000556,7000557,7000558,7000559,7000560,7000561,7000562,7000563,7000564,7000565,7000566,7000567,7000568,7000569,7000570,7000571,7000572,7000573,7000574,7000575,7000576,7000577,7000578,7000579,7000580,7000581,7000582,7000583,7000584,7000585,7000586,7000587,7000588,7000589,7000590,7000591,7000592,7000593,7000594,7000595,7000596,7000597,7000598,7000599,7000600,7000601,7000602,7000603,7000604,7000605,7000606,7000607,7000608,7000609,7000610,7000611,7000612,7000613,7000614,7000615,7000616,7000617,7000618,7000619,7000620,7000621,7000622,7000623,7000624,7000625,7000626,7000627,7000628,7000629,7000630,7000631,7000632,7000633,7000634,7000635,7000636,7000637,7000638,7000639,7000640,7000641,7000642,7000643,7000644,7000645,7000646,7000647,7000648,7000649,7000650,7000651,7000652,7000653,7000654,7000655,7000656,7000657,7000658,7000659,7000660,7000661,7000662,7000663,7000664,7000665,7000666,7000667,7000668,7000669,7000670,7000671,7000672,7000673,7000674,7000675,7000676,7000677,7000678,7000679,7000680,7000681,7000682,7000683,7000684,7000685,7000686,7000687,7000688,7000689,7000690,7000691,7000692,7000693,7000694,7000695,7000696,7000697,7000698,7000699,7000700,7000701,7000702,7000703,7000704,7000705,7000706,7000707,7000708,7000709,7000710,7000711,7000712,7000713,7000714,7000715,7000716,7000717,7000718,7000719,7000720,7000721,7000722,7000723,7000724,7000725,7000726,7000727,7000728,7000729,7000730,7000731,7000732,7000733,7000734,7000735,7000736,7000737,7000738,7000739,7000740,7000741,7000742,7000743,7000744,7000745,7000746,7000747,7000748,7000749,7000750,7000751,7000752,7000753,7000754,7000755,7000756,7000757,7000758,7000759,7000760,7000761,7000762,7000763,7000764,7000765,7000766,7000767,7000768,7000769,7000770,7000771,7000772,7000773,7000774,7000775,7000776,7000777,7000778,7000779,7000780,7000781,7000782,7000783,7000784,7000785,7000786,7000787,7000788,7000789,7000790,7000791,7000792,7000793,7000794,7000795,7000796,7000797,7000798,7000799,7000800,7000801,7000802,7000803,7000804,7000805,7000806,7000807,7000808,7000809,7000810,7000811,7000812,7000813,7000814,7000815,7000816,7000817,7000818,7000819,7000820,7000821,7000822,7000823,7000824,7000825,7000826,7000827,7000828,7000829,7000830,7000831,7000832,7000833,7000834,7000835,7000836,7000837,7000838,7000839,7000840,7000841,7000842,7000843,7000844,7000845,7000846,7000847,7000848,7000849,7000850,7000851,7000852,7000853,7000854,7000855,7000856,7000857,7000858,7000859,7000860,7000861,7000862,7000863,7000864,7000865,7000866,7000867,7000868,7000869,7000870,7000871,7000872,7000873,7000874,7000875,7000876,7000877,7000878,7000879,7000880,7000881,7000882,7000883,7000884,7000885,7000886,7000887,7000888,7000889,7000890,7000891,7000892,7000893,7000894,7000895,7000896,7000897,7000898,7000899,7000900,7000901,7000902,7000903,7000904,7000905,7000906,7000907,7000908,7000909,7000910,7000911,7000912,7000913,7000914,7000915,7000916,7000917,7000918,7000919,7000920,7000921,7000922,7000923,7000924,7000925,7000926,7000927,7000928,7000929,7000930,7000931,7000932,7000933,7000934,7000935,7000936,7000937,7000938,7000939,7000940,7000941,7000942,7000943,7000944,7000945,7000946,7000947,7000948,7000949,7000950,7000951,7000952,7000953,7000954,7000955,7000956,7000957,7000958,7000959,7000960,7000961,7000962,7000963,7000964,7000965,7000966,7000967,7000968,7000969,7000970,7000971,7000972,7000973,7000974,7000975,7000976,7000977,7000978,7000979,7000980,7000981,7000982,7000983,7000984,7000985,7000986,7000987,7000988,7000989,7000990,7000991,7000992,7000993,7000994,7000995,7000996,7000997,7000998,7000999,7001000,8000002,8000003,8000004,8000005,8000006,8000007,8000008,8000009,8000010,8000011,8000012,8000013,8000014,8000015,8000016,8000017,8000018,8000019,8000020,8000021,8000022,8000023,8000024,8000025,8000026,8000027,8000028,8000029,8000030,8000031,8000032,8000033,8000034,8000035,8000036,8000037,8000038,8000039,8000040,8000041,8000042,8000043,8000044,8000045,8000046,8000047,8000048,8000049,8000050,8000051,8000052,8000053,8000054,8000055,8000056,8000057,8000058,8000059,8000060,8000061,8000062,8000063,8000064,8000065,8000066,8000067,8000068,8000069,8000070,8000071,8000072,8000073,8000074,8000075,8000076,8000077,8000078,8000079,8000080,8000081,8000082,8000083,8000084,8000085,8000086,8000087,8000088,8000089,8000090,8000091,8000092,8000093,8000094,8000095,8000096,8000097,8000098,8000099,8000100,8000101,8000102,8000103,8000104,8000105,8000106,8000107,8000108,8000109,8000110,8000111,8000112,8000113,8000114,8000115,8000116,8000117,8000118,8000119,8000120,8000121,8000122,8000123,8000124,8000125,8000126,8000127,8000128,8000129,8000130,8000131,8000132,8000133,8000134,8000135,8000136,8000137,8000138,8000139,8000140,8000141,8000142,8000143,8000144,8000145,8000146,8000147,8000148,8000149,8000150,8000151,8000152,8000153,8000154,8000155,8000156,8000157,8000158,8000159,8000160,8000161,8000162,8000163,8000164,8000165,8000166,8000167,8000168,8000169,8000170,8000171,8000172,8000173,8000174,8000175,8000176,8000177,8000178,8000179,8000180,8000181,8000182,8000183,8000184,8000185,8000186,8000187,8000188,8000189,8000190,8000191,8000192,8000193,8000194,8000195,8000196,8000197,8000198,8000199,8000200,8000201,8000202,8000203,8000204,8000205,8000206,8000207,8000208,8000209,8000210,8000211,8000212,8000213,8000214,8000215,8000216,8000217,8000218,8000219,8000220,8000221,8000222,8000223,8000224,8000225,8000226,8000227,8000228,8000229,8000230,8000231,8000232,8000233,8000234,8000235,8000236,8000237,8000238,8000239,8000240,8000241,8000242,8000243,8000244,8000245,8000246,8000247,8000248,8000249,8000250,8000251,8000252,8000253,8000254,8000255,8000256,8000257,8000258,8000259,8000260,8000261,8000262,8000263,8000264,8000265,8000266,8000267,8000268,8000269,8000270,8000271,8000272,8000273,8000274,8000275,8000276,8000277,8000278,8000279,8000280,8000281,8000282,8000283,8000284,8000285,8000286,8000287,8000288,8000289,8000290,8000291,8000292,8000293,8000294,8000295,8000296,8000297,8000298,8000299,8000300,8000301,8000302,8000303,8000304,8000305,8000306,8000307,8000308,8000309,8000310,8000311,8000312,8000313,8000314,8000315,8000316,8000317,8000318,8000319,8000320,8000321,8000322,8000323,8000324,8000325,8000326,8000327,8000328,8000329,8000330,8000331,8000332,8000333,8000334,8000335,8000336,8000337,8000338,8000339,8000340,8000341,8000342,8000343,8000344,8000345,8000346,8000347,8000348,8000349,8000350,8000351,8000352,8000353,8000354,8000355,8000356,8000357,8000358,8000359,8000360,8000361,8000362,8000363,8000364,8000365,8000366,8000367,8000368,8000369,8000370,8000371,8000372,8000373,8000374,8000375,8000376,8000377,8000378,8000379,8000380,8000381,8000382,8000383,8000384,8000385,8000386,8000387,8000388,8000389,8000390,8000391,8000392,8000393,8000394,8000395,8000396,8000397,8000398,8000399,8000400,8000401,8000402,8000403,8000404,8000405,8000406,8000407,8000408,8000409,8000410,8000411,8000412,8000413,8000414,8000415,8000416,8000417,8000418,8000419,8000420,8000421,8000422,8000423,8000424,8000425,8000426,8000427,8000428,8000429,8000430,8000431,8000432,8000433,8000434,8000435,8000436,8000437,8000438,8000439,8000440,8000441,8000442,8000443,8000444,8000445,8000446,8000447,8000448,8000449,8000450,8000451,8000452,8000453,8000454,8000455,8000456,8000457,8000458,8000459,8000460,8000461,8000462,8000463,8000464,8000465,8000466,8000467,8000468,8000469,8000470,8000471,8000472,8000473,8000474,8000475,8000476,8000477,8000478,8000479,8000480,8000481,8000482,8000483,8000484,8000485,8000486,8000487,8000488,8000489,8000490,8000491,8000492,8000493,8000494,8000495,8000496,8000497,8000498,8000499,8000500,8000501,8000502,8000503,8000504,8000505,8000506,8000507,8000508,8000509,8000510,8000511,8000512,8000513,8000514,8000515,8000516,8000517,8000518,8000519,8000520,8000521,8000522,8000523,8000524,8000525,8000526,8000527,8000528,8000529,8000530,8000531,8000532,8000533,8000534,8000535,8000536,8000537,8000538,8000539,8000540,8000541,8000542,8000543,8000544,8000545,8000546,8000547,8000548,8000549,8000550,8000551,8000552,8000553,8000554,8000555,8000556,8000557,8000558,8000559,8000560,8000561,8000562,8000563,8000564,8000565,8000566,8000567,8000568,8000569,8000570,8000571,8000572,8000573,8000574,8000575,8000576,8000577,8000578,8000579,8000580,8000581,8000582,8000583,8000584,8000585,8000586,8000587,8000588,8000589,8000590,8000591,8000592,8000593,8000594,8000595,8000596,8000597,8000598,8000599,8000600,8000601,8000602,8000603,8000604,8000605,8000606,8000607,8000608,8000609,8000610,8000611,8000612,8000613,8000614,8000615,8000616,8000617,8000618,8000619,8000620,8000621,8000622,8000623,8000624,8000625,8000626,8000627,8000628,8000629,8000630,8000631,8000632,8000633,8000634,8000635,8000636,8000637,8000638,8000639,8000640,8000641,8000642,8000643,8000644,8000645,8000646,8000647,8000648,8000649,8000650,8000651,8000652,8000653,8000654,8000655,8000656,8000657,8000658,8000659,8000660,8000661,8000662,8000663,8000664,8000665,8000666,8000667,8000668,8000669,8000670,8000671,8000672,8000673,8000674,8000675,8000676,8000677,8000678,8000679,8000680,8000681,8000682,8000683,8000684,8000685,8000686,8000687,8000688,8000689,8000690,8000691,8000692,8000693,8000694,8000695,8000696,8000697,8000698,8000699,8000700,8000701,8000702,8000703,8000704,8000705,8000706,8000707,8000708,8000709,8000710,8000711,8000712,8000713,8000714,8000715,8000716,8000717,8000718,8000719,8000720,8000721,8000722,8000723,8000724,8000725,8000726,8000727,8000728,8000729,8000730,8000731,8000732,8000733,8000734,8000735,8000736,8000737,8000738,8000739,8000740,8000741,8000742,8000743,8000744,8000745,8000746,8000747,8000748,8000749,8000750,8000751,8000752,8000753,8000754,8000755,8000756,8000757,8000758,8000759,8000760,8000761,8000762,8000763,8000764,8000765,8000766,8000767,8000768,8000769,8000770,8000771,8000772,8000773,8000774,8000775,8000776,8000777,8000778,8000779,8000780,8000781,8000782,8000783,8000784,8000785,8000786,8000787,8000788,8000789,8000790,8000791,8000792,8000793,8000794,8000795,8000796,8000797,8000798,8000799,8000800,8000801,8000802,8000803,8000804,8000805,8000806,8000807,8000808,8000809,8000810,8000811,8000812,8000813,8000814,8000815,8000816,8000817,8000818,8000819,8000820,8000821,8000822,8000823,8000824,8000825,8000826,8000827,8000828,8000829,8000830,8000831,8000832,8000833,8000834,8000835,8000836,8000837,8000838,8000839,8000840,8000841,8000842,8000843,8000844,8000845,8000846,8000847,8000848,8000849,8000850,8000851,8000852,8000853,8000854,8000855,8000856,8000857,8000858,8000859,8000860,8000861,8000862,8000863,8000864,8000865,8000866,8000867,8000868,8000869,8000870,8000871,8000872,8000873,8000874,8000875,8000876,8000877,8000878,8000879,8000880,8000881,8000882,8000883,8000884,8000885,8000886,8000887,8000888,8000889,8000890,8000891,8000892,8000893,8000894,8000895,8000896,8000897,8000898,8000899,8000900,8000901,8000902,8000903,8000904,8000905,8000906,8000907,8000908,8000909,8000910,8000911,8000912,8000913,8000914,8000915,8000916,8000917,8000918,8000919,8000920,8000921,8000922,8000923,8000924,8000925,8000926,8000927,8000928,8000929,8000930,8000931,8000932,8000933,8000934,8000935,8000936,8000937,8000938,8000939,8000940,8000941,8000942,8000943,8000944,8000945,8000946,8000947,8000948,8000949,8000950,8000951,8000952,8000953,8000954,8000955,8000956,8000957,8000958,8000959,8000960,8000961,8000962,8000963,8000964,8000965,8000966,8000967,8000968,8000969,8000970,8000971,8000972,8000973,8000974,8000975,8000976,8000977,8000978,8000979,8000980,8000981,8000982,8000983,8000984,8000985,8000986,8000987,8000988,8000989,8000990,8000991,8000992,8000993,8000994,8000995,8000996,8000997,8000998,8000999,8001000,9000001,9000002,9000003,9000004,9000005,9000006,9000007,9000008,9000009,9000010,9000011,9000012,9000013,9000014,9000015,9000016,9000017,9000018,9000019,9000020,9000021,9000022,9000023,9000024,9000025,9000026,9000027,9000028,9000029,9000030,9000031,9000032,9000033,9000034,9000035,9000036,9000037,9000038,9000039,9000040,9000041,9000042,9000043,9000044,9000045,9000046,9000047,9000048,9000049,9000050,9000051,9000052,9000053,9000054,9000055,9000056,9000057,9000058,9000059,9000060,9000061,9000062,9000063,9000064,9000065,9000066,9000067,9000068,9000069,9000070,9000071,9000072,9000073,9000074,9000075,9000076,9000077,9000078,9000079,9000080,9000081,9000082,9000083,9000084,9000085,9000086,9000087,9000088,9000089,9000090,9000091,9000092,9000093,9000094,9000095,9000096,9000097,9000098,9000099,9000100,9000101,9000102,9000103,9000104,9000105,9000106,9000107,9000108,9000109,9000110,9000111,9000112,9000113,9000114,9000115,9000116,9000117,9000118,9000119,9000120,9000121,9000122,9000123,9000124,9000125,9000126,9000127,9000128,9000129,9000130,9000131,9000132,9000133,9000134,9000135,9000136,9000137,9000138,9000139,9000140,9000141,9000142,9000143,9000144,9000145,9000146,9000147,9000148,9000149,9000150,9000151,9000152,9000153,9000154,9000155,9000156,9000157,9000158,9000159,9000160,9000161,9000162,9000163,9000164,9000165,9000166,9000167,9000168,9000169,9000170,9000171,9000172,9000173,9000174,9000175,9000176,9000177,9000178,9000179,9000180,9000181,9000182,9000183,9000184,9000185,9000186,9000187,9000188,9000189,9000190,9000191,9000192,9000193,9000194,9000195,9000196,9000197,9000198,9000199,9000200,9000201,9000202,9000203,9000204,9000205,9000206,9000207,9000208,9000209,9000210,9000211,9000212,9000213,9000214,9000215,9000216,9000217,9000218,9000219,9000220,9000221,9000222,9000223,9000224,9000225,9000226,9000227,9000228,9000229,9000230,9000231,9000232,9000233,9000234,9000235,9000236,9000237,9000238,9000239,9000240,9000241,9000242,9000243,9000244,9000245,9000246,9000247,9000248,9000249,9000250,9000251,9000252,9000253,9000254,9000255,9000256,9000257,9000258,9000259,9000260,9000261,9000262,9000263,9000264,9000265,9000266,9000267,9000268,9000269,9000270,9000271,9000272,9000273,9000274,9000275,9000276,9000277,9000278,9000279,9000280,9000281,9000282,9000283,9000284,9000285,9000286,9000287,9000288,9000289,9000290,9000291,9000292,9000293,9000294,9000295,9000296,9000297,9000298,9000299,9000300,9000301,9000302,9000303,9000304,9000305,9000306,9000307,9000308,9000309,9000310,9000311,9000312,9000313,9000314,9000315,9000316,9000317,9000318,9000319,9000320,9000321,9000322,9000323,9000324,9000325,9000326,9000327,9000328,9000329,9000330,9000331,9000332,9000333,9000334,9000335,9000336,9000337,9000338,9000339,9000340,9000341,9000342,9000343,9000344,9000345,9000346,9000347,9000348,9000349,9000350,9000351,9000352,9000353,9000354,9000355,9000356,9000357,9000358,9000359,9000360,9000361,9000362,9000363,9000364,9000365,9000366,9000367,9000368,9000369,9000370,9000371,9000372,9000373,9000374,9000375,9000376,9000377,9000378,9000379,9000380,9000381,9000382,9000383,9000384,9000385,9000386,9000387,9000388,9000389,9000390,9000391,9000392,9000393,9000394,9000395,9000396,9000397,9000398,9000399,9000400,9000401,9000402,9000403,9000404,9000405,9000406,9000407,9000408,9000409,9000410,9000411,9000412,9000413,9000414,9000415,9000416,9000417,9000418,9000419,9000420,9000421,9000422,9000423,9000424,9000425,9000426,9000427,9000428,9000429,9000430,9000431,9000432,9000433,9000434,9000435,9000436,9000437,9000438,9000439,9000440,9000441,9000442,9000443,9000444,9000445,9000446,9000447,9000448,9000449,9000450,9000451,9000452,9000453,9000454,9000455,9000456,9000457,9000458,9000459,9000460,9000461,9000462,9000463,9000464,9000465,9000466,9000467,9000468,9000469,9000470,9000471,9000472,9000473,9000474,9000475,9000476,9000477,9000478,9000479,9000480,9000481,9000482,9000483,9000484,9000485,9000486,9000487,9000488,9000489,9000490,9000491,9000492,9000493,9000494,9000495,9000496,9000497,9000498,9000499,9000500,9000501,9000502,9000503,9000504,9000505,9000506,9000507,9000508,9000509,9000510,9000511,9000512,9000513,9000514,9000515,9000516,9000517,9000518,9000519,9000520,9000521,9000522,9000523,9000524,9000525,9000526,9000527,9000528,9000529,9000530,9000531,9000532,9000533,9000534,9000535,9000536,9000537,9000538,9000539,9000540,9000541,9000542,9000543,9000544,9000545,9000546,9000547,9000548,9000549,9000550,9000551,9000552,9000553,9000554,9000555,9000556,9000557,9000558,9000559,9000560,9000561,9000562,9000563,9000564,9000565,9000566,9000567,9000568,9000569,9000570,9000571,9000572,9000573,9000574,9000575,9000576,9000577,9000578,9000579,9000580,9000581,9000582,9000583,9000584,9000585,9000586,9000587,9000588,9000589,9000590,9000591,9000592,9000593,9000594,9000595,9000596,9000597,9000598,9000599,9000600,9000601,9000602,9000603,9000604,9000605,9000606,9000607,9000608,9000609,9000610,9000611,9000612,9000613,9000614,9000615,9000616,9000617,9000618,9000619,9000620,9000621,9000622,9000623,9000624,9000625,9000626,9000627,9000628,9000629,9000630,9000631,9000632,9000633,9000634,9000635,9000636,9000637,9000638,9000639,9000640,9000641,9000642,9000643,9000644,9000645,9000646,9000647,9000648,9000649,9000650,9000651,9000652,9000653,9000654,9000655,9000656,9000657,9000658,9000659,9000660,9000661,9000662,9000663,9000664,9000665,9000666,9000667,9000668,9000669,9000670,9000671,9000672,9000673,9000674,9000675,9000676,9000677,9000678,9000679,9000680,9000681,9000682,9000683,9000684,9000685,9000686,9000687,9000688,9000689,9000690,9000691,9000692,9000693,9000694,9000695,9000696,9000697,9000698,9000699,9000700,9000701,9000702,9000703,9000704,9000705,9000706,9000707,9000708,9000709,9000710,9000711,9000712,9000713,9000714,9000715,9000716,9000717,9000718,9000719,9000720,9000721,9000722,9000723,9000724,9000725,9000726,9000727,9000728,9000729,9000730,9000731,9000732,9000733,9000734,9000735,9000736,9000737,9000738,9000739,9000740,9000741,9000742,9000743,9000744,9000745,9000746,9000747,9000748,9000749,9000750,9000751,9000752,9000753,9000754,9000755,9000756,9000757,9000758,9000759,9000760,9000761,9000762,9000763,9000764,9000765,9000766,9000767,9000768,9000769,9000770,9000771,9000772,9000773,9000774,9000775,9000776,9000777,9000778,9000779,9000780,9000781,9000782,9000783,9000784,9000785,9000786,9000787,9000788,9000789,9000790,9000791,9000792,9000793,9000794,9000795,9000796,9000797,9000798,9000799,9000800,9000801,9000802,9000803,9000804,9000805,9000806,9000807,9000808,9000809,9000810,9000811,9000812,9000813,9000814,9000815,9000816,9000817,9000818,9000819,9000820,9000821,9000822,9000823,9000824,9000825,9000826,9000827,9000828,9000829,9000830,9000831,9000832,9000833,9000834,9000835,9000836,9000837,9000838,9000839,9000840,9000841,9000842,9000843,9000844,9000845,9000846,9000847,9000848,9000849,9000850,9000851,9000852,9000853,9000854,9000855,9000856,9000857,9000858,9000859,9000860,9000861,9000862,9000863,9000864,9000865,9000866,9000867,9000868,9000869,9000870,9000871,9000872,9000873,9000874,9000875,9000876,9000877,9000878,9000879,9000880,9000881,9000882,9000883,9000884,9000885,9000886,9000887,9000888,9000889,9000890,9000891,9000892,9000893,9000894,9000895,9000896,9000897,9000898,9000899,9000900,9000901,9000902,9000903,9000904,9000905,9000906,9000907,9000908,9000909,9000910,9000911,9000912,9000913,9000914,9000915,9000916,9000917,9000918,9000919,9000920,9000921,9000922,9000923,9000924,9000925,9000926,9000927,9000928,9000929,9000930,9000931,9000932,9000933,9000934,9000935,9000936,9000937,9000938,9000939,9000940,9000941,9000942,9000943,9000944,9000945,9000946,9000947,9000948,9000949,9000950,9000951,9000952,9000953,9000954,9000955,9000956,9000957,9000958,9000959,9000960,9000961,9000962,9000963,9000964,9000965,9000966,9000967,9000968,9000969,9000970,9000971,9000972,9000973,9000974,9000975,9000976,9000977,9000978,9000979,9000980,9000981,9000982,9000983,9000984,9000985,9000986,9000987,9000988,9000989,9000990,9000991,9000992,9000993,9000994,9000995,9000996,9000997,9000998,9000999,9001000,10000001,10000002,10000003,10000004,10000005,10000006,10000007,10000008,10000009,10000010,10000011,10000012,10000013,10000014,10000015,10000016,10000017,10000018,10000019,10000020,10000021,10000022,10000023,10000024,10000025,10000026,10000027,10000028,10000029,10000030,10000031,10000032,10000033,10000034,10000035,10000036,10000037,10000038,10000039,10000040,10000041,10000042,10000043,10000044,10000045,10000046,10000047,10000048,10000049,10000050,10000051,10000052,10000053,10000054,10000055,10000056,10000057,10000058,10000059,10000060,10000061,10000062,10000063,10000064,10000065,10000066,10000067,10000068,10000069,10000070,10000071,10000072,10000073,10000074,10000075,10000076,10000077,10000078,10000079,10000080,10000081,10000082,10000083,10000084,10000085,10000086,10000087,10000088,10000089,10000090,10000091,10000092,10000093,10000094,10000095,10000096,10000097,10000098,10000099,10000100,10000101,10000102,10000103,10000104,10000105,10000106,10000107,10000108,10000109,10000110,10000111,10000112,10000113,10000114,10000115,10000116,10000117,10000118,10000119,10000120,10000121,10000122,10000123,10000124,10000125,10000126,10000127,10000128,10000129,10000130,10000131,10000132,10000133,10000134,10000135,10000136,10000137,10000138,10000139,10000140,10000141,10000142,10000143,10000144,10000145,10000146,10000147,10000148,10000149,10000150,10000151,10000152,10000153,10000154,10000155,10000156,10000157,10000158,10000159,10000160,10000161,10000162,10000163,10000164,10000165,10000166,10000167,10000168,10000169,10000170,10000171,10000172,10000173,10000174,10000175,10000176,10000177,10000178,10000179,10000180,10000181,10000182,10000183,10000184,10000185,10000186,10000187,10000188,10000189,10000190,10000191,10000192,10000193,10000194,10000195,10000196,10000197,10000198,10000199,10000200,10000201,10000202,10000203,10000204,10000205,10000206,10000207,10000208,10000209,10000210,10000211,10000212,10000213,10000214,10000215,10000216,10000217,10000218,10000219,10000220,10000221,10000222,10000223,10000224,10000225,10000226,10000227,10000228,10000229,10000230,10000231,10000232,10000233,10000234,10000235,10000236,10000237,10000238,10000239,10000240,10000241,10000242,10000243,10000244,10000245,10000246,10000247,10000248,10000249,10000250,10000251,10000252,10000253,10000254,10000255,10000256,10000257,10000258,10000259,10000260,10000261,10000262,10000263,10000264,10000265,10000266,10000267,10000268,10000269,10000270,10000271,10000272,10000273,10000274,10000275,10000276,10000277,10000278,10000279,10000280,10000281,10000282,10000283,10000284,10000285,10000286,10000287,10000288,10000289,10000290,10000291,10000292,10000293,10000294,10000295,10000296,10000297,10000298,10000299,10000300,10000301,10000302,10000303,10000304,10000305,10000306,10000307,10000308,10000309,10000310,10000311,10000312,10000313,10000314,10000315,10000316,10000317,10000318,10000319,10000320,10000321,10000322,10000323,10000324,10000325,10000326,10000327,10000328,10000329,10000330,10000331,10000332,10000333,10000334,10000335,10000336,10000337,10000338,10000339,10000340,10000341,10000342,10000343,10000344,10000345,10000346,10000347,10000348,10000349,10000350,10000351,10000352,10000353,10000354,10000355,10000356,10000357,10000358,10000359,10000360,10000361,10000362,10000363,10000364,10000365,10000366,10000367,10000368,10000369,10000370,10000371,10000372,10000373,10000374,10000375,10000376,10000377,10000378,10000379,10000380,10000381,10000382,10000383,10000384,10000385,10000386,10000387,10000388,10000389,10000390,10000391,10000392,10000393,10000394,10000395,10000396,10000397,10000398,10000399,10000400,10000401,10000402,10000403,10000404,10000405,10000406,10000407,10000408,10000409,10000410,10000411,10000412,10000413,10000414,10000415,10000416,10000417,10000418,10000419,10000420,10000421,10000422,10000423,10000424,10000425,10000426,10000427,10000428,10000429,10000430,10000431,10000432,10000433,10000434,10000435,10000436,10000437,10000438,10000439,10000440,10000441,10000442,10000443,10000444,10000445,10000446,10000447,10000448,10000449,10000450,10000451,10000452,10000453,10000454,10000455,10000456,10000457,10000458,10000459,10000460,10000461,10000462,10000463,10000464,10000465,10000466,10000467,10000468,10000469,10000470,10000471,10000472,10000473,10000474,10000475,10000476,10000477,10000478,10000479,10000480,10000481,10000482,10000483,10000484,10000485,10000486,10000487,10000488,10000489,10000490,10000491,10000492,10000493,10000494,10000495,10000496,10000497,10000498,10000499,10000500,10000501,10000502,10000503,10000504,10000505,10000506,10000507,10000508,10000509,10000510,10000511,10000512,10000513,10000514,10000515,10000516,10000517,10000518,10000519,10000520,10000521,10000522,10000523,10000524,10000525,10000526,10000527,10000528,10000529,10000530,10000531,10000532,10000533,10000534,10000535,10000536,10000537,10000538,10000539,10000540,10000541,10000542,10000543,10000544,10000545,10000546,10000547,10000548,10000549,10000550,10000551,10000552,10000553,10000554,10000555,10000556,10000557,10000558,10000559,10000560,10000561,10000562,10000563,10000564,10000565,10000566,10000567,10000568,10000569,10000570,10000571,10000572,10000573,10000574,10000575,10000576,10000577,10000578,10000579,10000580,10000581,10000582,10000583,10000584,10000585,10000586,10000587,10000588,10000589,10000590,10000591,10000592,10000593,10000594,10000595,10000596,10000597,10000598,10000599,10000600,10000601,10000602,10000603,10000604,10000605,10000606,10000607,10000608,10000609,10000610,10000611,10000612,10000613,10000614,10000615,10000616,10000617,10000618,10000619,10000620,10000621,10000622,10000623,10000624,10000625,10000626,10000627,10000628,10000629,10000630,10000631,10000632,10000633,10000634,10000635,10000636,10000637,10000638,10000639,10000640,10000641,10000642,10000643,10000644,10000645,10000646,10000647,10000648,10000649,10000650,10000651,10000652,10000653,10000654,10000655,10000656,10000657,10000658,10000659,10000660,10000661,10000662,10000663,10000664,10000665,10000666,10000667,10000668,10000669,10000670,10000671,10000672,10000673,10000674,10000675,10000676,10000677,10000678,10000679,10000680,10000681,10000682,10000683,10000684,10000685,10000686,10000687,10000688,10000689,10000690,10000691,10000692,10000693,10000694,10000695,10000696,10000697,10000698,10000699,10000700,10000701,10000702,10000703,10000704,10000705,10000706,10000707,10000708,10000709,10000710,10000711,10000712,10000713,10000714,10000715,10000716,10000717,10000718,10000719,10000720,10000721,10000722,10000723,10000724,10000725,10000726,10000727,10000728,10000729,10000730,10000731,10000732,10000733,10000734,10000735,10000736,10000737,10000738,10000739,10000740,10000741,10000742,10000743,10000744,10000745,10000746,10000747,10000748,10000749,10000750,10000751,10000752,10000753,10000754,10000755,10000756,10000757,10000758,10000759,10000760,10000761,10000762,10000763,10000764,10000765,10000766,10000767,10000768,10000769,10000770,10000771,10000772,10000773,10000774,10000775,10000776,10000777,10000778,10000779,10000780,10000781,10000782,10000783,10000784,10000785,10000786,10000787,10000788,10000789,10000790,10000791,10000792,10000793,10000794,10000795,10000796,10000797,10000798,10000799,10000800,10000801,10000802,10000803,10000804,10000805,10000806,10000807,10000808,10000809,10000810,10000811,10000812,10000813,10000814,10000815,10000816,10000817,10000818,10000819,10000820,10000821,10000822,10000823,10000824,10000825,10000826,10000827,10000828,10000829,10000830,10000831,10000832,10000833,10000834,10000835,10000836,10000837,10000838,10000839,10000840,10000841,10000842,10000843,10000844,10000845,10000846,10000847,10000848,10000849,10000850,10000851,10000852,10000853,10000854,10000855,10000856,10000857,10000858,10000859,10000860,10000861,10000862,10000863,10000864,10000865,10000866,10000867,10000868,10000869,10000870,10000871,10000872,10000873,10000874,10000875,10000876,10000877,10000878,10000879,10000880,10000881,10000882,10000883,10000884,10000885,10000886,10000887,10000888,10000889,10000890,10000891,10000892,10000893,10000894,10000895,10000896,10000897,10000898,10000899,10000900,10000901,10000902,10000903,10000904,10000905,10000906,10000907,10000908,10000909,10000910,10000911,10000912,10000913,10000914,10000915,10000916,10000917,10000918,10000919,10000920,10000921,10000922,10000923,10000924,10000925,10000926,10000927,10000928,10000929,10000930,10000931,10000932,10000933,10000934,10000935,10000936,10000937,10000938,10000939,10000940,10000941,10000942,10000943,10000944,10000945,10000946,10000947,10000948,10000949,10000950,10000951,10000952,10000953,10000954,10000955,10000956,10000957,10000958,10000959,10000960,10000961,10000962,10000963,10000964,10000965,10000966,10000967,10000968,10000969,10000970,10000971,10000972,10000973,10000974,10000975,10000976,10000977,10000978,10000979,10000980,10000981,10000982,10000983,10000984,10000985,10000986,10000987,10000988,10000989,10000990,10000991,10000992,10000993,10000994,10000995,10000996,10000997,10000998,10000999,10001000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ #Table3 1*10k 100*100 1000*10
+ - table: pkeyBigint10k_
+ count: 1
+ rows: 10000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: JoinG5_1_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: customer=3
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+ - workload: JoinG5_2_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card3_1 in (1000058);
+
+ - workload: JoinG5_3_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: customer=7
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG5_4_1Mtbl_join_1Mtbl_two_conditions_seqscan_two_filters
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card2_1=b.col_bigint_card2_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG5_5_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=1
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+ - workload: JoinG5_6_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=3
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card3_1 in (1000058);
+
+ - workload: JoinG5_7_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=8
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG5_8_1Mtbl_join_10ktbl_two_conditions_seqscan_two_filters
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card2_1=b.col_bigint_card2_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card2_1 in (1000058);
diff --git a/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING6_to_test_data_cardinality_skey.yaml b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING6_to_test_data_cardinality_skey.yaml
new file mode 100644
index 000000000..8a5bceec1
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING6_to_test_data_cardinality_skey.yaml
@@ -0,0 +1,194 @@
+#100000 col1 col2 col3 col4
+#Table1 1*1M 1000*1k 10000*100
+#Table2 1*1L 1000*100 10000*10
+#Table3 1*10k 100*100 1000*10
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint10k_1;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10k_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card1_1,col_bigint_card2_1,col_bigint_card3_1)
+ - CREATE INDEX ON pkeyBigint1M_2(col_bigint_card1_1,col_bigint_card2_1,col_bigint_card3_1)
+ - CREATE INDEX ON pkeyBigint10k_1(col_bigint_card1_1,col_bigint_card2_1,col_bigint_card3_1)
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint10k_1;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000,2000002,2000003,2000004,2000005,2000006,2000007,2000008,2000009,2000010,2000011,2000012,2000013,2000014,2000015,2000016,2000017,2000018,2000019,2000020,2000021,2000022,2000023,2000024,2000025,2000026,2000027,2000028,2000029,2000030,2000031,2000032,2000033,2000034,2000035,2000036,2000037,2000038,2000039,2000040,2000041,2000042,2000043,2000044,2000045,2000046,2000047,2000048,2000049,2000050,2000051,2000052,2000053,2000054,2000055,2000056,2000057,2000058,2000059,2000060,2000061,2000062,2000063,2000064,2000065,2000066,2000067,2000068,2000069,2000070,2000071,2000072,2000073,2000074,2000075,2000076,2000077,2000078,2000079,2000080,2000081,2000082,2000083,2000084,2000085,2000086,2000087,2000088,2000089,2000090,2000091,2000092,2000093,2000094,2000095,2000096,2000097,2000098,2000099,2000100,2000101,2000102,2000103,2000104,2000105,2000106,2000107,2000108,2000109,2000110,2000111,2000112,2000113,2000114,2000115,2000116,2000117,2000118,2000119,2000120,2000121,2000122,2000123,2000124,2000125,2000126,2000127,2000128,2000129,2000130,2000131,2000132,2000133,2000134,2000135,2000136,2000137,2000138,2000139,2000140,2000141,2000142,2000143,2000144,2000145,2000146,2000147,2000148,2000149,2000150,2000151,2000152,2000153,2000154,2000155,2000156,2000157,2000158,2000159,2000160,2000161,2000162,2000163,2000164,2000165,2000166,2000167,2000168,2000169,2000170,2000171,2000172,2000173,2000174,2000175,2000176,2000177,2000178,2000179,2000180,2000181,2000182,2000183,2000184,2000185,2000186,2000187,2000188,2000189,2000190,2000191,2000192,2000193,2000194,2000195,2000196,2000197,2000198,2000199,2000200,2000201,2000202,2000203,2000204,2000205,2000206,2000207,2000208,2000209,2000210,2000211,2000212,2000213,2000214,2000215,2000216,2000217,2000218,2000219,2000220,2000221,2000222,2000223,2000224,2000225,2000226,2000227,2000228,2000229,2000230,2000231,2000232,2000233,2000234,2000235,2000236,2000237,2000238,2000239,2000240,2000241,2000242,2000243,2000244,2000245,2000246,2000247,2000248,2000249,2000250,2000251,2000252,2000253,2000254,2000255,2000256,2000257,2000258,2000259,2000260,2000261,2000262,2000263,2000264,2000265,2000266,2000267,2000268,2000269,2000270,2000271,2000272,2000273,2000274,2000275,2000276,2000277,2000278,2000279,2000280,2000281,2000282,2000283,2000284,2000285,2000286,2000287,2000288,2000289,2000290,2000291,2000292,2000293,2000294,2000295,2000296,2000297,2000298,2000299,2000300,2000301,2000302,2000303,2000304,2000305,2000306,2000307,2000308,2000309,2000310,2000311,2000312,2000313,2000314,2000315,2000316,2000317,2000318,2000319,2000320,2000321,2000322,2000323,2000324,2000325,2000326,2000327,2000328,2000329,2000330,2000331,2000332,2000333,2000334,2000335,2000336,2000337,2000338,2000339,2000340,2000341,2000342,2000343,2000344,2000345,2000346,2000347,2000348,2000349,2000350,2000351,2000352,2000353,2000354,2000355,2000356,2000357,2000358,2000359,2000360,2000361,2000362,2000363,2000364,2000365,2000366,2000367,2000368,2000369,2000370,2000371,2000372,2000373,2000374,2000375,2000376,2000377,2000378,2000379,2000380,2000381,2000382,2000383,2000384,2000385,2000386,2000387,2000388,2000389,2000390,2000391,2000392,2000393,2000394,2000395,2000396,2000397,2000398,2000399,2000400,2000401,2000402,2000403,2000404,2000405,2000406,2000407,2000408,2000409,2000410,2000411,2000412,2000413,2000414,2000415,2000416,2000417,2000418,2000419,2000420,2000421,2000422,2000423,2000424,2000425,2000426,2000427,2000428,2000429,2000430,2000431,2000432,2000433,2000434,2000435,2000436,2000437,2000438,2000439,2000440,2000441,2000442,2000443,2000444,2000445,2000446,2000447,2000448,2000449,2000450,2000451,2000452,2000453,2000454,2000455,2000456,2000457,2000458,2000459,2000460,2000461,2000462,2000463,2000464,2000465,2000466,2000467,2000468,2000469,2000470,2000471,2000472,2000473,2000474,2000475,2000476,2000477,2000478,2000479,2000480,2000481,2000482,2000483,2000484,2000485,2000486,2000487,2000488,2000489,2000490,2000491,2000492,2000493,2000494,2000495,2000496,2000497,2000498,2000499,2000500,2000501,2000502,2000503,2000504,2000505,2000506,2000507,2000508,2000509,2000510,2000511,2000512,2000513,2000514,2000515,2000516,2000517,2000518,2000519,2000520,2000521,2000522,2000523,2000524,2000525,2000526,2000527,2000528,2000529,2000530,2000531,2000532,2000533,2000534,2000535,2000536,2000537,2000538,2000539,2000540,2000541,2000542,2000543,2000544,2000545,2000546,2000547,2000548,2000549,2000550,2000551,2000552,2000553,2000554,2000555,2000556,2000557,2000558,2000559,2000560,2000561,2000562,2000563,2000564,2000565,2000566,2000567,2000568,2000569,2000570,2000571,2000572,2000573,2000574,2000575,2000576,2000577,2000578,2000579,2000580,2000581,2000582,2000583,2000584,2000585,2000586,2000587,2000588,2000589,2000590,2000591,2000592,2000593,2000594,2000595,2000596,2000597,2000598,2000599,2000600,2000601,2000602,2000603,2000604,2000605,2000606,2000607,2000608,2000609,2000610,2000611,2000612,2000613,2000614,2000615,2000616,2000617,2000618,2000619,2000620,2000621,2000622,2000623,2000624,2000625,2000626,2000627,2000628,2000629,2000630,2000631,2000632,2000633,2000634,2000635,2000636,2000637,2000638,2000639,2000640,2000641,2000642,2000643,2000644,2000645,2000646,2000647,2000648,2000649,2000650,2000651,2000652,2000653,2000654,2000655,2000656,2000657,2000658,2000659,2000660,2000661,2000662,2000663,2000664,2000665,2000666,2000667,2000668,2000669,2000670,2000671,2000672,2000673,2000674,2000675,2000676,2000677,2000678,2000679,2000680,2000681,2000682,2000683,2000684,2000685,2000686,2000687,2000688,2000689,2000690,2000691,2000692,2000693,2000694,2000695,2000696,2000697,2000698,2000699,2000700,2000701,2000702,2000703,2000704,2000705,2000706,2000707,2000708,2000709,2000710,2000711,2000712,2000713,2000714,2000715,2000716,2000717,2000718,2000719,2000720,2000721,2000722,2000723,2000724,2000725,2000726,2000727,2000728,2000729,2000730,2000731,2000732,2000733,2000734,2000735,2000736,2000737,2000738,2000739,2000740,2000741,2000742,2000743,2000744,2000745,2000746,2000747,2000748,2000749,2000750,2000751,2000752,2000753,2000754,2000755,2000756,2000757,2000758,2000759,2000760,2000761,2000762,2000763,2000764,2000765,2000766,2000767,2000768,2000769,2000770,2000771,2000772,2000773,2000774,2000775,2000776,2000777,2000778,2000779,2000780,2000781,2000782,2000783,2000784,2000785,2000786,2000787,2000788,2000789,2000790,2000791,2000792,2000793,2000794,2000795,2000796,2000797,2000798,2000799,2000800,2000801,2000802,2000803,2000804,2000805,2000806,2000807,2000808,2000809,2000810,2000811,2000812,2000813,2000814,2000815,2000816,2000817,2000818,2000819,2000820,2000821,2000822,2000823,2000824,2000825,2000826,2000827,2000828,2000829,2000830,2000831,2000832,2000833,2000834,2000835,2000836,2000837,2000838,2000839,2000840,2000841,2000842,2000843,2000844,2000845,2000846,2000847,2000848,2000849,2000850,2000851,2000852,2000853,2000854,2000855,2000856,2000857,2000858,2000859,2000860,2000861,2000862,2000863,2000864,2000865,2000866,2000867,2000868,2000869,2000870,2000871,2000872,2000873,2000874,2000875,2000876,2000877,2000878,2000879,2000880,2000881,2000882,2000883,2000884,2000885,2000886,2000887,2000888,2000889,2000890,2000891,2000892,2000893,2000894,2000895,2000896,2000897,2000898,2000899,2000900,2000901,2000902,2000903,2000904,2000905,2000906,2000907,2000908,2000909,2000910,2000911,2000912,2000913,2000914,2000915,2000916,2000917,2000918,2000919,2000920,2000921,2000922,2000923,2000924,2000925,2000926,2000927,2000928,2000929,2000930,2000931,2000932,2000933,2000934,2000935,2000936,2000937,2000938,2000939,2000940,2000941,2000942,2000943,2000944,2000945,2000946,2000947,2000948,2000949,2000950,2000951,2000952,2000953,2000954,2000955,2000956,2000957,2000958,2000959,2000960,2000961,2000962,2000963,2000964,2000965,2000966,2000967,2000968,2000969,2000970,2000971,2000972,2000973,2000974,2000975,2000976,2000977,2000978,2000979,2000980,2000981,2000982,2000983,2000984,2000985,2000986,2000987,2000988,2000989,2000990,2000991,2000992,2000993,2000994,2000995,2000996,2000997,2000998,2000999,2001000,3000001,3000002,3000003,3000004,3000005,3000006,3000007,3000008,3000009,3000010,3000011,3000012,3000013,3000014,3000015,3000016,3000017,3000018,3000019,3000020,3000021,3000022,3000023,3000024,3000025,3000026,3000027,3000028,3000029,3000030,3000031,3000032,3000033,3000034,3000035,3000036,3000037,3000038,3000039,3000040,3000041,3000042,3000043,3000044,3000045,3000046,3000047,3000048,3000049,3000050,3000051,3000052,3000053,3000054,3000055,3000056,3000057,3000058,3000059,3000060,3000061,3000062,3000063,3000064,3000065,3000066,3000067,3000068,3000069,3000070,3000071,3000072,3000073,3000074,3000075,3000076,3000077,3000078,3000079,3000080,3000081,3000082,3000083,3000084,3000085,3000086,3000087,3000088,3000089,3000090,3000091,3000092,3000093,3000094,3000095,3000096,3000097,3000098,3000099,3000100,3000101,3000102,3000103,3000104,3000105,3000106,3000107,3000108,3000109,3000110,3000111,3000112,3000113,3000114,3000115,3000116,3000117,3000118,3000119,3000120,3000121,3000122,3000123,3000124,3000125,3000126,3000127,3000128,3000129,3000130,3000131,3000132,3000133,3000134,3000135,3000136,3000137,3000138,3000139,3000140,3000141,3000142,3000143,3000144,3000145,3000146,3000147,3000148,3000149,3000150,3000151,3000152,3000153,3000154,3000155,3000156,3000157,3000158,3000159,3000160,3000161,3000162,3000163,3000164,3000165,3000166,3000167,3000168,3000169,3000170,3000171,3000172,3000173,3000174,3000175,3000176,3000177,3000178,3000179,3000180,3000181,3000182,3000183,3000184,3000185,3000186,3000187,3000188,3000189,3000190,3000191,3000192,3000193,3000194,3000195,3000196,3000197,3000198,3000199,3000200,3000201,3000202,3000203,3000204,3000205,3000206,3000207,3000208,3000209,3000210,3000211,3000212,3000213,3000214,3000215,3000216,3000217,3000218,3000219,3000220,3000221,3000222,3000223,3000224,3000225,3000226,3000227,3000228,3000229,3000230,3000231,3000232,3000233,3000234,3000235,3000236,3000237,3000238,3000239,3000240,3000241,3000242,3000243,3000244,3000245,3000246,3000247,3000248,3000249,3000250,3000251,3000252,3000253,3000254,3000255,3000256,3000257,3000258,3000259,3000260,3000261,3000262,3000263,3000264,3000265,3000266,3000267,3000268,3000269,3000270,3000271,3000272,3000273,3000274,3000275,3000276,3000277,3000278,3000279,3000280,3000281,3000282,3000283,3000284,3000285,3000286,3000287,3000288,3000289,3000290,3000291,3000292,3000293,3000294,3000295,3000296,3000297,3000298,3000299,3000300,3000301,3000302,3000303,3000304,3000305,3000306,3000307,3000308,3000309,3000310,3000311,3000312,3000313,3000314,3000315,3000316,3000317,3000318,3000319,3000320,3000321,3000322,3000323,3000324,3000325,3000326,3000327,3000328,3000329,3000330,3000331,3000332,3000333,3000334,3000335,3000336,3000337,3000338,3000339,3000340,3000341,3000342,3000343,3000344,3000345,3000346,3000347,3000348,3000349,3000350,3000351,3000352,3000353,3000354,3000355,3000356,3000357,3000358,3000359,3000360,3000361,3000362,3000363,3000364,3000365,3000366,3000367,3000368,3000369,3000370,3000371,3000372,3000373,3000374,3000375,3000376,3000377,3000378,3000379,3000380,3000381,3000382,3000383,3000384,3000385,3000386,3000387,3000388,3000389,3000390,3000391,3000392,3000393,3000394,3000395,3000396,3000397,3000398,3000399,3000400,3000401,3000402,3000403,3000404,3000405,3000406,3000407,3000408,3000409,3000410,3000411,3000412,3000413,3000414,3000415,3000416,3000417,3000418,3000419,3000420,3000421,3000422,3000423,3000424,3000425,3000426,3000427,3000428,3000429,3000430,3000431,3000432,3000433,3000434,3000435,3000436,3000437,3000438,3000439,3000440,3000441,3000442,3000443,3000444,3000445,3000446,3000447,3000448,3000449,3000450,3000451,3000452,3000453,3000454,3000455,3000456,3000457,3000458,3000459,3000460,3000461,3000462,3000463,3000464,3000465,3000466,3000467,3000468,3000469,3000470,3000471,3000472,3000473,3000474,3000475,3000476,3000477,3000478,3000479,3000480,3000481,3000482,3000483,3000484,3000485,3000486,3000487,3000488,3000489,3000490,3000491,3000492,3000493,3000494,3000495,3000496,3000497,3000498,3000499,3000500,3000501,3000502,3000503,3000504,3000505,3000506,3000507,3000508,3000509,3000510,3000511,3000512,3000513,3000514,3000515,3000516,3000517,3000518,3000519,3000520,3000521,3000522,3000523,3000524,3000525,3000526,3000527,3000528,3000529,3000530,3000531,3000532,3000533,3000534,3000535,3000536,3000537,3000538,3000539,3000540,3000541,3000542,3000543,3000544,3000545,3000546,3000547,3000548,3000549,3000550,3000551,3000552,3000553,3000554,3000555,3000556,3000557,3000558,3000559,3000560,3000561,3000562,3000563,3000564,3000565,3000566,3000567,3000568,3000569,3000570,3000571,3000572,3000573,3000574,3000575,3000576,3000577,3000578,3000579,3000580,3000581,3000582,3000583,3000584,3000585,3000586,3000587,3000588,3000589,3000590,3000591,3000592,3000593,3000594,3000595,3000596,3000597,3000598,3000599,3000600,3000601,3000602,3000603,3000604,3000605,3000606,3000607,3000608,3000609,3000610,3000611,3000612,3000613,3000614,3000615,3000616,3000617,3000618,3000619,3000620,3000621,3000622,3000623,3000624,3000625,3000626,3000627,3000628,3000629,3000630,3000631,3000632,3000633,3000634,3000635,3000636,3000637,3000638,3000639,3000640,3000641,3000642,3000643,3000644,3000645,3000646,3000647,3000648,3000649,3000650,3000651,3000652,3000653,3000654,3000655,3000656,3000657,3000658,3000659,3000660,3000661,3000662,3000663,3000664,3000665,3000666,3000667,3000668,3000669,3000670,3000671,3000672,3000673,3000674,3000675,3000676,3000677,3000678,3000679,3000680,3000681,3000682,3000683,3000684,3000685,3000686,3000687,3000688,3000689,3000690,3000691,3000692,3000693,3000694,3000695,3000696,3000697,3000698,3000699,3000700,3000701,3000702,3000703,3000704,3000705,3000706,3000707,3000708,3000709,3000710,3000711,3000712,3000713,3000714,3000715,3000716,3000717,3000718,3000719,3000720,3000721,3000722,3000723,3000724,3000725,3000726,3000727,3000728,3000729,3000730,3000731,3000732,3000733,3000734,3000735,3000736,3000737,3000738,3000739,3000740,3000741,3000742,3000743,3000744,3000745,3000746,3000747,3000748,3000749,3000750,3000751,3000752,3000753,3000754,3000755,3000756,3000757,3000758,3000759,3000760,3000761,3000762,3000763,3000764,3000765,3000766,3000767,3000768,3000769,3000770,3000771,3000772,3000773,3000774,3000775,3000776,3000777,3000778,3000779,3000780,3000781,3000782,3000783,3000784,3000785,3000786,3000787,3000788,3000789,3000790,3000791,3000792,3000793,3000794,3000795,3000796,3000797,3000798,3000799,3000800,3000801,3000802,3000803,3000804,3000805,3000806,3000807,3000808,3000809,3000810,3000811,3000812,3000813,3000814,3000815,3000816,3000817,3000818,3000819,3000820,3000821,3000822,3000823,3000824,3000825,3000826,3000827,3000828,3000829,3000830,3000831,3000832,3000833,3000834,3000835,3000836,3000837,3000838,3000839,3000840,3000841,3000842,3000843,3000844,3000845,3000846,3000847,3000848,3000849,3000850,3000851,3000852,3000853,3000854,3000855,3000856,3000857,3000858,3000859,3000860,3000861,3000862,3000863,3000864,3000865,3000866,3000867,3000868,3000869,3000870,3000871,3000872,3000873,3000874,3000875,3000876,3000877,3000878,3000879,3000880,3000881,3000882,3000883,3000884,3000885,3000886,3000887,3000888,3000889,3000890,3000891,3000892,3000893,3000894,3000895,3000896,3000897,3000898,3000899,3000900,3000901,3000902,3000903,3000904,3000905,3000906,3000907,3000908,3000909,3000910,3000911,3000912,3000913,3000914,3000915,3000916,3000917,3000918,3000919,3000920,3000921,3000922,3000923,3000924,3000925,3000926,3000927,3000928,3000929,3000930,3000931,3000932,3000933,3000934,3000935,3000936,3000937,3000938,3000939,3000940,3000941,3000942,3000943,3000944,3000945,3000946,3000947,3000948,3000949,3000950,3000951,3000952,3000953,3000954,3000955,3000956,3000957,3000958,3000959,3000960,3000961,3000962,3000963,3000964,3000965,3000966,3000967,3000968,3000969,3000970,3000971,3000972,3000973,3000974,3000975,3000976,3000977,3000978,3000979,3000980,3000981,3000982,3000983,3000984,3000985,3000986,3000987,3000988,3000989,3000990,3000991,3000992,3000993,3000994,3000995,3000996,3000997,3000998,3000999,3001000,4000001,4000002,4000003,4000004,4000005,4000006,4000007,4000008,4000009,4000010,4000011,4000012,4000013,4000014,4000015,4000016,4000017,4000018,4000019,4000020,4000021,4000022,4000023,4000024,4000025,4000026,4000027,4000028,4000029,4000030,4000031,4000032,4000033,4000034,4000035,4000036,4000037,4000038,4000039,4000040,4000041,4000042,4000043,4000044,4000045,4000046,4000047,4000048,4000049,4000050,4000051,4000052,4000053,4000054,4000055,4000056,4000057,4000058,4000059,4000060,4000061,4000062,4000063,4000064,4000065,4000066,4000067,4000068,4000069,4000070,4000071,4000072,4000073,4000074,4000075,4000076,4000077,4000078,4000079,4000080,4000081,4000082,4000083,4000084,4000085,4000086,4000087,4000088,4000089,4000090,4000091,4000092,4000093,4000094,4000095,4000096,4000097,4000098,4000099,4000100,4000101,4000102,4000103,4000104,4000105,4000106,4000107,4000108,4000109,4000110,4000111,4000112,4000113,4000114,4000115,4000116,4000117,4000118,4000119,4000120,4000121,4000122,4000123,4000124,4000125,4000126,4000127,4000128,4000129,4000130,4000131,4000132,4000133,4000134,4000135,4000136,4000137,4000138,4000139,4000140,4000141,4000142,4000143,4000144,4000145,4000146,4000147,4000148,4000149,4000150,4000151,4000152,4000153,4000154,4000155,4000156,4000157,4000158,4000159,4000160,4000161,4000162,4000163,4000164,4000165,4000166,4000167,4000168,4000169,4000170,4000171,4000172,4000173,4000174,4000175,4000176,4000177,4000178,4000179,4000180,4000181,4000182,4000183,4000184,4000185,4000186,4000187,4000188,4000189,4000190,4000191,4000192,4000193,4000194,4000195,4000196,4000197,4000198,4000199,4000200,4000201,4000202,4000203,4000204,4000205,4000206,4000207,4000208,4000209,4000210,4000211,4000212,4000213,4000214,4000215,4000216,4000217,4000218,4000219,4000220,4000221,4000222,4000223,4000224,4000225,4000226,4000227,4000228,4000229,4000230,4000231,4000232,4000233,4000234,4000235,4000236,4000237,4000238,4000239,4000240,4000241,4000242,4000243,4000244,4000245,4000246,4000247,4000248,4000249,4000250,4000251,4000252,4000253,4000254,4000255,4000256,4000257,4000258,4000259,4000260,4000261,4000262,4000263,4000264,4000265,4000266,4000267,4000268,4000269,4000270,4000271,4000272,4000273,4000274,4000275,4000276,4000277,4000278,4000279,4000280,4000281,4000282,4000283,4000284,4000285,4000286,4000287,4000288,4000289,4000290,4000291,4000292,4000293,4000294,4000295,4000296,4000297,4000298,4000299,4000300,4000301,4000302,4000303,4000304,4000305,4000306,4000307,4000308,4000309,4000310,4000311,4000312,4000313,4000314,4000315,4000316,4000317,4000318,4000319,4000320,4000321,4000322,4000323,4000324,4000325,4000326,4000327,4000328,4000329,4000330,4000331,4000332,4000333,4000334,4000335,4000336,4000337,4000338,4000339,4000340,4000341,4000342,4000343,4000344,4000345,4000346,4000347,4000348,4000349,4000350,4000351,4000352,4000353,4000354,4000355,4000356,4000357,4000358,4000359,4000360,4000361,4000362,4000363,4000364,4000365,4000366,4000367,4000368,4000369,4000370,4000371,4000372,4000373,4000374,4000375,4000376,4000377,4000378,4000379,4000380,4000381,4000382,4000383,4000384,4000385,4000386,4000387,4000388,4000389,4000390,4000391,4000392,4000393,4000394,4000395,4000396,4000397,4000398,4000399,4000400,4000401,4000402,4000403,4000404,4000405,4000406,4000407,4000408,4000409,4000410,4000411,4000412,4000413,4000414,4000415,4000416,4000417,4000418,4000419,4000420,4000421,4000422,4000423,4000424,4000425,4000426,4000427,4000428,4000429,4000430,4000431,4000432,4000433,4000434,4000435,4000436,4000437,4000438,4000439,4000440,4000441,4000442,4000443,4000444,4000445,4000446,4000447,4000448,4000449,4000450,4000451,4000452,4000453,4000454,4000455,4000456,4000457,4000458,4000459,4000460,4000461,4000462,4000463,4000464,4000465,4000466,4000467,4000468,4000469,4000470,4000471,4000472,4000473,4000474,4000475,4000476,4000477,4000478,4000479,4000480,4000481,4000482,4000483,4000484,4000485,4000486,4000487,4000488,4000489,4000490,4000491,4000492,4000493,4000494,4000495,4000496,4000497,4000498,4000499,4000500,4000501,4000502,4000503,4000504,4000505,4000506,4000507,4000508,4000509,4000510,4000511,4000512,4000513,4000514,4000515,4000516,4000517,4000518,4000519,4000520,4000521,4000522,4000523,4000524,4000525,4000526,4000527,4000528,4000529,4000530,4000531,4000532,4000533,4000534,4000535,4000536,4000537,4000538,4000539,4000540,4000541,4000542,4000543,4000544,4000545,4000546,4000547,4000548,4000549,4000550,4000551,4000552,4000553,4000554,4000555,4000556,4000557,4000558,4000559,4000560,4000561,4000562,4000563,4000564,4000565,4000566,4000567,4000568,4000569,4000570,4000571,4000572,4000573,4000574,4000575,4000576,4000577,4000578,4000579,4000580,4000581,4000582,4000583,4000584,4000585,4000586,4000587,4000588,4000589,4000590,4000591,4000592,4000593,4000594,4000595,4000596,4000597,4000598,4000599,4000600,4000601,4000602,4000603,4000604,4000605,4000606,4000607,4000608,4000609,4000610,4000611,4000612,4000613,4000614,4000615,4000616,4000617,4000618,4000619,4000620,4000621,4000622,4000623,4000624,4000625,4000626,4000627,4000628,4000629,4000630,4000631,4000632,4000633,4000634,4000635,4000636,4000637,4000638,4000639,4000640,4000641,4000642,4000643,4000644,4000645,4000646,4000647,4000648,4000649,4000650,4000651,4000652,4000653,4000654,4000655,4000656,4000657,4000658,4000659,4000660,4000661,4000662,4000663,4000664,4000665,4000666,4000667,4000668,4000669,4000670,4000671,4000672,4000673,4000674,4000675,4000676,4000677,4000678,4000679,4000680,4000681,4000682,4000683,4000684,4000685,4000686,4000687,4000688,4000689,4000690,4000691,4000692,4000693,4000694,4000695,4000696,4000697,4000698,4000699,4000700,4000701,4000702,4000703,4000704,4000705,4000706,4000707,4000708,4000709,4000710,4000711,4000712,4000713,4000714,4000715,4000716,4000717,4000718,4000719,4000720,4000721,4000722,4000723,4000724,4000725,4000726,4000727,4000728,4000729,4000730,4000731,4000732,4000733,4000734,4000735,4000736,4000737,4000738,4000739,4000740,4000741,4000742,4000743,4000744,4000745,4000746,4000747,4000748,4000749,4000750,4000751,4000752,4000753,4000754,4000755,4000756,4000757,4000758,4000759,4000760,4000761,4000762,4000763,4000764,4000765,4000766,4000767,4000768,4000769,4000770,4000771,4000772,4000773,4000774,4000775,4000776,4000777,4000778,4000779,4000780,4000781,4000782,4000783,4000784,4000785,4000786,4000787,4000788,4000789,4000790,4000791,4000792,4000793,4000794,4000795,4000796,4000797,4000798,4000799,4000800,4000801,4000802,4000803,4000804,4000805,4000806,4000807,4000808,4000809,4000810,4000811,4000812,4000813,4000814,4000815,4000816,4000817,4000818,4000819,4000820,4000821,4000822,4000823,4000824,4000825,4000826,4000827,4000828,4000829,4000830,4000831,4000832,4000833,4000834,4000835,4000836,4000837,4000838,4000839,4000840,4000841,4000842,4000843,4000844,4000845,4000846,4000847,4000848,4000849,4000850,4000851,4000852,4000853,4000854,4000855,4000856,4000857,4000858,4000859,4000860,4000861,4000862,4000863,4000864,4000865,4000866,4000867,4000868,4000869,4000870,4000871,4000872,4000873,4000874,4000875,4000876,4000877,4000878,4000879,4000880,4000881,4000882,4000883,4000884,4000885,4000886,4000887,4000888,4000889,4000890,4000891,4000892,4000893,4000894,4000895,4000896,4000897,4000898,4000899,4000900,4000901,4000902,4000903,4000904,4000905,4000906,4000907,4000908,4000909,4000910,4000911,4000912,4000913,4000914,4000915,4000916,4000917,4000918,4000919,4000920,4000921,4000922,4000923,4000924,4000925,4000926,4000927,4000928,4000929,4000930,4000931,4000932,4000933,4000934,4000935,4000936,4000937,4000938,4000939,4000940,4000941,4000942,4000943,4000944,4000945,4000946,4000947,4000948,4000949,4000950,4000951,4000952,4000953,4000954,4000955,4000956,4000957,4000958,4000959,4000960,4000961,4000962,4000963,4000964,4000965,4000966,4000967,4000968,4000969,4000970,4000971,4000972,4000973,4000974,4000975,4000976,4000977,4000978,4000979,4000980,4000981,4000982,4000983,4000984,4000985,4000986,4000987,4000988,4000989,4000990,4000991,4000992,4000993,4000994,4000995,4000996,4000997,4000998,4000999,4001000,5000002,5000003,5000004,5000005,5000006,5000007,5000008,5000009,5000010,5000011,5000012,5000013,5000014,5000015,5000016,5000017,5000018,5000019,5000020,5000021,5000022,5000023,5000024,5000025,5000026,5000027,5000028,5000029,5000030,5000031,5000032,5000033,5000034,5000035,5000036,5000037,5000038,5000039,5000040,5000041,5000042,5000043,5000044,5000045,5000046,5000047,5000048,5000049,5000050,5000051,5000052,5000053,5000054,5000055,5000056,5000057,5000058,5000059,5000060,5000061,5000062,5000063,5000064,5000065,5000066,5000067,5000068,5000069,5000070,5000071,5000072,5000073,5000074,5000075,5000076,5000077,5000078,5000079,5000080,5000081,5000082,5000083,5000084,5000085,5000086,5000087,5000088,5000089,5000090,5000091,5000092,5000093,5000094,5000095,5000096,5000097,5000098,5000099,5000100,5000101,5000102,5000103,5000104,5000105,5000106,5000107,5000108,5000109,5000110,5000111,5000112,5000113,5000114,5000115,5000116,5000117,5000118,5000119,5000120,5000121,5000122,5000123,5000124,5000125,5000126,5000127,5000128,5000129,5000130,5000131,5000132,5000133,5000134,5000135,5000136,5000137,5000138,5000139,5000140,5000141,5000142,5000143,5000144,5000145,5000146,5000147,5000148,5000149,5000150,5000151,5000152,5000153,5000154,5000155,5000156,5000157,5000158,5000159,5000160,5000161,5000162,5000163,5000164,5000165,5000166,5000167,5000168,5000169,5000170,5000171,5000172,5000173,5000174,5000175,5000176,5000177,5000178,5000179,5000180,5000181,5000182,5000183,5000184,5000185,5000186,5000187,5000188,5000189,5000190,5000191,5000192,5000193,5000194,5000195,5000196,5000197,5000198,5000199,5000200,5000201,5000202,5000203,5000204,5000205,5000206,5000207,5000208,5000209,5000210,5000211,5000212,5000213,5000214,5000215,5000216,5000217,5000218,5000219,5000220,5000221,5000222,5000223,5000224,5000225,5000226,5000227,5000228,5000229,5000230,5000231,5000232,5000233,5000234,5000235,5000236,5000237,5000238,5000239,5000240,5000241,5000242,5000243,5000244,5000245,5000246,5000247,5000248,5000249,5000250,5000251,5000252,5000253,5000254,5000255,5000256,5000257,5000258,5000259,5000260,5000261,5000262,5000263,5000264,5000265,5000266,5000267,5000268,5000269,5000270,5000271,5000272,5000273,5000274,5000275,5000276,5000277,5000278,5000279,5000280,5000281,5000282,5000283,5000284,5000285,5000286,5000287,5000288,5000289,5000290,5000291,5000292,5000293,5000294,5000295,5000296,5000297,5000298,5000299,5000300,5000301,5000302,5000303,5000304,5000305,5000306,5000307,5000308,5000309,5000310,5000311,5000312,5000313,5000314,5000315,5000316,5000317,5000318,5000319,5000320,5000321,5000322,5000323,5000324,5000325,5000326,5000327,5000328,5000329,5000330,5000331,5000332,5000333,5000334,5000335,5000336,5000337,5000338,5000339,5000340,5000341,5000342,5000343,5000344,5000345,5000346,5000347,5000348,5000349,5000350,5000351,5000352,5000353,5000354,5000355,5000356,5000357,5000358,5000359,5000360,5000361,5000362,5000363,5000364,5000365,5000366,5000367,5000368,5000369,5000370,5000371,5000372,5000373,5000374,5000375,5000376,5000377,5000378,5000379,5000380,5000381,5000382,5000383,5000384,5000385,5000386,5000387,5000388,5000389,5000390,5000391,5000392,5000393,5000394,5000395,5000396,5000397,5000398,5000399,5000400,5000401,5000402,5000403,5000404,5000405,5000406,5000407,5000408,5000409,5000410,5000411,5000412,5000413,5000414,5000415,5000416,5000417,5000418,5000419,5000420,5000421,5000422,5000423,5000424,5000425,5000426,5000427,5000428,5000429,5000430,5000431,5000432,5000433,5000434,5000435,5000436,5000437,5000438,5000439,5000440,5000441,5000442,5000443,5000444,5000445,5000446,5000447,5000448,5000449,5000450,5000451,5000452,5000453,5000454,5000455,5000456,5000457,5000458,5000459,5000460,5000461,5000462,5000463,5000464,5000465,5000466,5000467,5000468,5000469,5000470,5000471,5000472,5000473,5000474,5000475,5000476,5000477,5000478,5000479,5000480,5000481,5000482,5000483,5000484,5000485,5000486,5000487,5000488,5000489,5000490,5000491,5000492,5000493,5000494,5000495,5000496,5000497,5000498,5000499,5000500,5000501,5000502,5000503,5000504,5000505,5000506,5000507,5000508,5000509,5000510,5000511,5000512,5000513,5000514,5000515,5000516,5000517,5000518,5000519,5000520,5000521,5000522,5000523,5000524,5000525,5000526,5000527,5000528,5000529,5000530,5000531,5000532,5000533,5000534,5000535,5000536,5000537,5000538,5000539,5000540,5000541,5000542,5000543,5000544,5000545,5000546,5000547,5000548,5000549,5000550,5000551,5000552,5000553,5000554,5000555,5000556,5000557,5000558,5000559,5000560,5000561,5000562,5000563,5000564,5000565,5000566,5000567,5000568,5000569,5000570,5000571,5000572,5000573,5000574,5000575,5000576,5000577,5000578,5000579,5000580,5000581,5000582,5000583,5000584,5000585,5000586,5000587,5000588,5000589,5000590,5000591,5000592,5000593,5000594,5000595,5000596,5000597,5000598,5000599,5000600,5000601,5000602,5000603,5000604,5000605,5000606,5000607,5000608,5000609,5000610,5000611,5000612,5000613,5000614,5000615,5000616,5000617,5000618,5000619,5000620,5000621,5000622,5000623,5000624,5000625,5000626,5000627,5000628,5000629,5000630,5000631,5000632,5000633,5000634,5000635,5000636,5000637,5000638,5000639,5000640,5000641,5000642,5000643,5000644,5000645,5000646,5000647,5000648,5000649,5000650,5000651,5000652,5000653,5000654,5000655,5000656,5000657,5000658,5000659,5000660,5000661,5000662,5000663,5000664,5000665,5000666,5000667,5000668,5000669,5000670,5000671,5000672,5000673,5000674,5000675,5000676,5000677,5000678,5000679,5000680,5000681,5000682,5000683,5000684,5000685,5000686,5000687,5000688,5000689,5000690,5000691,5000692,5000693,5000694,5000695,5000696,5000697,5000698,5000699,5000700,5000701,5000702,5000703,5000704,5000705,5000706,5000707,5000708,5000709,5000710,5000711,5000712,5000713,5000714,5000715,5000716,5000717,5000718,5000719,5000720,5000721,5000722,5000723,5000724,5000725,5000726,5000727,5000728,5000729,5000730,5000731,5000732,5000733,5000734,5000735,5000736,5000737,5000738,5000739,5000740,5000741,5000742,5000743,5000744,5000745,5000746,5000747,5000748,5000749,5000750,5000751,5000752,5000753,5000754,5000755,5000756,5000757,5000758,5000759,5000760,5000761,5000762,5000763,5000764,5000765,5000766,5000767,5000768,5000769,5000770,5000771,5000772,5000773,5000774,5000775,5000776,5000777,5000778,5000779,5000780,5000781,5000782,5000783,5000784,5000785,5000786,5000787,5000788,5000789,5000790,5000791,5000792,5000793,5000794,5000795,5000796,5000797,5000798,5000799,5000800,5000801,5000802,5000803,5000804,5000805,5000806,5000807,5000808,5000809,5000810,5000811,5000812,5000813,5000814,5000815,5000816,5000817,5000818,5000819,5000820,5000821,5000822,5000823,5000824,5000825,5000826,5000827,5000828,5000829,5000830,5000831,5000832,5000833,5000834,5000835,5000836,5000837,5000838,5000839,5000840,5000841,5000842,5000843,5000844,5000845,5000846,5000847,5000848,5000849,5000850,5000851,5000852,5000853,5000854,5000855,5000856,5000857,5000858,5000859,5000860,5000861,5000862,5000863,5000864,5000865,5000866,5000867,5000868,5000869,5000870,5000871,5000872,5000873,5000874,5000875,5000876,5000877,5000878,5000879,5000880,5000881,5000882,5000883,5000884,5000885,5000886,5000887,5000888,5000889,5000890,5000891,5000892,5000893,5000894,5000895,5000896,5000897,5000898,5000899,5000900,5000901,5000902,5000903,5000904,5000905,5000906,5000907,5000908,5000909,5000910,5000911,5000912,5000913,5000914,5000915,5000916,5000917,5000918,5000919,5000920,5000921,5000922,5000923,5000924,5000925,5000926,5000927,5000928,5000929,5000930,5000931,5000932,5000933,5000934,5000935,5000936,5000937,5000938,5000939,5000940,5000941,5000942,5000943,5000944,5000945,5000946,5000947,5000948,5000949,5000950,5000951,5000952,5000953,5000954,5000955,5000956,5000957,5000958,5000959,5000960,5000961,5000962,5000963,5000964,5000965,5000966,5000967,5000968,5000969,5000970,5000971,5000972,5000973,5000974,5000975,5000976,5000977,5000978,5000979,5000980,5000981,5000982,5000983,5000984,5000985,5000986,5000987,5000988,5000989,5000990,5000991,5000992,5000993,5000994,5000995,5000996,5000997,5000998,5000999,5001000,6000001,6000002,6000003,6000004,6000005,6000006,6000007,6000008,6000009,6000010,6000011,6000012,6000013,6000014,6000015,6000016,6000017,6000018,6000019,6000020,6000021,6000022,6000023,6000024,6000025,6000026,6000027,6000028,6000029,6000030,6000031,6000032,6000033,6000034,6000035,6000036,6000037,6000038,6000039,6000040,6000041,6000042,6000043,6000044,6000045,6000046,6000047,6000048,6000049,6000050,6000051,6000052,6000053,6000054,6000055,6000056,6000057,6000058,6000059,6000060,6000061,6000062,6000063,6000064,6000065,6000066,6000067,6000068,6000069,6000070,6000071,6000072,6000073,6000074,6000075,6000076,6000077,6000078,6000079,6000080,6000081,6000082,6000083,6000084,6000085,6000086,6000087,6000088,6000089,6000090,6000091,6000092,6000093,6000094,6000095,6000096,6000097,6000098,6000099,6000100,6000101,6000102,6000103,6000104,6000105,6000106,6000107,6000108,6000109,6000110,6000111,6000112,6000113,6000114,6000115,6000116,6000117,6000118,6000119,6000120,6000121,6000122,6000123,6000124,6000125,6000126,6000127,6000128,6000129,6000130,6000131,6000132,6000133,6000134,6000135,6000136,6000137,6000138,6000139,6000140,6000141,6000142,6000143,6000144,6000145,6000146,6000147,6000148,6000149,6000150,6000151,6000152,6000153,6000154,6000155,6000156,6000157,6000158,6000159,6000160,6000161,6000162,6000163,6000164,6000165,6000166,6000167,6000168,6000169,6000170,6000171,6000172,6000173,6000174,6000175,6000176,6000177,6000178,6000179,6000180,6000181,6000182,6000183,6000184,6000185,6000186,6000187,6000188,6000189,6000190,6000191,6000192,6000193,6000194,6000195,6000196,6000197,6000198,6000199,6000200,6000201,6000202,6000203,6000204,6000205,6000206,6000207,6000208,6000209,6000210,6000211,6000212,6000213,6000214,6000215,6000216,6000217,6000218,6000219,6000220,6000221,6000222,6000223,6000224,6000225,6000226,6000227,6000228,6000229,6000230,6000231,6000232,6000233,6000234,6000235,6000236,6000237,6000238,6000239,6000240,6000241,6000242,6000243,6000244,6000245,6000246,6000247,6000248,6000249,6000250,6000251,6000252,6000253,6000254,6000255,6000256,6000257,6000258,6000259,6000260,6000261,6000262,6000263,6000264,6000265,6000266,6000267,6000268,6000269,6000270,6000271,6000272,6000273,6000274,6000275,6000276,6000277,6000278,6000279,6000280,6000281,6000282,6000283,6000284,6000285,6000286,6000287,6000288,6000289,6000290,6000291,6000292,6000293,6000294,6000295,6000296,6000297,6000298,6000299,6000300,6000301,6000302,6000303,6000304,6000305,6000306,6000307,6000308,6000309,6000310,6000311,6000312,6000313,6000314,6000315,6000316,6000317,6000318,6000319,6000320,6000321,6000322,6000323,6000324,6000325,6000326,6000327,6000328,6000329,6000330,6000331,6000332,6000333,6000334,6000335,6000336,6000337,6000338,6000339,6000340,6000341,6000342,6000343,6000344,6000345,6000346,6000347,6000348,6000349,6000350,6000351,6000352,6000353,6000354,6000355,6000356,6000357,6000358,6000359,6000360,6000361,6000362,6000363,6000364,6000365,6000366,6000367,6000368,6000369,6000370,6000371,6000372,6000373,6000374,6000375,6000376,6000377,6000378,6000379,6000380,6000381,6000382,6000383,6000384,6000385,6000386,6000387,6000388,6000389,6000390,6000391,6000392,6000393,6000394,6000395,6000396,6000397,6000398,6000399,6000400,6000401,6000402,6000403,6000404,6000405,6000406,6000407,6000408,6000409,6000410,6000411,6000412,6000413,6000414,6000415,6000416,6000417,6000418,6000419,6000420,6000421,6000422,6000423,6000424,6000425,6000426,6000427,6000428,6000429,6000430,6000431,6000432,6000433,6000434,6000435,6000436,6000437,6000438,6000439,6000440,6000441,6000442,6000443,6000444,6000445,6000446,6000447,6000448,6000449,6000450,6000451,6000452,6000453,6000454,6000455,6000456,6000457,6000458,6000459,6000460,6000461,6000462,6000463,6000464,6000465,6000466,6000467,6000468,6000469,6000470,6000471,6000472,6000473,6000474,6000475,6000476,6000477,6000478,6000479,6000480,6000481,6000482,6000483,6000484,6000485,6000486,6000487,6000488,6000489,6000490,6000491,6000492,6000493,6000494,6000495,6000496,6000497,6000498,6000499,6000500,6000501,6000502,6000503,6000504,6000505,6000506,6000507,6000508,6000509,6000510,6000511,6000512,6000513,6000514,6000515,6000516,6000517,6000518,6000519,6000520,6000521,6000522,6000523,6000524,6000525,6000526,6000527,6000528,6000529,6000530,6000531,6000532,6000533,6000534,6000535,6000536,6000537,6000538,6000539,6000540,6000541,6000542,6000543,6000544,6000545,6000546,6000547,6000548,6000549,6000550,6000551,6000552,6000553,6000554,6000555,6000556,6000557,6000558,6000559,6000560,6000561,6000562,6000563,6000564,6000565,6000566,6000567,6000568,6000569,6000570,6000571,6000572,6000573,6000574,6000575,6000576,6000577,6000578,6000579,6000580,6000581,6000582,6000583,6000584,6000585,6000586,6000587,6000588,6000589,6000590,6000591,6000592,6000593,6000594,6000595,6000596,6000597,6000598,6000599,6000600,6000601,6000602,6000603,6000604,6000605,6000606,6000607,6000608,6000609,6000610,6000611,6000612,6000613,6000614,6000615,6000616,6000617,6000618,6000619,6000620,6000621,6000622,6000623,6000624,6000625,6000626,6000627,6000628,6000629,6000630,6000631,6000632,6000633,6000634,6000635,6000636,6000637,6000638,6000639,6000640,6000641,6000642,6000643,6000644,6000645,6000646,6000647,6000648,6000649,6000650,6000651,6000652,6000653,6000654,6000655,6000656,6000657,6000658,6000659,6000660,6000661,6000662,6000663,6000664,6000665,6000666,6000667,6000668,6000669,6000670,6000671,6000672,6000673,6000674,6000675,6000676,6000677,6000678,6000679,6000680,6000681,6000682,6000683,6000684,6000685,6000686,6000687,6000688,6000689,6000690,6000691,6000692,6000693,6000694,6000695,6000696,6000697,6000698,6000699,6000700,6000701,6000702,6000703,6000704,6000705,6000706,6000707,6000708,6000709,6000710,6000711,6000712,6000713,6000714,6000715,6000716,6000717,6000718,6000719,6000720,6000721,6000722,6000723,6000724,6000725,6000726,6000727,6000728,6000729,6000730,6000731,6000732,6000733,6000734,6000735,6000736,6000737,6000738,6000739,6000740,6000741,6000742,6000743,6000744,6000745,6000746,6000747,6000748,6000749,6000750,6000751,6000752,6000753,6000754,6000755,6000756,6000757,6000758,6000759,6000760,6000761,6000762,6000763,6000764,6000765,6000766,6000767,6000768,6000769,6000770,6000771,6000772,6000773,6000774,6000775,6000776,6000777,6000778,6000779,6000780,6000781,6000782,6000783,6000784,6000785,6000786,6000787,6000788,6000789,6000790,6000791,6000792,6000793,6000794,6000795,6000796,6000797,6000798,6000799,6000800,6000801,6000802,6000803,6000804,6000805,6000806,6000807,6000808,6000809,6000810,6000811,6000812,6000813,6000814,6000815,6000816,6000817,6000818,6000819,6000820,6000821,6000822,6000823,6000824,6000825,6000826,6000827,6000828,6000829,6000830,6000831,6000832,6000833,6000834,6000835,6000836,6000837,6000838,6000839,6000840,6000841,6000842,6000843,6000844,6000845,6000846,6000847,6000848,6000849,6000850,6000851,6000852,6000853,6000854,6000855,6000856,6000857,6000858,6000859,6000860,6000861,6000862,6000863,6000864,6000865,6000866,6000867,6000868,6000869,6000870,6000871,6000872,6000873,6000874,6000875,6000876,6000877,6000878,6000879,6000880,6000881,6000882,6000883,6000884,6000885,6000886,6000887,6000888,6000889,6000890,6000891,6000892,6000893,6000894,6000895,6000896,6000897,6000898,6000899,6000900,6000901,6000902,6000903,6000904,6000905,6000906,6000907,6000908,6000909,6000910,6000911,6000912,6000913,6000914,6000915,6000916,6000917,6000918,6000919,6000920,6000921,6000922,6000923,6000924,6000925,6000926,6000927,6000928,6000929,6000930,6000931,6000932,6000933,6000934,6000935,6000936,6000937,6000938,6000939,6000940,6000941,6000942,6000943,6000944,6000945,6000946,6000947,6000948,6000949,6000950,6000951,6000952,6000953,6000954,6000955,6000956,6000957,6000958,6000959,6000960,6000961,6000962,6000963,6000964,6000965,6000966,6000967,6000968,6000969,6000970,6000971,6000972,6000973,6000974,6000975,6000976,6000977,6000978,6000979,6000980,6000981,6000982,6000983,6000984,6000985,6000986,6000987,6000988,6000989,6000990,6000991,6000992,6000993,6000994,6000995,6000996,6000997,6000998,6000999,6001000,7000001,7000002,7000003,7000004,7000005,7000006,7000007,7000008,7000009,7000010,7000011,7000012,7000013,7000014,7000015,7000016,7000017,7000018,7000019,7000020,7000021,7000022,7000023,7000024,7000025,7000026,7000027,7000028,7000029,7000030,7000031,7000032,7000033,7000034,7000035,7000036,7000037,7000038,7000039,7000040,7000041,7000042,7000043,7000044,7000045,7000046,7000047,7000048,7000049,7000050,7000051,7000052,7000053,7000054,7000055,7000056,7000057,7000058,7000059,7000060,7000061,7000062,7000063,7000064,7000065,7000066,7000067,7000068,7000069,7000070,7000071,7000072,7000073,7000074,7000075,7000076,7000077,7000078,7000079,7000080,7000081,7000082,7000083,7000084,7000085,7000086,7000087,7000088,7000089,7000090,7000091,7000092,7000093,7000094,7000095,7000096,7000097,7000098,7000099,7000100,7000101,7000102,7000103,7000104,7000105,7000106,7000107,7000108,7000109,7000110,7000111,7000112,7000113,7000114,7000115,7000116,7000117,7000118,7000119,7000120,7000121,7000122,7000123,7000124,7000125,7000126,7000127,7000128,7000129,7000130,7000131,7000132,7000133,7000134,7000135,7000136,7000137,7000138,7000139,7000140,7000141,7000142,7000143,7000144,7000145,7000146,7000147,7000148,7000149,7000150,7000151,7000152,7000153,7000154,7000155,7000156,7000157,7000158,7000159,7000160,7000161,7000162,7000163,7000164,7000165,7000166,7000167,7000168,7000169,7000170,7000171,7000172,7000173,7000174,7000175,7000176,7000177,7000178,7000179,7000180,7000181,7000182,7000183,7000184,7000185,7000186,7000187,7000188,7000189,7000190,7000191,7000192,7000193,7000194,7000195,7000196,7000197,7000198,7000199,7000200,7000201,7000202,7000203,7000204,7000205,7000206,7000207,7000208,7000209,7000210,7000211,7000212,7000213,7000214,7000215,7000216,7000217,7000218,7000219,7000220,7000221,7000222,7000223,7000224,7000225,7000226,7000227,7000228,7000229,7000230,7000231,7000232,7000233,7000234,7000235,7000236,7000237,7000238,7000239,7000240,7000241,7000242,7000243,7000244,7000245,7000246,7000247,7000248,7000249,7000250,7000251,7000252,7000253,7000254,7000255,7000256,7000257,7000258,7000259,7000260,7000261,7000262,7000263,7000264,7000265,7000266,7000267,7000268,7000269,7000270,7000271,7000272,7000273,7000274,7000275,7000276,7000277,7000278,7000279,7000280,7000281,7000282,7000283,7000284,7000285,7000286,7000287,7000288,7000289,7000290,7000291,7000292,7000293,7000294,7000295,7000296,7000297,7000298,7000299,7000300,7000301,7000302,7000303,7000304,7000305,7000306,7000307,7000308,7000309,7000310,7000311,7000312,7000313,7000314,7000315,7000316,7000317,7000318,7000319,7000320,7000321,7000322,7000323,7000324,7000325,7000326,7000327,7000328,7000329,7000330,7000331,7000332,7000333,7000334,7000335,7000336,7000337,7000338,7000339,7000340,7000341,7000342,7000343,7000344,7000345,7000346,7000347,7000348,7000349,7000350,7000351,7000352,7000353,7000354,7000355,7000356,7000357,7000358,7000359,7000360,7000361,7000362,7000363,7000364,7000365,7000366,7000367,7000368,7000369,7000370,7000371,7000372,7000373,7000374,7000375,7000376,7000377,7000378,7000379,7000380,7000381,7000382,7000383,7000384,7000385,7000386,7000387,7000388,7000389,7000390,7000391,7000392,7000393,7000394,7000395,7000396,7000397,7000398,7000399,7000400,7000401,7000402,7000403,7000404,7000405,7000406,7000407,7000408,7000409,7000410,7000411,7000412,7000413,7000414,7000415,7000416,7000417,7000418,7000419,7000420,7000421,7000422,7000423,7000424,7000425,7000426,7000427,7000428,7000429,7000430,7000431,7000432,7000433,7000434,7000435,7000436,7000437,7000438,7000439,7000440,7000441,7000442,7000443,7000444,7000445,7000446,7000447,7000448,7000449,7000450,7000451,7000452,7000453,7000454,7000455,7000456,7000457,7000458,7000459,7000460,7000461,7000462,7000463,7000464,7000465,7000466,7000467,7000468,7000469,7000470,7000471,7000472,7000473,7000474,7000475,7000476,7000477,7000478,7000479,7000480,7000481,7000482,7000483,7000484,7000485,7000486,7000487,7000488,7000489,7000490,7000491,7000492,7000493,7000494,7000495,7000496,7000497,7000498,7000499,7000500,7000501,7000502,7000503,7000504,7000505,7000506,7000507,7000508,7000509,7000510,7000511,7000512,7000513,7000514,7000515,7000516,7000517,7000518,7000519,7000520,7000521,7000522,7000523,7000524,7000525,7000526,7000527,7000528,7000529,7000530,7000531,7000532,7000533,7000534,7000535,7000536,7000537,7000538,7000539,7000540,7000541,7000542,7000543,7000544,7000545,7000546,7000547,7000548,7000549,7000550,7000551,7000552,7000553,7000554,7000555,7000556,7000557,7000558,7000559,7000560,7000561,7000562,7000563,7000564,7000565,7000566,7000567,7000568,7000569,7000570,7000571,7000572,7000573,7000574,7000575,7000576,7000577,7000578,7000579,7000580,7000581,7000582,7000583,7000584,7000585,7000586,7000587,7000588,7000589,7000590,7000591,7000592,7000593,7000594,7000595,7000596,7000597,7000598,7000599,7000600,7000601,7000602,7000603,7000604,7000605,7000606,7000607,7000608,7000609,7000610,7000611,7000612,7000613,7000614,7000615,7000616,7000617,7000618,7000619,7000620,7000621,7000622,7000623,7000624,7000625,7000626,7000627,7000628,7000629,7000630,7000631,7000632,7000633,7000634,7000635,7000636,7000637,7000638,7000639,7000640,7000641,7000642,7000643,7000644,7000645,7000646,7000647,7000648,7000649,7000650,7000651,7000652,7000653,7000654,7000655,7000656,7000657,7000658,7000659,7000660,7000661,7000662,7000663,7000664,7000665,7000666,7000667,7000668,7000669,7000670,7000671,7000672,7000673,7000674,7000675,7000676,7000677,7000678,7000679,7000680,7000681,7000682,7000683,7000684,7000685,7000686,7000687,7000688,7000689,7000690,7000691,7000692,7000693,7000694,7000695,7000696,7000697,7000698,7000699,7000700,7000701,7000702,7000703,7000704,7000705,7000706,7000707,7000708,7000709,7000710,7000711,7000712,7000713,7000714,7000715,7000716,7000717,7000718,7000719,7000720,7000721,7000722,7000723,7000724,7000725,7000726,7000727,7000728,7000729,7000730,7000731,7000732,7000733,7000734,7000735,7000736,7000737,7000738,7000739,7000740,7000741,7000742,7000743,7000744,7000745,7000746,7000747,7000748,7000749,7000750,7000751,7000752,7000753,7000754,7000755,7000756,7000757,7000758,7000759,7000760,7000761,7000762,7000763,7000764,7000765,7000766,7000767,7000768,7000769,7000770,7000771,7000772,7000773,7000774,7000775,7000776,7000777,7000778,7000779,7000780,7000781,7000782,7000783,7000784,7000785,7000786,7000787,7000788,7000789,7000790,7000791,7000792,7000793,7000794,7000795,7000796,7000797,7000798,7000799,7000800,7000801,7000802,7000803,7000804,7000805,7000806,7000807,7000808,7000809,7000810,7000811,7000812,7000813,7000814,7000815,7000816,7000817,7000818,7000819,7000820,7000821,7000822,7000823,7000824,7000825,7000826,7000827,7000828,7000829,7000830,7000831,7000832,7000833,7000834,7000835,7000836,7000837,7000838,7000839,7000840,7000841,7000842,7000843,7000844,7000845,7000846,7000847,7000848,7000849,7000850,7000851,7000852,7000853,7000854,7000855,7000856,7000857,7000858,7000859,7000860,7000861,7000862,7000863,7000864,7000865,7000866,7000867,7000868,7000869,7000870,7000871,7000872,7000873,7000874,7000875,7000876,7000877,7000878,7000879,7000880,7000881,7000882,7000883,7000884,7000885,7000886,7000887,7000888,7000889,7000890,7000891,7000892,7000893,7000894,7000895,7000896,7000897,7000898,7000899,7000900,7000901,7000902,7000903,7000904,7000905,7000906,7000907,7000908,7000909,7000910,7000911,7000912,7000913,7000914,7000915,7000916,7000917,7000918,7000919,7000920,7000921,7000922,7000923,7000924,7000925,7000926,7000927,7000928,7000929,7000930,7000931,7000932,7000933,7000934,7000935,7000936,7000937,7000938,7000939,7000940,7000941,7000942,7000943,7000944,7000945,7000946,7000947,7000948,7000949,7000950,7000951,7000952,7000953,7000954,7000955,7000956,7000957,7000958,7000959,7000960,7000961,7000962,7000963,7000964,7000965,7000966,7000967,7000968,7000969,7000970,7000971,7000972,7000973,7000974,7000975,7000976,7000977,7000978,7000979,7000980,7000981,7000982,7000983,7000984,7000985,7000986,7000987,7000988,7000989,7000990,7000991,7000992,7000993,7000994,7000995,7000996,7000997,7000998,7000999,7001000,8000002,8000003,8000004,8000005,8000006,8000007,8000008,8000009,8000010,8000011,8000012,8000013,8000014,8000015,8000016,8000017,8000018,8000019,8000020,8000021,8000022,8000023,8000024,8000025,8000026,8000027,8000028,8000029,8000030,8000031,8000032,8000033,8000034,8000035,8000036,8000037,8000038,8000039,8000040,8000041,8000042,8000043,8000044,8000045,8000046,8000047,8000048,8000049,8000050,8000051,8000052,8000053,8000054,8000055,8000056,8000057,8000058,8000059,8000060,8000061,8000062,8000063,8000064,8000065,8000066,8000067,8000068,8000069,8000070,8000071,8000072,8000073,8000074,8000075,8000076,8000077,8000078,8000079,8000080,8000081,8000082,8000083,8000084,8000085,8000086,8000087,8000088,8000089,8000090,8000091,8000092,8000093,8000094,8000095,8000096,8000097,8000098,8000099,8000100,8000101,8000102,8000103,8000104,8000105,8000106,8000107,8000108,8000109,8000110,8000111,8000112,8000113,8000114,8000115,8000116,8000117,8000118,8000119,8000120,8000121,8000122,8000123,8000124,8000125,8000126,8000127,8000128,8000129,8000130,8000131,8000132,8000133,8000134,8000135,8000136,8000137,8000138,8000139,8000140,8000141,8000142,8000143,8000144,8000145,8000146,8000147,8000148,8000149,8000150,8000151,8000152,8000153,8000154,8000155,8000156,8000157,8000158,8000159,8000160,8000161,8000162,8000163,8000164,8000165,8000166,8000167,8000168,8000169,8000170,8000171,8000172,8000173,8000174,8000175,8000176,8000177,8000178,8000179,8000180,8000181,8000182,8000183,8000184,8000185,8000186,8000187,8000188,8000189,8000190,8000191,8000192,8000193,8000194,8000195,8000196,8000197,8000198,8000199,8000200,8000201,8000202,8000203,8000204,8000205,8000206,8000207,8000208,8000209,8000210,8000211,8000212,8000213,8000214,8000215,8000216,8000217,8000218,8000219,8000220,8000221,8000222,8000223,8000224,8000225,8000226,8000227,8000228,8000229,8000230,8000231,8000232,8000233,8000234,8000235,8000236,8000237,8000238,8000239,8000240,8000241,8000242,8000243,8000244,8000245,8000246,8000247,8000248,8000249,8000250,8000251,8000252,8000253,8000254,8000255,8000256,8000257,8000258,8000259,8000260,8000261,8000262,8000263,8000264,8000265,8000266,8000267,8000268,8000269,8000270,8000271,8000272,8000273,8000274,8000275,8000276,8000277,8000278,8000279,8000280,8000281,8000282,8000283,8000284,8000285,8000286,8000287,8000288,8000289,8000290,8000291,8000292,8000293,8000294,8000295,8000296,8000297,8000298,8000299,8000300,8000301,8000302,8000303,8000304,8000305,8000306,8000307,8000308,8000309,8000310,8000311,8000312,8000313,8000314,8000315,8000316,8000317,8000318,8000319,8000320,8000321,8000322,8000323,8000324,8000325,8000326,8000327,8000328,8000329,8000330,8000331,8000332,8000333,8000334,8000335,8000336,8000337,8000338,8000339,8000340,8000341,8000342,8000343,8000344,8000345,8000346,8000347,8000348,8000349,8000350,8000351,8000352,8000353,8000354,8000355,8000356,8000357,8000358,8000359,8000360,8000361,8000362,8000363,8000364,8000365,8000366,8000367,8000368,8000369,8000370,8000371,8000372,8000373,8000374,8000375,8000376,8000377,8000378,8000379,8000380,8000381,8000382,8000383,8000384,8000385,8000386,8000387,8000388,8000389,8000390,8000391,8000392,8000393,8000394,8000395,8000396,8000397,8000398,8000399,8000400,8000401,8000402,8000403,8000404,8000405,8000406,8000407,8000408,8000409,8000410,8000411,8000412,8000413,8000414,8000415,8000416,8000417,8000418,8000419,8000420,8000421,8000422,8000423,8000424,8000425,8000426,8000427,8000428,8000429,8000430,8000431,8000432,8000433,8000434,8000435,8000436,8000437,8000438,8000439,8000440,8000441,8000442,8000443,8000444,8000445,8000446,8000447,8000448,8000449,8000450,8000451,8000452,8000453,8000454,8000455,8000456,8000457,8000458,8000459,8000460,8000461,8000462,8000463,8000464,8000465,8000466,8000467,8000468,8000469,8000470,8000471,8000472,8000473,8000474,8000475,8000476,8000477,8000478,8000479,8000480,8000481,8000482,8000483,8000484,8000485,8000486,8000487,8000488,8000489,8000490,8000491,8000492,8000493,8000494,8000495,8000496,8000497,8000498,8000499,8000500,8000501,8000502,8000503,8000504,8000505,8000506,8000507,8000508,8000509,8000510,8000511,8000512,8000513,8000514,8000515,8000516,8000517,8000518,8000519,8000520,8000521,8000522,8000523,8000524,8000525,8000526,8000527,8000528,8000529,8000530,8000531,8000532,8000533,8000534,8000535,8000536,8000537,8000538,8000539,8000540,8000541,8000542,8000543,8000544,8000545,8000546,8000547,8000548,8000549,8000550,8000551,8000552,8000553,8000554,8000555,8000556,8000557,8000558,8000559,8000560,8000561,8000562,8000563,8000564,8000565,8000566,8000567,8000568,8000569,8000570,8000571,8000572,8000573,8000574,8000575,8000576,8000577,8000578,8000579,8000580,8000581,8000582,8000583,8000584,8000585,8000586,8000587,8000588,8000589,8000590,8000591,8000592,8000593,8000594,8000595,8000596,8000597,8000598,8000599,8000600,8000601,8000602,8000603,8000604,8000605,8000606,8000607,8000608,8000609,8000610,8000611,8000612,8000613,8000614,8000615,8000616,8000617,8000618,8000619,8000620,8000621,8000622,8000623,8000624,8000625,8000626,8000627,8000628,8000629,8000630,8000631,8000632,8000633,8000634,8000635,8000636,8000637,8000638,8000639,8000640,8000641,8000642,8000643,8000644,8000645,8000646,8000647,8000648,8000649,8000650,8000651,8000652,8000653,8000654,8000655,8000656,8000657,8000658,8000659,8000660,8000661,8000662,8000663,8000664,8000665,8000666,8000667,8000668,8000669,8000670,8000671,8000672,8000673,8000674,8000675,8000676,8000677,8000678,8000679,8000680,8000681,8000682,8000683,8000684,8000685,8000686,8000687,8000688,8000689,8000690,8000691,8000692,8000693,8000694,8000695,8000696,8000697,8000698,8000699,8000700,8000701,8000702,8000703,8000704,8000705,8000706,8000707,8000708,8000709,8000710,8000711,8000712,8000713,8000714,8000715,8000716,8000717,8000718,8000719,8000720,8000721,8000722,8000723,8000724,8000725,8000726,8000727,8000728,8000729,8000730,8000731,8000732,8000733,8000734,8000735,8000736,8000737,8000738,8000739,8000740,8000741,8000742,8000743,8000744,8000745,8000746,8000747,8000748,8000749,8000750,8000751,8000752,8000753,8000754,8000755,8000756,8000757,8000758,8000759,8000760,8000761,8000762,8000763,8000764,8000765,8000766,8000767,8000768,8000769,8000770,8000771,8000772,8000773,8000774,8000775,8000776,8000777,8000778,8000779,8000780,8000781,8000782,8000783,8000784,8000785,8000786,8000787,8000788,8000789,8000790,8000791,8000792,8000793,8000794,8000795,8000796,8000797,8000798,8000799,8000800,8000801,8000802,8000803,8000804,8000805,8000806,8000807,8000808,8000809,8000810,8000811,8000812,8000813,8000814,8000815,8000816,8000817,8000818,8000819,8000820,8000821,8000822,8000823,8000824,8000825,8000826,8000827,8000828,8000829,8000830,8000831,8000832,8000833,8000834,8000835,8000836,8000837,8000838,8000839,8000840,8000841,8000842,8000843,8000844,8000845,8000846,8000847,8000848,8000849,8000850,8000851,8000852,8000853,8000854,8000855,8000856,8000857,8000858,8000859,8000860,8000861,8000862,8000863,8000864,8000865,8000866,8000867,8000868,8000869,8000870,8000871,8000872,8000873,8000874,8000875,8000876,8000877,8000878,8000879,8000880,8000881,8000882,8000883,8000884,8000885,8000886,8000887,8000888,8000889,8000890,8000891,8000892,8000893,8000894,8000895,8000896,8000897,8000898,8000899,8000900,8000901,8000902,8000903,8000904,8000905,8000906,8000907,8000908,8000909,8000910,8000911,8000912,8000913,8000914,8000915,8000916,8000917,8000918,8000919,8000920,8000921,8000922,8000923,8000924,8000925,8000926,8000927,8000928,8000929,8000930,8000931,8000932,8000933,8000934,8000935,8000936,8000937,8000938,8000939,8000940,8000941,8000942,8000943,8000944,8000945,8000946,8000947,8000948,8000949,8000950,8000951,8000952,8000953,8000954,8000955,8000956,8000957,8000958,8000959,8000960,8000961,8000962,8000963,8000964,8000965,8000966,8000967,8000968,8000969,8000970,8000971,8000972,8000973,8000974,8000975,8000976,8000977,8000978,8000979,8000980,8000981,8000982,8000983,8000984,8000985,8000986,8000987,8000988,8000989,8000990,8000991,8000992,8000993,8000994,8000995,8000996,8000997,8000998,8000999,8001000,9000001,9000002,9000003,9000004,9000005,9000006,9000007,9000008,9000009,9000010,9000011,9000012,9000013,9000014,9000015,9000016,9000017,9000018,9000019,9000020,9000021,9000022,9000023,9000024,9000025,9000026,9000027,9000028,9000029,9000030,9000031,9000032,9000033,9000034,9000035,9000036,9000037,9000038,9000039,9000040,9000041,9000042,9000043,9000044,9000045,9000046,9000047,9000048,9000049,9000050,9000051,9000052,9000053,9000054,9000055,9000056,9000057,9000058,9000059,9000060,9000061,9000062,9000063,9000064,9000065,9000066,9000067,9000068,9000069,9000070,9000071,9000072,9000073,9000074,9000075,9000076,9000077,9000078,9000079,9000080,9000081,9000082,9000083,9000084,9000085,9000086,9000087,9000088,9000089,9000090,9000091,9000092,9000093,9000094,9000095,9000096,9000097,9000098,9000099,9000100,9000101,9000102,9000103,9000104,9000105,9000106,9000107,9000108,9000109,9000110,9000111,9000112,9000113,9000114,9000115,9000116,9000117,9000118,9000119,9000120,9000121,9000122,9000123,9000124,9000125,9000126,9000127,9000128,9000129,9000130,9000131,9000132,9000133,9000134,9000135,9000136,9000137,9000138,9000139,9000140,9000141,9000142,9000143,9000144,9000145,9000146,9000147,9000148,9000149,9000150,9000151,9000152,9000153,9000154,9000155,9000156,9000157,9000158,9000159,9000160,9000161,9000162,9000163,9000164,9000165,9000166,9000167,9000168,9000169,9000170,9000171,9000172,9000173,9000174,9000175,9000176,9000177,9000178,9000179,9000180,9000181,9000182,9000183,9000184,9000185,9000186,9000187,9000188,9000189,9000190,9000191,9000192,9000193,9000194,9000195,9000196,9000197,9000198,9000199,9000200,9000201,9000202,9000203,9000204,9000205,9000206,9000207,9000208,9000209,9000210,9000211,9000212,9000213,9000214,9000215,9000216,9000217,9000218,9000219,9000220,9000221,9000222,9000223,9000224,9000225,9000226,9000227,9000228,9000229,9000230,9000231,9000232,9000233,9000234,9000235,9000236,9000237,9000238,9000239,9000240,9000241,9000242,9000243,9000244,9000245,9000246,9000247,9000248,9000249,9000250,9000251,9000252,9000253,9000254,9000255,9000256,9000257,9000258,9000259,9000260,9000261,9000262,9000263,9000264,9000265,9000266,9000267,9000268,9000269,9000270,9000271,9000272,9000273,9000274,9000275,9000276,9000277,9000278,9000279,9000280,9000281,9000282,9000283,9000284,9000285,9000286,9000287,9000288,9000289,9000290,9000291,9000292,9000293,9000294,9000295,9000296,9000297,9000298,9000299,9000300,9000301,9000302,9000303,9000304,9000305,9000306,9000307,9000308,9000309,9000310,9000311,9000312,9000313,9000314,9000315,9000316,9000317,9000318,9000319,9000320,9000321,9000322,9000323,9000324,9000325,9000326,9000327,9000328,9000329,9000330,9000331,9000332,9000333,9000334,9000335,9000336,9000337,9000338,9000339,9000340,9000341,9000342,9000343,9000344,9000345,9000346,9000347,9000348,9000349,9000350,9000351,9000352,9000353,9000354,9000355,9000356,9000357,9000358,9000359,9000360,9000361,9000362,9000363,9000364,9000365,9000366,9000367,9000368,9000369,9000370,9000371,9000372,9000373,9000374,9000375,9000376,9000377,9000378,9000379,9000380,9000381,9000382,9000383,9000384,9000385,9000386,9000387,9000388,9000389,9000390,9000391,9000392,9000393,9000394,9000395,9000396,9000397,9000398,9000399,9000400,9000401,9000402,9000403,9000404,9000405,9000406,9000407,9000408,9000409,9000410,9000411,9000412,9000413,9000414,9000415,9000416,9000417,9000418,9000419,9000420,9000421,9000422,9000423,9000424,9000425,9000426,9000427,9000428,9000429,9000430,9000431,9000432,9000433,9000434,9000435,9000436,9000437,9000438,9000439,9000440,9000441,9000442,9000443,9000444,9000445,9000446,9000447,9000448,9000449,9000450,9000451,9000452,9000453,9000454,9000455,9000456,9000457,9000458,9000459,9000460,9000461,9000462,9000463,9000464,9000465,9000466,9000467,9000468,9000469,9000470,9000471,9000472,9000473,9000474,9000475,9000476,9000477,9000478,9000479,9000480,9000481,9000482,9000483,9000484,9000485,9000486,9000487,9000488,9000489,9000490,9000491,9000492,9000493,9000494,9000495,9000496,9000497,9000498,9000499,9000500,9000501,9000502,9000503,9000504,9000505,9000506,9000507,9000508,9000509,9000510,9000511,9000512,9000513,9000514,9000515,9000516,9000517,9000518,9000519,9000520,9000521,9000522,9000523,9000524,9000525,9000526,9000527,9000528,9000529,9000530,9000531,9000532,9000533,9000534,9000535,9000536,9000537,9000538,9000539,9000540,9000541,9000542,9000543,9000544,9000545,9000546,9000547,9000548,9000549,9000550,9000551,9000552,9000553,9000554,9000555,9000556,9000557,9000558,9000559,9000560,9000561,9000562,9000563,9000564,9000565,9000566,9000567,9000568,9000569,9000570,9000571,9000572,9000573,9000574,9000575,9000576,9000577,9000578,9000579,9000580,9000581,9000582,9000583,9000584,9000585,9000586,9000587,9000588,9000589,9000590,9000591,9000592,9000593,9000594,9000595,9000596,9000597,9000598,9000599,9000600,9000601,9000602,9000603,9000604,9000605,9000606,9000607,9000608,9000609,9000610,9000611,9000612,9000613,9000614,9000615,9000616,9000617,9000618,9000619,9000620,9000621,9000622,9000623,9000624,9000625,9000626,9000627,9000628,9000629,9000630,9000631,9000632,9000633,9000634,9000635,9000636,9000637,9000638,9000639,9000640,9000641,9000642,9000643,9000644,9000645,9000646,9000647,9000648,9000649,9000650,9000651,9000652,9000653,9000654,9000655,9000656,9000657,9000658,9000659,9000660,9000661,9000662,9000663,9000664,9000665,9000666,9000667,9000668,9000669,9000670,9000671,9000672,9000673,9000674,9000675,9000676,9000677,9000678,9000679,9000680,9000681,9000682,9000683,9000684,9000685,9000686,9000687,9000688,9000689,9000690,9000691,9000692,9000693,9000694,9000695,9000696,9000697,9000698,9000699,9000700,9000701,9000702,9000703,9000704,9000705,9000706,9000707,9000708,9000709,9000710,9000711,9000712,9000713,9000714,9000715,9000716,9000717,9000718,9000719,9000720,9000721,9000722,9000723,9000724,9000725,9000726,9000727,9000728,9000729,9000730,9000731,9000732,9000733,9000734,9000735,9000736,9000737,9000738,9000739,9000740,9000741,9000742,9000743,9000744,9000745,9000746,9000747,9000748,9000749,9000750,9000751,9000752,9000753,9000754,9000755,9000756,9000757,9000758,9000759,9000760,9000761,9000762,9000763,9000764,9000765,9000766,9000767,9000768,9000769,9000770,9000771,9000772,9000773,9000774,9000775,9000776,9000777,9000778,9000779,9000780,9000781,9000782,9000783,9000784,9000785,9000786,9000787,9000788,9000789,9000790,9000791,9000792,9000793,9000794,9000795,9000796,9000797,9000798,9000799,9000800,9000801,9000802,9000803,9000804,9000805,9000806,9000807,9000808,9000809,9000810,9000811,9000812,9000813,9000814,9000815,9000816,9000817,9000818,9000819,9000820,9000821,9000822,9000823,9000824,9000825,9000826,9000827,9000828,9000829,9000830,9000831,9000832,9000833,9000834,9000835,9000836,9000837,9000838,9000839,9000840,9000841,9000842,9000843,9000844,9000845,9000846,9000847,9000848,9000849,9000850,9000851,9000852,9000853,9000854,9000855,9000856,9000857,9000858,9000859,9000860,9000861,9000862,9000863,9000864,9000865,9000866,9000867,9000868,9000869,9000870,9000871,9000872,9000873,9000874,9000875,9000876,9000877,9000878,9000879,9000880,9000881,9000882,9000883,9000884,9000885,9000886,9000887,9000888,9000889,9000890,9000891,9000892,9000893,9000894,9000895,9000896,9000897,9000898,9000899,9000900,9000901,9000902,9000903,9000904,9000905,9000906,9000907,9000908,9000909,9000910,9000911,9000912,9000913,9000914,9000915,9000916,9000917,9000918,9000919,9000920,9000921,9000922,9000923,9000924,9000925,9000926,9000927,9000928,9000929,9000930,9000931,9000932,9000933,9000934,9000935,9000936,9000937,9000938,9000939,9000940,9000941,9000942,9000943,9000944,9000945,9000946,9000947,9000948,9000949,9000950,9000951,9000952,9000953,9000954,9000955,9000956,9000957,9000958,9000959,9000960,9000961,9000962,9000963,9000964,9000965,9000966,9000967,9000968,9000969,9000970,9000971,9000972,9000973,9000974,9000975,9000976,9000977,9000978,9000979,9000980,9000981,9000982,9000983,9000984,9000985,9000986,9000987,9000988,9000989,9000990,9000991,9000992,9000993,9000994,9000995,9000996,9000997,9000998,9000999,9001000,10000001,10000002,10000003,10000004,10000005,10000006,10000007,10000008,10000009,10000010,10000011,10000012,10000013,10000014,10000015,10000016,10000017,10000018,10000019,10000020,10000021,10000022,10000023,10000024,10000025,10000026,10000027,10000028,10000029,10000030,10000031,10000032,10000033,10000034,10000035,10000036,10000037,10000038,10000039,10000040,10000041,10000042,10000043,10000044,10000045,10000046,10000047,10000048,10000049,10000050,10000051,10000052,10000053,10000054,10000055,10000056,10000057,10000058,10000059,10000060,10000061,10000062,10000063,10000064,10000065,10000066,10000067,10000068,10000069,10000070,10000071,10000072,10000073,10000074,10000075,10000076,10000077,10000078,10000079,10000080,10000081,10000082,10000083,10000084,10000085,10000086,10000087,10000088,10000089,10000090,10000091,10000092,10000093,10000094,10000095,10000096,10000097,10000098,10000099,10000100,10000101,10000102,10000103,10000104,10000105,10000106,10000107,10000108,10000109,10000110,10000111,10000112,10000113,10000114,10000115,10000116,10000117,10000118,10000119,10000120,10000121,10000122,10000123,10000124,10000125,10000126,10000127,10000128,10000129,10000130,10000131,10000132,10000133,10000134,10000135,10000136,10000137,10000138,10000139,10000140,10000141,10000142,10000143,10000144,10000145,10000146,10000147,10000148,10000149,10000150,10000151,10000152,10000153,10000154,10000155,10000156,10000157,10000158,10000159,10000160,10000161,10000162,10000163,10000164,10000165,10000166,10000167,10000168,10000169,10000170,10000171,10000172,10000173,10000174,10000175,10000176,10000177,10000178,10000179,10000180,10000181,10000182,10000183,10000184,10000185,10000186,10000187,10000188,10000189,10000190,10000191,10000192,10000193,10000194,10000195,10000196,10000197,10000198,10000199,10000200,10000201,10000202,10000203,10000204,10000205,10000206,10000207,10000208,10000209,10000210,10000211,10000212,10000213,10000214,10000215,10000216,10000217,10000218,10000219,10000220,10000221,10000222,10000223,10000224,10000225,10000226,10000227,10000228,10000229,10000230,10000231,10000232,10000233,10000234,10000235,10000236,10000237,10000238,10000239,10000240,10000241,10000242,10000243,10000244,10000245,10000246,10000247,10000248,10000249,10000250,10000251,10000252,10000253,10000254,10000255,10000256,10000257,10000258,10000259,10000260,10000261,10000262,10000263,10000264,10000265,10000266,10000267,10000268,10000269,10000270,10000271,10000272,10000273,10000274,10000275,10000276,10000277,10000278,10000279,10000280,10000281,10000282,10000283,10000284,10000285,10000286,10000287,10000288,10000289,10000290,10000291,10000292,10000293,10000294,10000295,10000296,10000297,10000298,10000299,10000300,10000301,10000302,10000303,10000304,10000305,10000306,10000307,10000308,10000309,10000310,10000311,10000312,10000313,10000314,10000315,10000316,10000317,10000318,10000319,10000320,10000321,10000322,10000323,10000324,10000325,10000326,10000327,10000328,10000329,10000330,10000331,10000332,10000333,10000334,10000335,10000336,10000337,10000338,10000339,10000340,10000341,10000342,10000343,10000344,10000345,10000346,10000347,10000348,10000349,10000350,10000351,10000352,10000353,10000354,10000355,10000356,10000357,10000358,10000359,10000360,10000361,10000362,10000363,10000364,10000365,10000366,10000367,10000368,10000369,10000370,10000371,10000372,10000373,10000374,10000375,10000376,10000377,10000378,10000379,10000380,10000381,10000382,10000383,10000384,10000385,10000386,10000387,10000388,10000389,10000390,10000391,10000392,10000393,10000394,10000395,10000396,10000397,10000398,10000399,10000400,10000401,10000402,10000403,10000404,10000405,10000406,10000407,10000408,10000409,10000410,10000411,10000412,10000413,10000414,10000415,10000416,10000417,10000418,10000419,10000420,10000421,10000422,10000423,10000424,10000425,10000426,10000427,10000428,10000429,10000430,10000431,10000432,10000433,10000434,10000435,10000436,10000437,10000438,10000439,10000440,10000441,10000442,10000443,10000444,10000445,10000446,10000447,10000448,10000449,10000450,10000451,10000452,10000453,10000454,10000455,10000456,10000457,10000458,10000459,10000460,10000461,10000462,10000463,10000464,10000465,10000466,10000467,10000468,10000469,10000470,10000471,10000472,10000473,10000474,10000475,10000476,10000477,10000478,10000479,10000480,10000481,10000482,10000483,10000484,10000485,10000486,10000487,10000488,10000489,10000490,10000491,10000492,10000493,10000494,10000495,10000496,10000497,10000498,10000499,10000500,10000501,10000502,10000503,10000504,10000505,10000506,10000507,10000508,10000509,10000510,10000511,10000512,10000513,10000514,10000515,10000516,10000517,10000518,10000519,10000520,10000521,10000522,10000523,10000524,10000525,10000526,10000527,10000528,10000529,10000530,10000531,10000532,10000533,10000534,10000535,10000536,10000537,10000538,10000539,10000540,10000541,10000542,10000543,10000544,10000545,10000546,10000547,10000548,10000549,10000550,10000551,10000552,10000553,10000554,10000555,10000556,10000557,10000558,10000559,10000560,10000561,10000562,10000563,10000564,10000565,10000566,10000567,10000568,10000569,10000570,10000571,10000572,10000573,10000574,10000575,10000576,10000577,10000578,10000579,10000580,10000581,10000582,10000583,10000584,10000585,10000586,10000587,10000588,10000589,10000590,10000591,10000592,10000593,10000594,10000595,10000596,10000597,10000598,10000599,10000600,10000601,10000602,10000603,10000604,10000605,10000606,10000607,10000608,10000609,10000610,10000611,10000612,10000613,10000614,10000615,10000616,10000617,10000618,10000619,10000620,10000621,10000622,10000623,10000624,10000625,10000626,10000627,10000628,10000629,10000630,10000631,10000632,10000633,10000634,10000635,10000636,10000637,10000638,10000639,10000640,10000641,10000642,10000643,10000644,10000645,10000646,10000647,10000648,10000649,10000650,10000651,10000652,10000653,10000654,10000655,10000656,10000657,10000658,10000659,10000660,10000661,10000662,10000663,10000664,10000665,10000666,10000667,10000668,10000669,10000670,10000671,10000672,10000673,10000674,10000675,10000676,10000677,10000678,10000679,10000680,10000681,10000682,10000683,10000684,10000685,10000686,10000687,10000688,10000689,10000690,10000691,10000692,10000693,10000694,10000695,10000696,10000697,10000698,10000699,10000700,10000701,10000702,10000703,10000704,10000705,10000706,10000707,10000708,10000709,10000710,10000711,10000712,10000713,10000714,10000715,10000716,10000717,10000718,10000719,10000720,10000721,10000722,10000723,10000724,10000725,10000726,10000727,10000728,10000729,10000730,10000731,10000732,10000733,10000734,10000735,10000736,10000737,10000738,10000739,10000740,10000741,10000742,10000743,10000744,10000745,10000746,10000747,10000748,10000749,10000750,10000751,10000752,10000753,10000754,10000755,10000756,10000757,10000758,10000759,10000760,10000761,10000762,10000763,10000764,10000765,10000766,10000767,10000768,10000769,10000770,10000771,10000772,10000773,10000774,10000775,10000776,10000777,10000778,10000779,10000780,10000781,10000782,10000783,10000784,10000785,10000786,10000787,10000788,10000789,10000790,10000791,10000792,10000793,10000794,10000795,10000796,10000797,10000798,10000799,10000800,10000801,10000802,10000803,10000804,10000805,10000806,10000807,10000808,10000809,10000810,10000811,10000812,10000813,10000814,10000815,10000816,10000817,10000818,10000819,10000820,10000821,10000822,10000823,10000824,10000825,10000826,10000827,10000828,10000829,10000830,10000831,10000832,10000833,10000834,10000835,10000836,10000837,10000838,10000839,10000840,10000841,10000842,10000843,10000844,10000845,10000846,10000847,10000848,10000849,10000850,10000851,10000852,10000853,10000854,10000855,10000856,10000857,10000858,10000859,10000860,10000861,10000862,10000863,10000864,10000865,10000866,10000867,10000868,10000869,10000870,10000871,10000872,10000873,10000874,10000875,10000876,10000877,10000878,10000879,10000880,10000881,10000882,10000883,10000884,10000885,10000886,10000887,10000888,10000889,10000890,10000891,10000892,10000893,10000894,10000895,10000896,10000897,10000898,10000899,10000900,10000901,10000902,10000903,10000904,10000905,10000906,10000907,10000908,10000909,10000910,10000911,10000912,10000913,10000914,10000915,10000916,10000917,10000918,10000919,10000920,10000921,10000922,10000923,10000924,10000925,10000926,10000927,10000928,10000929,10000930,10000931,10000932,10000933,10000934,10000935,10000936,10000937,10000938,10000939,10000940,10000941,10000942,10000943,10000944,10000945,10000946,10000947,10000948,10000949,10000950,10000951,10000952,10000953,10000954,10000955,10000956,10000957,10000958,10000959,10000960,10000961,10000962,10000963,10000964,10000965,10000966,10000967,10000968,10000969,10000970,10000971,10000972,10000973,10000974,10000975,10000976,10000977,10000978,10000979,10000980,10000981,10000982,10000983,10000984,10000985,10000986,10000987,10000988,10000989,10000990,10000991,10000992,10000993,10000994,10000995,10000996,10000997,10000998,10000999,10001000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ #Table3 1*10k 100*100 1000*10
+ - table: pkeyBigint10k_
+ count: 1
+ rows: 10000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: JoinG6_1_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: customer=3
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+ - workload: JoinG6_2_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card3_1 in (1000058);
+
+ - workload: JoinG6_3_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: customer=3
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG6_4_1Mtbl_join_1Mtbl_two_conditions_seqscan_two_filters
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card2_1=b.col_bigint_card2_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG6_5_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=3
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+ - workload: JoinG6_6_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card3_1 in (1000058);
+
+ - workload: JoinG6_7_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=3
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG6_8_1Mtbl_join_10ktbl_two_conditions_seqscan_two_filters
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card2_1=b.col_bigint_card2_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card2_1 in (1000058);
diff --git a/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING7_pkey_rangescan_join.yaml b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING7_pkey_rangescan_join.yaml
new file mode 100644
index 000000000..343e0b58e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING7_pkey_rangescan_join.yaml
@@ -0,0 +1,101 @@
+#TEST FOR POSTGRES REGULAR TABLES
+#GOAL11 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Join + Primary Key: Range + Join condition: Range Primary key. + Filter: range scan
+#TESTS:
+# Filter condition returns 1 rows
+# Filter condition returns 10 rows
+# Filter condition returns 1000 rows
+# Filter condition returns 100000 rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ - CREATE TABLE pkey_rangescan_join_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkey_rangescan_join_2(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ loadRules:
+ - table: pkey_rangescan_join_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: JoinG7_pkey_rangescan_join_fetch_1row
+ run:
+ - name: pkey_rangescan_join_fetch_1row_test
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1<2;
+ - workload: JoinG7_pkey_rangescan_join_fetch_10row
+ customTags: customer=4
+ run:
+ - name: pkey_rangescan_join_fetch_10row_test
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1<11;
+ - workload: JoinG7_pkey_rangescan_join_fetch_1000row
+ customTags: customer=6
+ run:
+ - name: pkey_rangescan_join_fetch_1000row_test
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1<1001;
+ - workload: JoinG7_pkey_rangescan_join_fetch_100000row
+ customTags: customer=1
+ run:
+ - name: pkey_rangescan_join_fetch_100000row_test
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1<100001;
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING8_hash_merge_join.yaml b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING8_hash_merge_join.yaml
new file mode 100644
index 000000000..7e902d1d9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING8_hash_merge_join.yaml
@@ -0,0 +1,98 @@
+#GOAL12 HashJoin and Merge join tests
+#TESTS:
+# Filter condition returns 1 rows
+# Filter condition returns 1000 rows .
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{ endpoint }}:5432/postgres?sslmode=require
+username: {{ username }}
+password: {{ password }}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ - CREATE TABLE pkey_rangescan_join_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 , col_bigint_1 ));
+ - CREATE TABLE pkey_rangescan_join_2(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 , col_bigint_1 ));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ loadRules:
+ - table: pkey_rangescan_join_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [ 10, 10 ]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [ 100, 100 ]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [ 500, 500 ]
+ executeRules:
+ - workload: JoinG8_hash_join_fetch_1row
+ customTags: customer=1
+ run:
+ - name: hash_join_fetch_1row
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_2=pkey_rangescan_join_2.col_bigint_2 and pkey_rangescan_join_1.col_bigint_id_1 = 2 and pkey_rangescan_join_2.col_bigint_id_1 = 2;
+
+ - workload: JoinG8_hash_join_fetch_1000row
+ run:
+ - name: hash_join_fetch_1000row
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_2=pkey_rangescan_join_2.col_bigint_2 and pkey_rangescan_join_1.col_bigint_id_1 < 1001 and pkey_rangescan_join_2.col_bigint_id_1 < 1001 ;
+
+ - workload: JoinG8_merge_join_fetch_1row
+ run:
+ - name: merge_join_fetch_1row
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1 < 2 and pkey_rangescan_join_2.col_bigint_id_1 < 2;
+
+ - workload: JoinG8_merge_join_fetch_1000row
+ customTags: customer=4
+ run:
+ - name: merge_join_fetch_1000row
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1 < 1001 and pkey_rangescan_join_2.col_bigint_id_1 < 1001 ;
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING9_cascadded_joins.yaml b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING9_cascadded_joins.yaml
new file mode 100644
index 000000000..ff2c01305
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/postgres/JOING9_cascadded_joins.yaml
@@ -0,0 +1,129 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{ endpoint }}:5432/postgres?sslmode=require
+username: {{ username }}
+password: {{ password }}
+isolation: TRANSACTION_REPEATABLE_READ
+batchsize: 128
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M_3;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE TABLE pkeyBigint1M_3(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card2_1);
+ - CREATE INDEX ON pkeyBigint1M_2(col_bigint_card2_1);
+ - CREATE INDEX ON pkeyBigint1M_3(col_bigint_card2_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M_3;
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 3
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000,2000002,2000003,2000004,2000005,2000006,2000007,2000008,2000009,2000010,2000011,2000012,2000013,2000014,2000015,2000016,2000017,2000018,2000019,2000020,2000021,2000022,2000023,2000024,2000025,2000026,2000027,2000028,2000029,2000030,2000031,2000032,2000033,2000034,2000035,2000036,2000037,2000038,2000039,2000040,2000041,2000042,2000043,2000044,2000045,2000046,2000047,2000048,2000049,2000050,2000051,2000052,2000053,2000054,2000055,2000056,2000057,2000058,2000059,2000060,2000061,2000062,2000063,2000064,2000065,2000066,2000067,2000068,2000069,2000070,2000071,2000072,2000073,2000074,2000075,2000076,2000077,2000078,2000079,2000080,2000081,2000082,2000083,2000084,2000085,2000086,2000087,2000088,2000089,2000090,2000091,2000092,2000093,2000094,2000095,2000096,2000097,2000098,2000099,2000100,2000101,2000102,2000103,2000104,2000105,2000106,2000107,2000108,2000109,2000110,2000111,2000112,2000113,2000114,2000115,2000116,2000117,2000118,2000119,2000120,2000121,2000122,2000123,2000124,2000125,2000126,2000127,2000128,2000129,2000130,2000131,2000132,2000133,2000134,2000135,2000136,2000137,2000138,2000139,2000140,2000141,2000142,2000143,2000144,2000145,2000146,2000147,2000148,2000149,2000150,2000151,2000152,2000153,2000154,2000155,2000156,2000157,2000158,2000159,2000160,2000161,2000162,2000163,2000164,2000165,2000166,2000167,2000168,2000169,2000170,2000171,2000172,2000173,2000174,2000175,2000176,2000177,2000178,2000179,2000180,2000181,2000182,2000183,2000184,2000185,2000186,2000187,2000188,2000189,2000190,2000191,2000192,2000193,2000194,2000195,2000196,2000197,2000198,2000199,2000200,2000201,2000202,2000203,2000204,2000205,2000206,2000207,2000208,2000209,2000210,2000211,2000212,2000213,2000214,2000215,2000216,2000217,2000218,2000219,2000220,2000221,2000222,2000223,2000224,2000225,2000226,2000227,2000228,2000229,2000230,2000231,2000232,2000233,2000234,2000235,2000236,2000237,2000238,2000239,2000240,2000241,2000242,2000243,2000244,2000245,2000246,2000247,2000248,2000249,2000250,2000251,2000252,2000253,2000254,2000255,2000256,2000257,2000258,2000259,2000260,2000261,2000262,2000263,2000264,2000265,2000266,2000267,2000268,2000269,2000270,2000271,2000272,2000273,2000274,2000275,2000276,2000277,2000278,2000279,2000280,2000281,2000282,2000283,2000284,2000285,2000286,2000287,2000288,2000289,2000290,2000291,2000292,2000293,2000294,2000295,2000296,2000297,2000298,2000299,2000300,2000301,2000302,2000303,2000304,2000305,2000306,2000307,2000308,2000309,2000310,2000311,2000312,2000313,2000314,2000315,2000316,2000317,2000318,2000319,2000320,2000321,2000322,2000323,2000324,2000325,2000326,2000327,2000328,2000329,2000330,2000331,2000332,2000333,2000334,2000335,2000336,2000337,2000338,2000339,2000340,2000341,2000342,2000343,2000344,2000345,2000346,2000347,2000348,2000349,2000350,2000351,2000352,2000353,2000354,2000355,2000356,2000357,2000358,2000359,2000360,2000361,2000362,2000363,2000364,2000365,2000366,2000367,2000368,2000369,2000370,2000371,2000372,2000373,2000374,2000375,2000376,2000377,2000378,2000379,2000380,2000381,2000382,2000383,2000384,2000385,2000386,2000387,2000388,2000389,2000390,2000391,2000392,2000393,2000394,2000395,2000396,2000397,2000398,2000399,2000400,2000401,2000402,2000403,2000404,2000405,2000406,2000407,2000408,2000409,2000410,2000411,2000412,2000413,2000414,2000415,2000416,2000417,2000418,2000419,2000420,2000421,2000422,2000423,2000424,2000425,2000426,2000427,2000428,2000429,2000430,2000431,2000432,2000433,2000434,2000435,2000436,2000437,2000438,2000439,2000440,2000441,2000442,2000443,2000444,2000445,2000446,2000447,2000448,2000449,2000450,2000451,2000452,2000453,2000454,2000455,2000456,2000457,2000458,2000459,2000460,2000461,2000462,2000463,2000464,2000465,2000466,2000467,2000468,2000469,2000470,2000471,2000472,2000473,2000474,2000475,2000476,2000477,2000478,2000479,2000480,2000481,2000482,2000483,2000484,2000485,2000486,2000487,2000488,2000489,2000490,2000491,2000492,2000493,2000494,2000495,2000496,2000497,2000498,2000499,2000500,2000501,2000502,2000503,2000504,2000505,2000506,2000507,2000508,2000509,2000510,2000511,2000512,2000513,2000514,2000515,2000516,2000517,2000518,2000519,2000520,2000521,2000522,2000523,2000524,2000525,2000526,2000527,2000528,2000529,2000530,2000531,2000532,2000533,2000534,2000535,2000536,2000537,2000538,2000539,2000540,2000541,2000542,2000543,2000544,2000545,2000546,2000547,2000548,2000549,2000550,2000551,2000552,2000553,2000554,2000555,2000556,2000557,2000558,2000559,2000560,2000561,2000562,2000563,2000564,2000565,2000566,2000567,2000568,2000569,2000570,2000571,2000572,2000573,2000574,2000575,2000576,2000577,2000578,2000579,2000580,2000581,2000582,2000583,2000584,2000585,2000586,2000587,2000588,2000589,2000590,2000591,2000592,2000593,2000594,2000595,2000596,2000597,2000598,2000599,2000600,2000601,2000602,2000603,2000604,2000605,2000606,2000607,2000608,2000609,2000610,2000611,2000612,2000613,2000614,2000615,2000616,2000617,2000618,2000619,2000620,2000621,2000622,2000623,2000624,2000625,2000626,2000627,2000628,2000629,2000630,2000631,2000632,2000633,2000634,2000635,2000636,2000637,2000638,2000639,2000640,2000641,2000642,2000643,2000644,2000645,2000646,2000647,2000648,2000649,2000650,2000651,2000652,2000653,2000654,2000655,2000656,2000657,2000658,2000659,2000660,2000661,2000662,2000663,2000664,2000665,2000666,2000667,2000668,2000669,2000670,2000671,2000672,2000673,2000674,2000675,2000676,2000677,2000678,2000679,2000680,2000681,2000682,2000683,2000684,2000685,2000686,2000687,2000688,2000689,2000690,2000691,2000692,2000693,2000694,2000695,2000696,2000697,2000698,2000699,2000700,2000701,2000702,2000703,2000704,2000705,2000706,2000707,2000708,2000709,2000710,2000711,2000712,2000713,2000714,2000715,2000716,2000717,2000718,2000719,2000720,2000721,2000722,2000723,2000724,2000725,2000726,2000727,2000728,2000729,2000730,2000731,2000732,2000733,2000734,2000735,2000736,2000737,2000738,2000739,2000740,2000741,2000742,2000743,2000744,2000745,2000746,2000747,2000748,2000749,2000750,2000751,2000752,2000753,2000754,2000755,2000756,2000757,2000758,2000759,2000760,2000761,2000762,2000763,2000764,2000765,2000766,2000767,2000768,2000769,2000770,2000771,2000772,2000773,2000774,2000775,2000776,2000777,2000778,2000779,2000780,2000781,2000782,2000783,2000784,2000785,2000786,2000787,2000788,2000789,2000790,2000791,2000792,2000793,2000794,2000795,2000796,2000797,2000798,2000799,2000800,2000801,2000802,2000803,2000804,2000805,2000806,2000807,2000808,2000809,2000810,2000811,2000812,2000813,2000814,2000815,2000816,2000817,2000818,2000819,2000820,2000821,2000822,2000823,2000824,2000825,2000826,2000827,2000828,2000829,2000830,2000831,2000832,2000833,2000834,2000835,2000836,2000837,2000838,2000839,2000840,2000841,2000842,2000843,2000844,2000845,2000846,2000847,2000848,2000849,2000850,2000851,2000852,2000853,2000854,2000855,2000856,2000857,2000858,2000859,2000860,2000861,2000862,2000863,2000864,2000865,2000866,2000867,2000868,2000869,2000870,2000871,2000872,2000873,2000874,2000875,2000876,2000877,2000878,2000879,2000880,2000881,2000882,2000883,2000884,2000885,2000886,2000887,2000888,2000889,2000890,2000891,2000892,2000893,2000894,2000895,2000896,2000897,2000898,2000899,2000900,2000901,2000902,2000903,2000904,2000905,2000906,2000907,2000908,2000909,2000910,2000911,2000912,2000913,2000914,2000915,2000916,2000917,2000918,2000919,2000920,2000921,2000922,2000923,2000924,2000925,2000926,2000927,2000928,2000929,2000930,2000931,2000932,2000933,2000934,2000935,2000936,2000937,2000938,2000939,2000940,2000941,2000942,2000943,2000944,2000945,2000946,2000947,2000948,2000949,2000950,2000951,2000952,2000953,2000954,2000955,2000956,2000957,2000958,2000959,2000960,2000961,2000962,2000963,2000964,2000965,2000966,2000967,2000968,2000969,2000970,2000971,2000972,2000973,2000974,2000975,2000976,2000977,2000978,2000979,2000980,2000981,2000982,2000983,2000984,2000985,2000986,2000987,2000988,2000989,2000990,2000991,2000992,2000993,2000994,2000995,2000996,2000997,2000998,2000999,2001000,3000001,3000002,3000003,3000004,3000005,3000006,3000007,3000008,3000009,3000010,3000011,3000012,3000013,3000014,3000015,3000016,3000017,3000018,3000019,3000020,3000021,3000022,3000023,3000024,3000025,3000026,3000027,3000028,3000029,3000030,3000031,3000032,3000033,3000034,3000035,3000036,3000037,3000038,3000039,3000040,3000041,3000042,3000043,3000044,3000045,3000046,3000047,3000048,3000049,3000050,3000051,3000052,3000053,3000054,3000055,3000056,3000057,3000058,3000059,3000060,3000061,3000062,3000063,3000064,3000065,3000066,3000067,3000068,3000069,3000070,3000071,3000072,3000073,3000074,3000075,3000076,3000077,3000078,3000079,3000080,3000081,3000082,3000083,3000084,3000085,3000086,3000087,3000088,3000089,3000090,3000091,3000092,3000093,3000094,3000095,3000096,3000097,3000098,3000099,3000100,3000101,3000102,3000103,3000104,3000105,3000106,3000107,3000108,3000109,3000110,3000111,3000112,3000113,3000114,3000115,3000116,3000117,3000118,3000119,3000120,3000121,3000122,3000123,3000124,3000125,3000126,3000127,3000128,3000129,3000130,3000131,3000132,3000133,3000134,3000135,3000136,3000137,3000138,3000139,3000140,3000141,3000142,3000143,3000144,3000145,3000146,3000147,3000148,3000149,3000150,3000151,3000152,3000153,3000154,3000155,3000156,3000157,3000158,3000159,3000160,3000161,3000162,3000163,3000164,3000165,3000166,3000167,3000168,3000169,3000170,3000171,3000172,3000173,3000174,3000175,3000176,3000177,3000178,3000179,3000180,3000181,3000182,3000183,3000184,3000185,3000186,3000187,3000188,3000189,3000190,3000191,3000192,3000193,3000194,3000195,3000196,3000197,3000198,3000199,3000200,3000201,3000202,3000203,3000204,3000205,3000206,3000207,3000208,3000209,3000210,3000211,3000212,3000213,3000214,3000215,3000216,3000217,3000218,3000219,3000220,3000221,3000222,3000223,3000224,3000225,3000226,3000227,3000228,3000229,3000230,3000231,3000232,3000233,3000234,3000235,3000236,3000237,3000238,3000239,3000240,3000241,3000242,3000243,3000244,3000245,3000246,3000247,3000248,3000249,3000250,3000251,3000252,3000253,3000254,3000255,3000256,3000257,3000258,3000259,3000260,3000261,3000262,3000263,3000264,3000265,3000266,3000267,3000268,3000269,3000270,3000271,3000272,3000273,3000274,3000275,3000276,3000277,3000278,3000279,3000280,3000281,3000282,3000283,3000284,3000285,3000286,3000287,3000288,3000289,3000290,3000291,3000292,3000293,3000294,3000295,3000296,3000297,3000298,3000299,3000300,3000301,3000302,3000303,3000304,3000305,3000306,3000307,3000308,3000309,3000310,3000311,3000312,3000313,3000314,3000315,3000316,3000317,3000318,3000319,3000320,3000321,3000322,3000323,3000324,3000325,3000326,3000327,3000328,3000329,3000330,3000331,3000332,3000333,3000334,3000335,3000336,3000337,3000338,3000339,3000340,3000341,3000342,3000343,3000344,3000345,3000346,3000347,3000348,3000349,3000350,3000351,3000352,3000353,3000354,3000355,3000356,3000357,3000358,3000359,3000360,3000361,3000362,3000363,3000364,3000365,3000366,3000367,3000368,3000369,3000370,3000371,3000372,3000373,3000374,3000375,3000376,3000377,3000378,3000379,3000380,3000381,3000382,3000383,3000384,3000385,3000386,3000387,3000388,3000389,3000390,3000391,3000392,3000393,3000394,3000395,3000396,3000397,3000398,3000399,3000400,3000401,3000402,3000403,3000404,3000405,3000406,3000407,3000408,3000409,3000410,3000411,3000412,3000413,3000414,3000415,3000416,3000417,3000418,3000419,3000420,3000421,3000422,3000423,3000424,3000425,3000426,3000427,3000428,3000429,3000430,3000431,3000432,3000433,3000434,3000435,3000436,3000437,3000438,3000439,3000440,3000441,3000442,3000443,3000444,3000445,3000446,3000447,3000448,3000449,3000450,3000451,3000452,3000453,3000454,3000455,3000456,3000457,3000458,3000459,3000460,3000461,3000462,3000463,3000464,3000465,3000466,3000467,3000468,3000469,3000470,3000471,3000472,3000473,3000474,3000475,3000476,3000477,3000478,3000479,3000480,3000481,3000482,3000483,3000484,3000485,3000486,3000487,3000488,3000489,3000490,3000491,3000492,3000493,3000494,3000495,3000496,3000497,3000498,3000499,3000500,3000501,3000502,3000503,3000504,3000505,3000506,3000507,3000508,3000509,3000510,3000511,3000512,3000513,3000514,3000515,3000516,3000517,3000518,3000519,3000520,3000521,3000522,3000523,3000524,3000525,3000526,3000527,3000528,3000529,3000530,3000531,3000532,3000533,3000534,3000535,3000536,3000537,3000538,3000539,3000540,3000541,3000542,3000543,3000544,3000545,3000546,3000547,3000548,3000549,3000550,3000551,3000552,3000553,3000554,3000555,3000556,3000557,3000558,3000559,3000560,3000561,3000562,3000563,3000564,3000565,3000566,3000567,3000568,3000569,3000570,3000571,3000572,3000573,3000574,3000575,3000576,3000577,3000578,3000579,3000580,3000581,3000582,3000583,3000584,3000585,3000586,3000587,3000588,3000589,3000590,3000591,3000592,3000593,3000594,3000595,3000596,3000597,3000598,3000599,3000600,3000601,3000602,3000603,3000604,3000605,3000606,3000607,3000608,3000609,3000610,3000611,3000612,3000613,3000614,3000615,3000616,3000617,3000618,3000619,3000620,3000621,3000622,3000623,3000624,3000625,3000626,3000627,3000628,3000629,3000630,3000631,3000632,3000633,3000634,3000635,3000636,3000637,3000638,3000639,3000640,3000641,3000642,3000643,3000644,3000645,3000646,3000647,3000648,3000649,3000650,3000651,3000652,3000653,3000654,3000655,3000656,3000657,3000658,3000659,3000660,3000661,3000662,3000663,3000664,3000665,3000666,3000667,3000668,3000669,3000670,3000671,3000672,3000673,3000674,3000675,3000676,3000677,3000678,3000679,3000680,3000681,3000682,3000683,3000684,3000685,3000686,3000687,3000688,3000689,3000690,3000691,3000692,3000693,3000694,3000695,3000696,3000697,3000698,3000699,3000700,3000701,3000702,3000703,3000704,3000705,3000706,3000707,3000708,3000709,3000710,3000711,3000712,3000713,3000714,3000715,3000716,3000717,3000718,3000719,3000720,3000721,3000722,3000723,3000724,3000725,3000726,3000727,3000728,3000729,3000730,3000731,3000732,3000733,3000734,3000735,3000736,3000737,3000738,3000739,3000740,3000741,3000742,3000743,3000744,3000745,3000746,3000747,3000748,3000749,3000750,3000751,3000752,3000753,3000754,3000755,3000756,3000757,3000758,3000759,3000760,3000761,3000762,3000763,3000764,3000765,3000766,3000767,3000768,3000769,3000770,3000771,3000772,3000773,3000774,3000775,3000776,3000777,3000778,3000779,3000780,3000781,3000782,3000783,3000784,3000785,3000786,3000787,3000788,3000789,3000790,3000791,3000792,3000793,3000794,3000795,3000796,3000797,3000798,3000799,3000800,3000801,3000802,3000803,3000804,3000805,3000806,3000807,3000808,3000809,3000810,3000811,3000812,3000813,3000814,3000815,3000816,3000817,3000818,3000819,3000820,3000821,3000822,3000823,3000824,3000825,3000826,3000827,3000828,3000829,3000830,3000831,3000832,3000833,3000834,3000835,3000836,3000837,3000838,3000839,3000840,3000841,3000842,3000843,3000844,3000845,3000846,3000847,3000848,3000849,3000850,3000851,3000852,3000853,3000854,3000855,3000856,3000857,3000858,3000859,3000860,3000861,3000862,3000863,3000864,3000865,3000866,3000867,3000868,3000869,3000870,3000871,3000872,3000873,3000874,3000875,3000876,3000877,3000878,3000879,3000880,3000881,3000882,3000883,3000884,3000885,3000886,3000887,3000888,3000889,3000890,3000891,3000892,3000893,3000894,3000895,3000896,3000897,3000898,3000899,3000900,3000901,3000902,3000903,3000904,3000905,3000906,3000907,3000908,3000909,3000910,3000911,3000912,3000913,3000914,3000915,3000916,3000917,3000918,3000919,3000920,3000921,3000922,3000923,3000924,3000925,3000926,3000927,3000928,3000929,3000930,3000931,3000932,3000933,3000934,3000935,3000936,3000937,3000938,3000939,3000940,3000941,3000942,3000943,3000944,3000945,3000946,3000947,3000948,3000949,3000950,3000951,3000952,3000953,3000954,3000955,3000956,3000957,3000958,3000959,3000960,3000961,3000962,3000963,3000964,3000965,3000966,3000967,3000968,3000969,3000970,3000971,3000972,3000973,3000974,3000975,3000976,3000977,3000978,3000979,3000980,3000981,3000982,3000983,3000984,3000985,3000986,3000987,3000988,3000989,3000990,3000991,3000992,3000993,3000994,3000995,3000996,3000997,3000998,3000999,3001000,4000001,4000002,4000003,4000004,4000005,4000006,4000007,4000008,4000009,4000010,4000011,4000012,4000013,4000014,4000015,4000016,4000017,4000018,4000019,4000020,4000021,4000022,4000023,4000024,4000025,4000026,4000027,4000028,4000029,4000030,4000031,4000032,4000033,4000034,4000035,4000036,4000037,4000038,4000039,4000040,4000041,4000042,4000043,4000044,4000045,4000046,4000047,4000048,4000049,4000050,4000051,4000052,4000053,4000054,4000055,4000056,4000057,4000058,4000059,4000060,4000061,4000062,4000063,4000064,4000065,4000066,4000067,4000068,4000069,4000070,4000071,4000072,4000073,4000074,4000075,4000076,4000077,4000078,4000079,4000080,4000081,4000082,4000083,4000084,4000085,4000086,4000087,4000088,4000089,4000090,4000091,4000092,4000093,4000094,4000095,4000096,4000097,4000098,4000099,4000100,4000101,4000102,4000103,4000104,4000105,4000106,4000107,4000108,4000109,4000110,4000111,4000112,4000113,4000114,4000115,4000116,4000117,4000118,4000119,4000120,4000121,4000122,4000123,4000124,4000125,4000126,4000127,4000128,4000129,4000130,4000131,4000132,4000133,4000134,4000135,4000136,4000137,4000138,4000139,4000140,4000141,4000142,4000143,4000144,4000145,4000146,4000147,4000148,4000149,4000150,4000151,4000152,4000153,4000154,4000155,4000156,4000157,4000158,4000159,4000160,4000161,4000162,4000163,4000164,4000165,4000166,4000167,4000168,4000169,4000170,4000171,4000172,4000173,4000174,4000175,4000176,4000177,4000178,4000179,4000180,4000181,4000182,4000183,4000184,4000185,4000186,4000187,4000188,4000189,4000190,4000191,4000192,4000193,4000194,4000195,4000196,4000197,4000198,4000199,4000200,4000201,4000202,4000203,4000204,4000205,4000206,4000207,4000208,4000209,4000210,4000211,4000212,4000213,4000214,4000215,4000216,4000217,4000218,4000219,4000220,4000221,4000222,4000223,4000224,4000225,4000226,4000227,4000228,4000229,4000230,4000231,4000232,4000233,4000234,4000235,4000236,4000237,4000238,4000239,4000240,4000241,4000242,4000243,4000244,4000245,4000246,4000247,4000248,4000249,4000250,4000251,4000252,4000253,4000254,4000255,4000256,4000257,4000258,4000259,4000260,4000261,4000262,4000263,4000264,4000265,4000266,4000267,4000268,4000269,4000270,4000271,4000272,4000273,4000274,4000275,4000276,4000277,4000278,4000279,4000280,4000281,4000282,4000283,4000284,4000285,4000286,4000287,4000288,4000289,4000290,4000291,4000292,4000293,4000294,4000295,4000296,4000297,4000298,4000299,4000300,4000301,4000302,4000303,4000304,4000305,4000306,4000307,4000308,4000309,4000310,4000311,4000312,4000313,4000314,4000315,4000316,4000317,4000318,4000319,4000320,4000321,4000322,4000323,4000324,4000325,4000326,4000327,4000328,4000329,4000330,4000331,4000332,4000333,4000334,4000335,4000336,4000337,4000338,4000339,4000340,4000341,4000342,4000343,4000344,4000345,4000346,4000347,4000348,4000349,4000350,4000351,4000352,4000353,4000354,4000355,4000356,4000357,4000358,4000359,4000360,4000361,4000362,4000363,4000364,4000365,4000366,4000367,4000368,4000369,4000370,4000371,4000372,4000373,4000374,4000375,4000376,4000377,4000378,4000379,4000380,4000381,4000382,4000383,4000384,4000385,4000386,4000387,4000388,4000389,4000390,4000391,4000392,4000393,4000394,4000395,4000396,4000397,4000398,4000399,4000400,4000401,4000402,4000403,4000404,4000405,4000406,4000407,4000408,4000409,4000410,4000411,4000412,4000413,4000414,4000415,4000416,4000417,4000418,4000419,4000420,4000421,4000422,4000423,4000424,4000425,4000426,4000427,4000428,4000429,4000430,4000431,4000432,4000433,4000434,4000435,4000436,4000437,4000438,4000439,4000440,4000441,4000442,4000443,4000444,4000445,4000446,4000447,4000448,4000449,4000450,4000451,4000452,4000453,4000454,4000455,4000456,4000457,4000458,4000459,4000460,4000461,4000462,4000463,4000464,4000465,4000466,4000467,4000468,4000469,4000470,4000471,4000472,4000473,4000474,4000475,4000476,4000477,4000478,4000479,4000480,4000481,4000482,4000483,4000484,4000485,4000486,4000487,4000488,4000489,4000490,4000491,4000492,4000493,4000494,4000495,4000496,4000497,4000498,4000499,4000500,4000501,4000502,4000503,4000504,4000505,4000506,4000507,4000508,4000509,4000510,4000511,4000512,4000513,4000514,4000515,4000516,4000517,4000518,4000519,4000520,4000521,4000522,4000523,4000524,4000525,4000526,4000527,4000528,4000529,4000530,4000531,4000532,4000533,4000534,4000535,4000536,4000537,4000538,4000539,4000540,4000541,4000542,4000543,4000544,4000545,4000546,4000547,4000548,4000549,4000550,4000551,4000552,4000553,4000554,4000555,4000556,4000557,4000558,4000559,4000560,4000561,4000562,4000563,4000564,4000565,4000566,4000567,4000568,4000569,4000570,4000571,4000572,4000573,4000574,4000575,4000576,4000577,4000578,4000579,4000580,4000581,4000582,4000583,4000584,4000585,4000586,4000587,4000588,4000589,4000590,4000591,4000592,4000593,4000594,4000595,4000596,4000597,4000598,4000599,4000600,4000601,4000602,4000603,4000604,4000605,4000606,4000607,4000608,4000609,4000610,4000611,4000612,4000613,4000614,4000615,4000616,4000617,4000618,4000619,4000620,4000621,4000622,4000623,4000624,4000625,4000626,4000627,4000628,4000629,4000630,4000631,4000632,4000633,4000634,4000635,4000636,4000637,4000638,4000639,4000640,4000641,4000642,4000643,4000644,4000645,4000646,4000647,4000648,4000649,4000650,4000651,4000652,4000653,4000654,4000655,4000656,4000657,4000658,4000659,4000660,4000661,4000662,4000663,4000664,4000665,4000666,4000667,4000668,4000669,4000670,4000671,4000672,4000673,4000674,4000675,4000676,4000677,4000678,4000679,4000680,4000681,4000682,4000683,4000684,4000685,4000686,4000687,4000688,4000689,4000690,4000691,4000692,4000693,4000694,4000695,4000696,4000697,4000698,4000699,4000700,4000701,4000702,4000703,4000704,4000705,4000706,4000707,4000708,4000709,4000710,4000711,4000712,4000713,4000714,4000715,4000716,4000717,4000718,4000719,4000720,4000721,4000722,4000723,4000724,4000725,4000726,4000727,4000728,4000729,4000730,4000731,4000732,4000733,4000734,4000735,4000736,4000737,4000738,4000739,4000740,4000741,4000742,4000743,4000744,4000745,4000746,4000747,4000748,4000749,4000750,4000751,4000752,4000753,4000754,4000755,4000756,4000757,4000758,4000759,4000760,4000761,4000762,4000763,4000764,4000765,4000766,4000767,4000768,4000769,4000770,4000771,4000772,4000773,4000774,4000775,4000776,4000777,4000778,4000779,4000780,4000781,4000782,4000783,4000784,4000785,4000786,4000787,4000788,4000789,4000790,4000791,4000792,4000793,4000794,4000795,4000796,4000797,4000798,4000799,4000800,4000801,4000802,4000803,4000804,4000805,4000806,4000807,4000808,4000809,4000810,4000811,4000812,4000813,4000814,4000815,4000816,4000817,4000818,4000819,4000820,4000821,4000822,4000823,4000824,4000825,4000826,4000827,4000828,4000829,4000830,4000831,4000832,4000833,4000834,4000835,4000836,4000837,4000838,4000839,4000840,4000841,4000842,4000843,4000844,4000845,4000846,4000847,4000848,4000849,4000850,4000851,4000852,4000853,4000854,4000855,4000856,4000857,4000858,4000859,4000860,4000861,4000862,4000863,4000864,4000865,4000866,4000867,4000868,4000869,4000870,4000871,4000872,4000873,4000874,4000875,4000876,4000877,4000878,4000879,4000880,4000881,4000882,4000883,4000884,4000885,4000886,4000887,4000888,4000889,4000890,4000891,4000892,4000893,4000894,4000895,4000896,4000897,4000898,4000899,4000900,4000901,4000902,4000903,4000904,4000905,4000906,4000907,4000908,4000909,4000910,4000911,4000912,4000913,4000914,4000915,4000916,4000917,4000918,4000919,4000920,4000921,4000922,4000923,4000924,4000925,4000926,4000927,4000928,4000929,4000930,4000931,4000932,4000933,4000934,4000935,4000936,4000937,4000938,4000939,4000940,4000941,4000942,4000943,4000944,4000945,4000946,4000947,4000948,4000949,4000950,4000951,4000952,4000953,4000954,4000955,4000956,4000957,4000958,4000959,4000960,4000961,4000962,4000963,4000964,4000965,4000966,4000967,4000968,4000969,4000970,4000971,4000972,4000973,4000974,4000975,4000976,4000977,4000978,4000979,4000980,4000981,4000982,4000983,4000984,4000985,4000986,4000987,4000988,4000989,4000990,4000991,4000992,4000993,4000994,4000995,4000996,4000997,4000998,4000999,4001000,5000002,5000003,5000004,5000005,5000006,5000007,5000008,5000009,5000010,5000011,5000012,5000013,5000014,5000015,5000016,5000017,5000018,5000019,5000020,5000021,5000022,5000023,5000024,5000025,5000026,5000027,5000028,5000029,5000030,5000031,5000032,5000033,5000034,5000035,5000036,5000037,5000038,5000039,5000040,5000041,5000042,5000043,5000044,5000045,5000046,5000047,5000048,5000049,5000050,5000051,5000052,5000053,5000054,5000055,5000056,5000057,5000058,5000059,5000060,5000061,5000062,5000063,5000064,5000065,5000066,5000067,5000068,5000069,5000070,5000071,5000072,5000073,5000074,5000075,5000076,5000077,5000078,5000079,5000080,5000081,5000082,5000083,5000084,5000085,5000086,5000087,5000088,5000089,5000090,5000091,5000092,5000093,5000094,5000095,5000096,5000097,5000098,5000099,5000100,5000101,5000102,5000103,5000104,5000105,5000106,5000107,5000108,5000109,5000110,5000111,5000112,5000113,5000114,5000115,5000116,5000117,5000118,5000119,5000120,5000121,5000122,5000123,5000124,5000125,5000126,5000127,5000128,5000129,5000130,5000131,5000132,5000133,5000134,5000135,5000136,5000137,5000138,5000139,5000140,5000141,5000142,5000143,5000144,5000145,5000146,5000147,5000148,5000149,5000150,5000151,5000152,5000153,5000154,5000155,5000156,5000157,5000158,5000159,5000160,5000161,5000162,5000163,5000164,5000165,5000166,5000167,5000168,5000169,5000170,5000171,5000172,5000173,5000174,5000175,5000176,5000177,5000178,5000179,5000180,5000181,5000182,5000183,5000184,5000185,5000186,5000187,5000188,5000189,5000190,5000191,5000192,5000193,5000194,5000195,5000196,5000197,5000198,5000199,5000200,5000201,5000202,5000203,5000204,5000205,5000206,5000207,5000208,5000209,5000210,5000211,5000212,5000213,5000214,5000215,5000216,5000217,5000218,5000219,5000220,5000221,5000222,5000223,5000224,5000225,5000226,5000227,5000228,5000229,5000230,5000231,5000232,5000233,5000234,5000235,5000236,5000237,5000238,5000239,5000240,5000241,5000242,5000243,5000244,5000245,5000246,5000247,5000248,5000249,5000250,5000251,5000252,5000253,5000254,5000255,5000256,5000257,5000258,5000259,5000260,5000261,5000262,5000263,5000264,5000265,5000266,5000267,5000268,5000269,5000270,5000271,5000272,5000273,5000274,5000275,5000276,5000277,5000278,5000279,5000280,5000281,5000282,5000283,5000284,5000285,5000286,5000287,5000288,5000289,5000290,5000291,5000292,5000293,5000294,5000295,5000296,5000297,5000298,5000299,5000300,5000301,5000302,5000303,5000304,5000305,5000306,5000307,5000308,5000309,5000310,5000311,5000312,5000313,5000314,5000315,5000316,5000317,5000318,5000319,5000320,5000321,5000322,5000323,5000324,5000325,5000326,5000327,5000328,5000329,5000330,5000331,5000332,5000333,5000334,5000335,5000336,5000337,5000338,5000339,5000340,5000341,5000342,5000343,5000344,5000345,5000346,5000347,5000348,5000349,5000350,5000351,5000352,5000353,5000354,5000355,5000356,5000357,5000358,5000359,5000360,5000361,5000362,5000363,5000364,5000365,5000366,5000367,5000368,5000369,5000370,5000371,5000372,5000373,5000374,5000375,5000376,5000377,5000378,5000379,5000380,5000381,5000382,5000383,5000384,5000385,5000386,5000387,5000388,5000389,5000390,5000391,5000392,5000393,5000394,5000395,5000396,5000397,5000398,5000399,5000400,5000401,5000402,5000403,5000404,5000405,5000406,5000407,5000408,5000409,5000410,5000411,5000412,5000413,5000414,5000415,5000416,5000417,5000418,5000419,5000420,5000421,5000422,5000423,5000424,5000425,5000426,5000427,5000428,5000429,5000430,5000431,5000432,5000433,5000434,5000435,5000436,5000437,5000438,5000439,5000440,5000441,5000442,5000443,5000444,5000445,5000446,5000447,5000448,5000449,5000450,5000451,5000452,5000453,5000454,5000455,5000456,5000457,5000458,5000459,5000460,5000461,5000462,5000463,5000464,5000465,5000466,5000467,5000468,5000469,5000470,5000471,5000472,5000473,5000474,5000475,5000476,5000477,5000478,5000479,5000480,5000481,5000482,5000483,5000484,5000485,5000486,5000487,5000488,5000489,5000490,5000491,5000492,5000493,5000494,5000495,5000496,5000497,5000498,5000499,5000500,5000501,5000502,5000503,5000504,5000505,5000506,5000507,5000508,5000509,5000510,5000511,5000512,5000513,5000514,5000515,5000516,5000517,5000518,5000519,5000520,5000521,5000522,5000523,5000524,5000525,5000526,5000527,5000528,5000529,5000530,5000531,5000532,5000533,5000534,5000535,5000536,5000537,5000538,5000539,5000540,5000541,5000542,5000543,5000544,5000545,5000546,5000547,5000548,5000549,5000550,5000551,5000552,5000553,5000554,5000555,5000556,5000557,5000558,5000559,5000560,5000561,5000562,5000563,5000564,5000565,5000566,5000567,5000568,5000569,5000570,5000571,5000572,5000573,5000574,5000575,5000576,5000577,5000578,5000579,5000580,5000581,5000582,5000583,5000584,5000585,5000586,5000587,5000588,5000589,5000590,5000591,5000592,5000593,5000594,5000595,5000596,5000597,5000598,5000599,5000600,5000601,5000602,5000603,5000604,5000605,5000606,5000607,5000608,5000609,5000610,5000611,5000612,5000613,5000614,5000615,5000616,5000617,5000618,5000619,5000620,5000621,5000622,5000623,5000624,5000625,5000626,5000627,5000628,5000629,5000630,5000631,5000632,5000633,5000634,5000635,5000636,5000637,5000638,5000639,5000640,5000641,5000642,5000643,5000644,5000645,5000646,5000647,5000648,5000649,5000650,5000651,5000652,5000653,5000654,5000655,5000656,5000657,5000658,5000659,5000660,5000661,5000662,5000663,5000664,5000665,5000666,5000667,5000668,5000669,5000670,5000671,5000672,5000673,5000674,5000675,5000676,5000677,5000678,5000679,5000680,5000681,5000682,5000683,5000684,5000685,5000686,5000687,5000688,5000689,5000690,5000691,5000692,5000693,5000694,5000695,5000696,5000697,5000698,5000699,5000700,5000701,5000702,5000703,5000704,5000705,5000706,5000707,5000708,5000709,5000710,5000711,5000712,5000713,5000714,5000715,5000716,5000717,5000718,5000719,5000720,5000721,5000722,5000723,5000724,5000725,5000726,5000727,5000728,5000729,5000730,5000731,5000732,5000733,5000734,5000735,5000736,5000737,5000738,5000739,5000740,5000741,5000742,5000743,5000744,5000745,5000746,5000747,5000748,5000749,5000750,5000751,5000752,5000753,5000754,5000755,5000756,5000757,5000758,5000759,5000760,5000761,5000762,5000763,5000764,5000765,5000766,5000767,5000768,5000769,5000770,5000771,5000772,5000773,5000774,5000775,5000776,5000777,5000778,5000779,5000780,5000781,5000782,5000783,5000784,5000785,5000786,5000787,5000788,5000789,5000790,5000791,5000792,5000793,5000794,5000795,5000796,5000797,5000798,5000799,5000800,5000801,5000802,5000803,5000804,5000805,5000806,5000807,5000808,5000809,5000810,5000811,5000812,5000813,5000814,5000815,5000816,5000817,5000818,5000819,5000820,5000821,5000822,5000823,5000824,5000825,5000826,5000827,5000828,5000829,5000830,5000831,5000832,5000833,5000834,5000835,5000836,5000837,5000838,5000839,5000840,5000841,5000842,5000843,5000844,5000845,5000846,5000847,5000848,5000849,5000850,5000851,5000852,5000853,5000854,5000855,5000856,5000857,5000858,5000859,5000860,5000861,5000862,5000863,5000864,5000865,5000866,5000867,5000868,5000869,5000870,5000871,5000872,5000873,5000874,5000875,5000876,5000877,5000878,5000879,5000880,5000881,5000882,5000883,5000884,5000885,5000886,5000887,5000888,5000889,5000890,5000891,5000892,5000893,5000894,5000895,5000896,5000897,5000898,5000899,5000900,5000901,5000902,5000903,5000904,5000905,5000906,5000907,5000908,5000909,5000910,5000911,5000912,5000913,5000914,5000915,5000916,5000917,5000918,5000919,5000920,5000921,5000922,5000923,5000924,5000925,5000926,5000927,5000928,5000929,5000930,5000931,5000932,5000933,5000934,5000935,5000936,5000937,5000938,5000939,5000940,5000941,5000942,5000943,5000944,5000945,5000946,5000947,5000948,5000949,5000950,5000951,5000952,5000953,5000954,5000955,5000956,5000957,5000958,5000959,5000960,5000961,5000962,5000963,5000964,5000965,5000966,5000967,5000968,5000969,5000970,5000971,5000972,5000973,5000974,5000975,5000976,5000977,5000978,5000979,5000980,5000981,5000982,5000983,5000984,5000985,5000986,5000987,5000988,5000989,5000990,5000991,5000992,5000993,5000994,5000995,5000996,5000997,5000998,5000999,5001000,6000001,6000002,6000003,6000004,6000005,6000006,6000007,6000008,6000009,6000010,6000011,6000012,6000013,6000014,6000015,6000016,6000017,6000018,6000019,6000020,6000021,6000022,6000023,6000024,6000025,6000026,6000027,6000028,6000029,6000030,6000031,6000032,6000033,6000034,6000035,6000036,6000037,6000038,6000039,6000040,6000041,6000042,6000043,6000044,6000045,6000046,6000047,6000048,6000049,6000050,6000051,6000052,6000053,6000054,6000055,6000056,6000057,6000058,6000059,6000060,6000061,6000062,6000063,6000064,6000065,6000066,6000067,6000068,6000069,6000070,6000071,6000072,6000073,6000074,6000075,6000076,6000077,6000078,6000079,6000080,6000081,6000082,6000083,6000084,6000085,6000086,6000087,6000088,6000089,6000090,6000091,6000092,6000093,6000094,6000095,6000096,6000097,6000098,6000099,6000100,6000101,6000102,6000103,6000104,6000105,6000106,6000107,6000108,6000109,6000110,6000111,6000112,6000113,6000114,6000115,6000116,6000117,6000118,6000119,6000120,6000121,6000122,6000123,6000124,6000125,6000126,6000127,6000128,6000129,6000130,6000131,6000132,6000133,6000134,6000135,6000136,6000137,6000138,6000139,6000140,6000141,6000142,6000143,6000144,6000145,6000146,6000147,6000148,6000149,6000150,6000151,6000152,6000153,6000154,6000155,6000156,6000157,6000158,6000159,6000160,6000161,6000162,6000163,6000164,6000165,6000166,6000167,6000168,6000169,6000170,6000171,6000172,6000173,6000174,6000175,6000176,6000177,6000178,6000179,6000180,6000181,6000182,6000183,6000184,6000185,6000186,6000187,6000188,6000189,6000190,6000191,6000192,6000193,6000194,6000195,6000196,6000197,6000198,6000199,6000200,6000201,6000202,6000203,6000204,6000205,6000206,6000207,6000208,6000209,6000210,6000211,6000212,6000213,6000214,6000215,6000216,6000217,6000218,6000219,6000220,6000221,6000222,6000223,6000224,6000225,6000226,6000227,6000228,6000229,6000230,6000231,6000232,6000233,6000234,6000235,6000236,6000237,6000238,6000239,6000240,6000241,6000242,6000243,6000244,6000245,6000246,6000247,6000248,6000249,6000250,6000251,6000252,6000253,6000254,6000255,6000256,6000257,6000258,6000259,6000260,6000261,6000262,6000263,6000264,6000265,6000266,6000267,6000268,6000269,6000270,6000271,6000272,6000273,6000274,6000275,6000276,6000277,6000278,6000279,6000280,6000281,6000282,6000283,6000284,6000285,6000286,6000287,6000288,6000289,6000290,6000291,6000292,6000293,6000294,6000295,6000296,6000297,6000298,6000299,6000300,6000301,6000302,6000303,6000304,6000305,6000306,6000307,6000308,6000309,6000310,6000311,6000312,6000313,6000314,6000315,6000316,6000317,6000318,6000319,6000320,6000321,6000322,6000323,6000324,6000325,6000326,6000327,6000328,6000329,6000330,6000331,6000332,6000333,6000334,6000335,6000336,6000337,6000338,6000339,6000340,6000341,6000342,6000343,6000344,6000345,6000346,6000347,6000348,6000349,6000350,6000351,6000352,6000353,6000354,6000355,6000356,6000357,6000358,6000359,6000360,6000361,6000362,6000363,6000364,6000365,6000366,6000367,6000368,6000369,6000370,6000371,6000372,6000373,6000374,6000375,6000376,6000377,6000378,6000379,6000380,6000381,6000382,6000383,6000384,6000385,6000386,6000387,6000388,6000389,6000390,6000391,6000392,6000393,6000394,6000395,6000396,6000397,6000398,6000399,6000400,6000401,6000402,6000403,6000404,6000405,6000406,6000407,6000408,6000409,6000410,6000411,6000412,6000413,6000414,6000415,6000416,6000417,6000418,6000419,6000420,6000421,6000422,6000423,6000424,6000425,6000426,6000427,6000428,6000429,6000430,6000431,6000432,6000433,6000434,6000435,6000436,6000437,6000438,6000439,6000440,6000441,6000442,6000443,6000444,6000445,6000446,6000447,6000448,6000449,6000450,6000451,6000452,6000453,6000454,6000455,6000456,6000457,6000458,6000459,6000460,6000461,6000462,6000463,6000464,6000465,6000466,6000467,6000468,6000469,6000470,6000471,6000472,6000473,6000474,6000475,6000476,6000477,6000478,6000479,6000480,6000481,6000482,6000483,6000484,6000485,6000486,6000487,6000488,6000489,6000490,6000491,6000492,6000493,6000494,6000495,6000496,6000497,6000498,6000499,6000500,6000501,6000502,6000503,6000504,6000505,6000506,6000507,6000508,6000509,6000510,6000511,6000512,6000513,6000514,6000515,6000516,6000517,6000518,6000519,6000520,6000521,6000522,6000523,6000524,6000525,6000526,6000527,6000528,6000529,6000530,6000531,6000532,6000533,6000534,6000535,6000536,6000537,6000538,6000539,6000540,6000541,6000542,6000543,6000544,6000545,6000546,6000547,6000548,6000549,6000550,6000551,6000552,6000553,6000554,6000555,6000556,6000557,6000558,6000559,6000560,6000561,6000562,6000563,6000564,6000565,6000566,6000567,6000568,6000569,6000570,6000571,6000572,6000573,6000574,6000575,6000576,6000577,6000578,6000579,6000580,6000581,6000582,6000583,6000584,6000585,6000586,6000587,6000588,6000589,6000590,6000591,6000592,6000593,6000594,6000595,6000596,6000597,6000598,6000599,6000600,6000601,6000602,6000603,6000604,6000605,6000606,6000607,6000608,6000609,6000610,6000611,6000612,6000613,6000614,6000615,6000616,6000617,6000618,6000619,6000620,6000621,6000622,6000623,6000624,6000625,6000626,6000627,6000628,6000629,6000630,6000631,6000632,6000633,6000634,6000635,6000636,6000637,6000638,6000639,6000640,6000641,6000642,6000643,6000644,6000645,6000646,6000647,6000648,6000649,6000650,6000651,6000652,6000653,6000654,6000655,6000656,6000657,6000658,6000659,6000660,6000661,6000662,6000663,6000664,6000665,6000666,6000667,6000668,6000669,6000670,6000671,6000672,6000673,6000674,6000675,6000676,6000677,6000678,6000679,6000680,6000681,6000682,6000683,6000684,6000685,6000686,6000687,6000688,6000689,6000690,6000691,6000692,6000693,6000694,6000695,6000696,6000697,6000698,6000699,6000700,6000701,6000702,6000703,6000704,6000705,6000706,6000707,6000708,6000709,6000710,6000711,6000712,6000713,6000714,6000715,6000716,6000717,6000718,6000719,6000720,6000721,6000722,6000723,6000724,6000725,6000726,6000727,6000728,6000729,6000730,6000731,6000732,6000733,6000734,6000735,6000736,6000737,6000738,6000739,6000740,6000741,6000742,6000743,6000744,6000745,6000746,6000747,6000748,6000749,6000750,6000751,6000752,6000753,6000754,6000755,6000756,6000757,6000758,6000759,6000760,6000761,6000762,6000763,6000764,6000765,6000766,6000767,6000768,6000769,6000770,6000771,6000772,6000773,6000774,6000775,6000776,6000777,6000778,6000779,6000780,6000781,6000782,6000783,6000784,6000785,6000786,6000787,6000788,6000789,6000790,6000791,6000792,6000793,6000794,6000795,6000796,6000797,6000798,6000799,6000800,6000801,6000802,6000803,6000804,6000805,6000806,6000807,6000808,6000809,6000810,6000811,6000812,6000813,6000814,6000815,6000816,6000817,6000818,6000819,6000820,6000821,6000822,6000823,6000824,6000825,6000826,6000827,6000828,6000829,6000830,6000831,6000832,6000833,6000834,6000835,6000836,6000837,6000838,6000839,6000840,6000841,6000842,6000843,6000844,6000845,6000846,6000847,6000848,6000849,6000850,6000851,6000852,6000853,6000854,6000855,6000856,6000857,6000858,6000859,6000860,6000861,6000862,6000863,6000864,6000865,6000866,6000867,6000868,6000869,6000870,6000871,6000872,6000873,6000874,6000875,6000876,6000877,6000878,6000879,6000880,6000881,6000882,6000883,6000884,6000885,6000886,6000887,6000888,6000889,6000890,6000891,6000892,6000893,6000894,6000895,6000896,6000897,6000898,6000899,6000900,6000901,6000902,6000903,6000904,6000905,6000906,6000907,6000908,6000909,6000910,6000911,6000912,6000913,6000914,6000915,6000916,6000917,6000918,6000919,6000920,6000921,6000922,6000923,6000924,6000925,6000926,6000927,6000928,6000929,6000930,6000931,6000932,6000933,6000934,6000935,6000936,6000937,6000938,6000939,6000940,6000941,6000942,6000943,6000944,6000945,6000946,6000947,6000948,6000949,6000950,6000951,6000952,6000953,6000954,6000955,6000956,6000957,6000958,6000959,6000960,6000961,6000962,6000963,6000964,6000965,6000966,6000967,6000968,6000969,6000970,6000971,6000972,6000973,6000974,6000975,6000976,6000977,6000978,6000979,6000980,6000981,6000982,6000983,6000984,6000985,6000986,6000987,6000988,6000989,6000990,6000991,6000992,6000993,6000994,6000995,6000996,6000997,6000998,6000999,6001000,7000001,7000002,7000003,7000004,7000005,7000006,7000007,7000008,7000009,7000010,7000011,7000012,7000013,7000014,7000015,7000016,7000017,7000018,7000019,7000020,7000021,7000022,7000023,7000024,7000025,7000026,7000027,7000028,7000029,7000030,7000031,7000032,7000033,7000034,7000035,7000036,7000037,7000038,7000039,7000040,7000041,7000042,7000043,7000044,7000045,7000046,7000047,7000048,7000049,7000050,7000051,7000052,7000053,7000054,7000055,7000056,7000057,7000058,7000059,7000060,7000061,7000062,7000063,7000064,7000065,7000066,7000067,7000068,7000069,7000070,7000071,7000072,7000073,7000074,7000075,7000076,7000077,7000078,7000079,7000080,7000081,7000082,7000083,7000084,7000085,7000086,7000087,7000088,7000089,7000090,7000091,7000092,7000093,7000094,7000095,7000096,7000097,7000098,7000099,7000100,7000101,7000102,7000103,7000104,7000105,7000106,7000107,7000108,7000109,7000110,7000111,7000112,7000113,7000114,7000115,7000116,7000117,7000118,7000119,7000120,7000121,7000122,7000123,7000124,7000125,7000126,7000127,7000128,7000129,7000130,7000131,7000132,7000133,7000134,7000135,7000136,7000137,7000138,7000139,7000140,7000141,7000142,7000143,7000144,7000145,7000146,7000147,7000148,7000149,7000150,7000151,7000152,7000153,7000154,7000155,7000156,7000157,7000158,7000159,7000160,7000161,7000162,7000163,7000164,7000165,7000166,7000167,7000168,7000169,7000170,7000171,7000172,7000173,7000174,7000175,7000176,7000177,7000178,7000179,7000180,7000181,7000182,7000183,7000184,7000185,7000186,7000187,7000188,7000189,7000190,7000191,7000192,7000193,7000194,7000195,7000196,7000197,7000198,7000199,7000200,7000201,7000202,7000203,7000204,7000205,7000206,7000207,7000208,7000209,7000210,7000211,7000212,7000213,7000214,7000215,7000216,7000217,7000218,7000219,7000220,7000221,7000222,7000223,7000224,7000225,7000226,7000227,7000228,7000229,7000230,7000231,7000232,7000233,7000234,7000235,7000236,7000237,7000238,7000239,7000240,7000241,7000242,7000243,7000244,7000245,7000246,7000247,7000248,7000249,7000250,7000251,7000252,7000253,7000254,7000255,7000256,7000257,7000258,7000259,7000260,7000261,7000262,7000263,7000264,7000265,7000266,7000267,7000268,7000269,7000270,7000271,7000272,7000273,7000274,7000275,7000276,7000277,7000278,7000279,7000280,7000281,7000282,7000283,7000284,7000285,7000286,7000287,7000288,7000289,7000290,7000291,7000292,7000293,7000294,7000295,7000296,7000297,7000298,7000299,7000300,7000301,7000302,7000303,7000304,7000305,7000306,7000307,7000308,7000309,7000310,7000311,7000312,7000313,7000314,7000315,7000316,7000317,7000318,7000319,7000320,7000321,7000322,7000323,7000324,7000325,7000326,7000327,7000328,7000329,7000330,7000331,7000332,7000333,7000334,7000335,7000336,7000337,7000338,7000339,7000340,7000341,7000342,7000343,7000344,7000345,7000346,7000347,7000348,7000349,7000350,7000351,7000352,7000353,7000354,7000355,7000356,7000357,7000358,7000359,7000360,7000361,7000362,7000363,7000364,7000365,7000366,7000367,7000368,7000369,7000370,7000371,7000372,7000373,7000374,7000375,7000376,7000377,7000378,7000379,7000380,7000381,7000382,7000383,7000384,7000385,7000386,7000387,7000388,7000389,7000390,7000391,7000392,7000393,7000394,7000395,7000396,7000397,7000398,7000399,7000400,7000401,7000402,7000403,7000404,7000405,7000406,7000407,7000408,7000409,7000410,7000411,7000412,7000413,7000414,7000415,7000416,7000417,7000418,7000419,7000420,7000421,7000422,7000423,7000424,7000425,7000426,7000427,7000428,7000429,7000430,7000431,7000432,7000433,7000434,7000435,7000436,7000437,7000438,7000439,7000440,7000441,7000442,7000443,7000444,7000445,7000446,7000447,7000448,7000449,7000450,7000451,7000452,7000453,7000454,7000455,7000456,7000457,7000458,7000459,7000460,7000461,7000462,7000463,7000464,7000465,7000466,7000467,7000468,7000469,7000470,7000471,7000472,7000473,7000474,7000475,7000476,7000477,7000478,7000479,7000480,7000481,7000482,7000483,7000484,7000485,7000486,7000487,7000488,7000489,7000490,7000491,7000492,7000493,7000494,7000495,7000496,7000497,7000498,7000499,7000500,7000501,7000502,7000503,7000504,7000505,7000506,7000507,7000508,7000509,7000510,7000511,7000512,7000513,7000514,7000515,7000516,7000517,7000518,7000519,7000520,7000521,7000522,7000523,7000524,7000525,7000526,7000527,7000528,7000529,7000530,7000531,7000532,7000533,7000534,7000535,7000536,7000537,7000538,7000539,7000540,7000541,7000542,7000543,7000544,7000545,7000546,7000547,7000548,7000549,7000550,7000551,7000552,7000553,7000554,7000555,7000556,7000557,7000558,7000559,7000560,7000561,7000562,7000563,7000564,7000565,7000566,7000567,7000568,7000569,7000570,7000571,7000572,7000573,7000574,7000575,7000576,7000577,7000578,7000579,7000580,7000581,7000582,7000583,7000584,7000585,7000586,7000587,7000588,7000589,7000590,7000591,7000592,7000593,7000594,7000595,7000596,7000597,7000598,7000599,7000600,7000601,7000602,7000603,7000604,7000605,7000606,7000607,7000608,7000609,7000610,7000611,7000612,7000613,7000614,7000615,7000616,7000617,7000618,7000619,7000620,7000621,7000622,7000623,7000624,7000625,7000626,7000627,7000628,7000629,7000630,7000631,7000632,7000633,7000634,7000635,7000636,7000637,7000638,7000639,7000640,7000641,7000642,7000643,7000644,7000645,7000646,7000647,7000648,7000649,7000650,7000651,7000652,7000653,7000654,7000655,7000656,7000657,7000658,7000659,7000660,7000661,7000662,7000663,7000664,7000665,7000666,7000667,7000668,7000669,7000670,7000671,7000672,7000673,7000674,7000675,7000676,7000677,7000678,7000679,7000680,7000681,7000682,7000683,7000684,7000685,7000686,7000687,7000688,7000689,7000690,7000691,7000692,7000693,7000694,7000695,7000696,7000697,7000698,7000699,7000700,7000701,7000702,7000703,7000704,7000705,7000706,7000707,7000708,7000709,7000710,7000711,7000712,7000713,7000714,7000715,7000716,7000717,7000718,7000719,7000720,7000721,7000722,7000723,7000724,7000725,7000726,7000727,7000728,7000729,7000730,7000731,7000732,7000733,7000734,7000735,7000736,7000737,7000738,7000739,7000740,7000741,7000742,7000743,7000744,7000745,7000746,7000747,7000748,7000749,7000750,7000751,7000752,7000753,7000754,7000755,7000756,7000757,7000758,7000759,7000760,7000761,7000762,7000763,7000764,7000765,7000766,7000767,7000768,7000769,7000770,7000771,7000772,7000773,7000774,7000775,7000776,7000777,7000778,7000779,7000780,7000781,7000782,7000783,7000784,7000785,7000786,7000787,7000788,7000789,7000790,7000791,7000792,7000793,7000794,7000795,7000796,7000797,7000798,7000799,7000800,7000801,7000802,7000803,7000804,7000805,7000806,7000807,7000808,7000809,7000810,7000811,7000812,7000813,7000814,7000815,7000816,7000817,7000818,7000819,7000820,7000821,7000822,7000823,7000824,7000825,7000826,7000827,7000828,7000829,7000830,7000831,7000832,7000833,7000834,7000835,7000836,7000837,7000838,7000839,7000840,7000841,7000842,7000843,7000844,7000845,7000846,7000847,7000848,7000849,7000850,7000851,7000852,7000853,7000854,7000855,7000856,7000857,7000858,7000859,7000860,7000861,7000862,7000863,7000864,7000865,7000866,7000867,7000868,7000869,7000870,7000871,7000872,7000873,7000874,7000875,7000876,7000877,7000878,7000879,7000880,7000881,7000882,7000883,7000884,7000885,7000886,7000887,7000888,7000889,7000890,7000891,7000892,7000893,7000894,7000895,7000896,7000897,7000898,7000899,7000900,7000901,7000902,7000903,7000904,7000905,7000906,7000907,7000908,7000909,7000910,7000911,7000912,7000913,7000914,7000915,7000916,7000917,7000918,7000919,7000920,7000921,7000922,7000923,7000924,7000925,7000926,7000927,7000928,7000929,7000930,7000931,7000932,7000933,7000934,7000935,7000936,7000937,7000938,7000939,7000940,7000941,7000942,7000943,7000944,7000945,7000946,7000947,7000948,7000949,7000950,7000951,7000952,7000953,7000954,7000955,7000956,7000957,7000958,7000959,7000960,7000961,7000962,7000963,7000964,7000965,7000966,7000967,7000968,7000969,7000970,7000971,7000972,7000973,7000974,7000975,7000976,7000977,7000978,7000979,7000980,7000981,7000982,7000983,7000984,7000985,7000986,7000987,7000988,7000989,7000990,7000991,7000992,7000993,7000994,7000995,7000996,7000997,7000998,7000999,7001000,8000002,8000003,8000004,8000005,8000006,8000007,8000008,8000009,8000010,8000011,8000012,8000013,8000014,8000015,8000016,8000017,8000018,8000019,8000020,8000021,8000022,8000023,8000024,8000025,8000026,8000027,8000028,8000029,8000030,8000031,8000032,8000033,8000034,8000035,8000036,8000037,8000038,8000039,8000040,8000041,8000042,8000043,8000044,8000045,8000046,8000047,8000048,8000049,8000050,8000051,8000052,8000053,8000054,8000055,8000056,8000057,8000058,8000059,8000060,8000061,8000062,8000063,8000064,8000065,8000066,8000067,8000068,8000069,8000070,8000071,8000072,8000073,8000074,8000075,8000076,8000077,8000078,8000079,8000080,8000081,8000082,8000083,8000084,8000085,8000086,8000087,8000088,8000089,8000090,8000091,8000092,8000093,8000094,8000095,8000096,8000097,8000098,8000099,8000100,8000101,8000102,8000103,8000104,8000105,8000106,8000107,8000108,8000109,8000110,8000111,8000112,8000113,8000114,8000115,8000116,8000117,8000118,8000119,8000120,8000121,8000122,8000123,8000124,8000125,8000126,8000127,8000128,8000129,8000130,8000131,8000132,8000133,8000134,8000135,8000136,8000137,8000138,8000139,8000140,8000141,8000142,8000143,8000144,8000145,8000146,8000147,8000148,8000149,8000150,8000151,8000152,8000153,8000154,8000155,8000156,8000157,8000158,8000159,8000160,8000161,8000162,8000163,8000164,8000165,8000166,8000167,8000168,8000169,8000170,8000171,8000172,8000173,8000174,8000175,8000176,8000177,8000178,8000179,8000180,8000181,8000182,8000183,8000184,8000185,8000186,8000187,8000188,8000189,8000190,8000191,8000192,8000193,8000194,8000195,8000196,8000197,8000198,8000199,8000200,8000201,8000202,8000203,8000204,8000205,8000206,8000207,8000208,8000209,8000210,8000211,8000212,8000213,8000214,8000215,8000216,8000217,8000218,8000219,8000220,8000221,8000222,8000223,8000224,8000225,8000226,8000227,8000228,8000229,8000230,8000231,8000232,8000233,8000234,8000235,8000236,8000237,8000238,8000239,8000240,8000241,8000242,8000243,8000244,8000245,8000246,8000247,8000248,8000249,8000250,8000251,8000252,8000253,8000254,8000255,8000256,8000257,8000258,8000259,8000260,8000261,8000262,8000263,8000264,8000265,8000266,8000267,8000268,8000269,8000270,8000271,8000272,8000273,8000274,8000275,8000276,8000277,8000278,8000279,8000280,8000281,8000282,8000283,8000284,8000285,8000286,8000287,8000288,8000289,8000290,8000291,8000292,8000293,8000294,8000295,8000296,8000297,8000298,8000299,8000300,8000301,8000302,8000303,8000304,8000305,8000306,8000307,8000308,8000309,8000310,8000311,8000312,8000313,8000314,8000315,8000316,8000317,8000318,8000319,8000320,8000321,8000322,8000323,8000324,8000325,8000326,8000327,8000328,8000329,8000330,8000331,8000332,8000333,8000334,8000335,8000336,8000337,8000338,8000339,8000340,8000341,8000342,8000343,8000344,8000345,8000346,8000347,8000348,8000349,8000350,8000351,8000352,8000353,8000354,8000355,8000356,8000357,8000358,8000359,8000360,8000361,8000362,8000363,8000364,8000365,8000366,8000367,8000368,8000369,8000370,8000371,8000372,8000373,8000374,8000375,8000376,8000377,8000378,8000379,8000380,8000381,8000382,8000383,8000384,8000385,8000386,8000387,8000388,8000389,8000390,8000391,8000392,8000393,8000394,8000395,8000396,8000397,8000398,8000399,8000400,8000401,8000402,8000403,8000404,8000405,8000406,8000407,8000408,8000409,8000410,8000411,8000412,8000413,8000414,8000415,8000416,8000417,8000418,8000419,8000420,8000421,8000422,8000423,8000424,8000425,8000426,8000427,8000428,8000429,8000430,8000431,8000432,8000433,8000434,8000435,8000436,8000437,8000438,8000439,8000440,8000441,8000442,8000443,8000444,8000445,8000446,8000447,8000448,8000449,8000450,8000451,8000452,8000453,8000454,8000455,8000456,8000457,8000458,8000459,8000460,8000461,8000462,8000463,8000464,8000465,8000466,8000467,8000468,8000469,8000470,8000471,8000472,8000473,8000474,8000475,8000476,8000477,8000478,8000479,8000480,8000481,8000482,8000483,8000484,8000485,8000486,8000487,8000488,8000489,8000490,8000491,8000492,8000493,8000494,8000495,8000496,8000497,8000498,8000499,8000500,8000501,8000502,8000503,8000504,8000505,8000506,8000507,8000508,8000509,8000510,8000511,8000512,8000513,8000514,8000515,8000516,8000517,8000518,8000519,8000520,8000521,8000522,8000523,8000524,8000525,8000526,8000527,8000528,8000529,8000530,8000531,8000532,8000533,8000534,8000535,8000536,8000537,8000538,8000539,8000540,8000541,8000542,8000543,8000544,8000545,8000546,8000547,8000548,8000549,8000550,8000551,8000552,8000553,8000554,8000555,8000556,8000557,8000558,8000559,8000560,8000561,8000562,8000563,8000564,8000565,8000566,8000567,8000568,8000569,8000570,8000571,8000572,8000573,8000574,8000575,8000576,8000577,8000578,8000579,8000580,8000581,8000582,8000583,8000584,8000585,8000586,8000587,8000588,8000589,8000590,8000591,8000592,8000593,8000594,8000595,8000596,8000597,8000598,8000599,8000600,8000601,8000602,8000603,8000604,8000605,8000606,8000607,8000608,8000609,8000610,8000611,8000612,8000613,8000614,8000615,8000616,8000617,8000618,8000619,8000620,8000621,8000622,8000623,8000624,8000625,8000626,8000627,8000628,8000629,8000630,8000631,8000632,8000633,8000634,8000635,8000636,8000637,8000638,8000639,8000640,8000641,8000642,8000643,8000644,8000645,8000646,8000647,8000648,8000649,8000650,8000651,8000652,8000653,8000654,8000655,8000656,8000657,8000658,8000659,8000660,8000661,8000662,8000663,8000664,8000665,8000666,8000667,8000668,8000669,8000670,8000671,8000672,8000673,8000674,8000675,8000676,8000677,8000678,8000679,8000680,8000681,8000682,8000683,8000684,8000685,8000686,8000687,8000688,8000689,8000690,8000691,8000692,8000693,8000694,8000695,8000696,8000697,8000698,8000699,8000700,8000701,8000702,8000703,8000704,8000705,8000706,8000707,8000708,8000709,8000710,8000711,8000712,8000713,8000714,8000715,8000716,8000717,8000718,8000719,8000720,8000721,8000722,8000723,8000724,8000725,8000726,8000727,8000728,8000729,8000730,8000731,8000732,8000733,8000734,8000735,8000736,8000737,8000738,8000739,8000740,8000741,8000742,8000743,8000744,8000745,8000746,8000747,8000748,8000749,8000750,8000751,8000752,8000753,8000754,8000755,8000756,8000757,8000758,8000759,8000760,8000761,8000762,8000763,8000764,8000765,8000766,8000767,8000768,8000769,8000770,8000771,8000772,8000773,8000774,8000775,8000776,8000777,8000778,8000779,8000780,8000781,8000782,8000783,8000784,8000785,8000786,8000787,8000788,8000789,8000790,8000791,8000792,8000793,8000794,8000795,8000796,8000797,8000798,8000799,8000800,8000801,8000802,8000803,8000804,8000805,8000806,8000807,8000808,8000809,8000810,8000811,8000812,8000813,8000814,8000815,8000816,8000817,8000818,8000819,8000820,8000821,8000822,8000823,8000824,8000825,8000826,8000827,8000828,8000829,8000830,8000831,8000832,8000833,8000834,8000835,8000836,8000837,8000838,8000839,8000840,8000841,8000842,8000843,8000844,8000845,8000846,8000847,8000848,8000849,8000850,8000851,8000852,8000853,8000854,8000855,8000856,8000857,8000858,8000859,8000860,8000861,8000862,8000863,8000864,8000865,8000866,8000867,8000868,8000869,8000870,8000871,8000872,8000873,8000874,8000875,8000876,8000877,8000878,8000879,8000880,8000881,8000882,8000883,8000884,8000885,8000886,8000887,8000888,8000889,8000890,8000891,8000892,8000893,8000894,8000895,8000896,8000897,8000898,8000899,8000900,8000901,8000902,8000903,8000904,8000905,8000906,8000907,8000908,8000909,8000910,8000911,8000912,8000913,8000914,8000915,8000916,8000917,8000918,8000919,8000920,8000921,8000922,8000923,8000924,8000925,8000926,8000927,8000928,8000929,8000930,8000931,8000932,8000933,8000934,8000935,8000936,8000937,8000938,8000939,8000940,8000941,8000942,8000943,8000944,8000945,8000946,8000947,8000948,8000949,8000950,8000951,8000952,8000953,8000954,8000955,8000956,8000957,8000958,8000959,8000960,8000961,8000962,8000963,8000964,8000965,8000966,8000967,8000968,8000969,8000970,8000971,8000972,8000973,8000974,8000975,8000976,8000977,8000978,8000979,8000980,8000981,8000982,8000983,8000984,8000985,8000986,8000987,8000988,8000989,8000990,8000991,8000992,8000993,8000994,8000995,8000996,8000997,8000998,8000999,8001000,9000001,9000002,9000003,9000004,9000005,9000006,9000007,9000008,9000009,9000010,9000011,9000012,9000013,9000014,9000015,9000016,9000017,9000018,9000019,9000020,9000021,9000022,9000023,9000024,9000025,9000026,9000027,9000028,9000029,9000030,9000031,9000032,9000033,9000034,9000035,9000036,9000037,9000038,9000039,9000040,9000041,9000042,9000043,9000044,9000045,9000046,9000047,9000048,9000049,9000050,9000051,9000052,9000053,9000054,9000055,9000056,9000057,9000058,9000059,9000060,9000061,9000062,9000063,9000064,9000065,9000066,9000067,9000068,9000069,9000070,9000071,9000072,9000073,9000074,9000075,9000076,9000077,9000078,9000079,9000080,9000081,9000082,9000083,9000084,9000085,9000086,9000087,9000088,9000089,9000090,9000091,9000092,9000093,9000094,9000095,9000096,9000097,9000098,9000099,9000100,9000101,9000102,9000103,9000104,9000105,9000106,9000107,9000108,9000109,9000110,9000111,9000112,9000113,9000114,9000115,9000116,9000117,9000118,9000119,9000120,9000121,9000122,9000123,9000124,9000125,9000126,9000127,9000128,9000129,9000130,9000131,9000132,9000133,9000134,9000135,9000136,9000137,9000138,9000139,9000140,9000141,9000142,9000143,9000144,9000145,9000146,9000147,9000148,9000149,9000150,9000151,9000152,9000153,9000154,9000155,9000156,9000157,9000158,9000159,9000160,9000161,9000162,9000163,9000164,9000165,9000166,9000167,9000168,9000169,9000170,9000171,9000172,9000173,9000174,9000175,9000176,9000177,9000178,9000179,9000180,9000181,9000182,9000183,9000184,9000185,9000186,9000187,9000188,9000189,9000190,9000191,9000192,9000193,9000194,9000195,9000196,9000197,9000198,9000199,9000200,9000201,9000202,9000203,9000204,9000205,9000206,9000207,9000208,9000209,9000210,9000211,9000212,9000213,9000214,9000215,9000216,9000217,9000218,9000219,9000220,9000221,9000222,9000223,9000224,9000225,9000226,9000227,9000228,9000229,9000230,9000231,9000232,9000233,9000234,9000235,9000236,9000237,9000238,9000239,9000240,9000241,9000242,9000243,9000244,9000245,9000246,9000247,9000248,9000249,9000250,9000251,9000252,9000253,9000254,9000255,9000256,9000257,9000258,9000259,9000260,9000261,9000262,9000263,9000264,9000265,9000266,9000267,9000268,9000269,9000270,9000271,9000272,9000273,9000274,9000275,9000276,9000277,9000278,9000279,9000280,9000281,9000282,9000283,9000284,9000285,9000286,9000287,9000288,9000289,9000290,9000291,9000292,9000293,9000294,9000295,9000296,9000297,9000298,9000299,9000300,9000301,9000302,9000303,9000304,9000305,9000306,9000307,9000308,9000309,9000310,9000311,9000312,9000313,9000314,9000315,9000316,9000317,9000318,9000319,9000320,9000321,9000322,9000323,9000324,9000325,9000326,9000327,9000328,9000329,9000330,9000331,9000332,9000333,9000334,9000335,9000336,9000337,9000338,9000339,9000340,9000341,9000342,9000343,9000344,9000345,9000346,9000347,9000348,9000349,9000350,9000351,9000352,9000353,9000354,9000355,9000356,9000357,9000358,9000359,9000360,9000361,9000362,9000363,9000364,9000365,9000366,9000367,9000368,9000369,9000370,9000371,9000372,9000373,9000374,9000375,9000376,9000377,9000378,9000379,9000380,9000381,9000382,9000383,9000384,9000385,9000386,9000387,9000388,9000389,9000390,9000391,9000392,9000393,9000394,9000395,9000396,9000397,9000398,9000399,9000400,9000401,9000402,9000403,9000404,9000405,9000406,9000407,9000408,9000409,9000410,9000411,9000412,9000413,9000414,9000415,9000416,9000417,9000418,9000419,9000420,9000421,9000422,9000423,9000424,9000425,9000426,9000427,9000428,9000429,9000430,9000431,9000432,9000433,9000434,9000435,9000436,9000437,9000438,9000439,9000440,9000441,9000442,9000443,9000444,9000445,9000446,9000447,9000448,9000449,9000450,9000451,9000452,9000453,9000454,9000455,9000456,9000457,9000458,9000459,9000460,9000461,9000462,9000463,9000464,9000465,9000466,9000467,9000468,9000469,9000470,9000471,9000472,9000473,9000474,9000475,9000476,9000477,9000478,9000479,9000480,9000481,9000482,9000483,9000484,9000485,9000486,9000487,9000488,9000489,9000490,9000491,9000492,9000493,9000494,9000495,9000496,9000497,9000498,9000499,9000500,9000501,9000502,9000503,9000504,9000505,9000506,9000507,9000508,9000509,9000510,9000511,9000512,9000513,9000514,9000515,9000516,9000517,9000518,9000519,9000520,9000521,9000522,9000523,9000524,9000525,9000526,9000527,9000528,9000529,9000530,9000531,9000532,9000533,9000534,9000535,9000536,9000537,9000538,9000539,9000540,9000541,9000542,9000543,9000544,9000545,9000546,9000547,9000548,9000549,9000550,9000551,9000552,9000553,9000554,9000555,9000556,9000557,9000558,9000559,9000560,9000561,9000562,9000563,9000564,9000565,9000566,9000567,9000568,9000569,9000570,9000571,9000572,9000573,9000574,9000575,9000576,9000577,9000578,9000579,9000580,9000581,9000582,9000583,9000584,9000585,9000586,9000587,9000588,9000589,9000590,9000591,9000592,9000593,9000594,9000595,9000596,9000597,9000598,9000599,9000600,9000601,9000602,9000603,9000604,9000605,9000606,9000607,9000608,9000609,9000610,9000611,9000612,9000613,9000614,9000615,9000616,9000617,9000618,9000619,9000620,9000621,9000622,9000623,9000624,9000625,9000626,9000627,9000628,9000629,9000630,9000631,9000632,9000633,9000634,9000635,9000636,9000637,9000638,9000639,9000640,9000641,9000642,9000643,9000644,9000645,9000646,9000647,9000648,9000649,9000650,9000651,9000652,9000653,9000654,9000655,9000656,9000657,9000658,9000659,9000660,9000661,9000662,9000663,9000664,9000665,9000666,9000667,9000668,9000669,9000670,9000671,9000672,9000673,9000674,9000675,9000676,9000677,9000678,9000679,9000680,9000681,9000682,9000683,9000684,9000685,9000686,9000687,9000688,9000689,9000690,9000691,9000692,9000693,9000694,9000695,9000696,9000697,9000698,9000699,9000700,9000701,9000702,9000703,9000704,9000705,9000706,9000707,9000708,9000709,9000710,9000711,9000712,9000713,9000714,9000715,9000716,9000717,9000718,9000719,9000720,9000721,9000722,9000723,9000724,9000725,9000726,9000727,9000728,9000729,9000730,9000731,9000732,9000733,9000734,9000735,9000736,9000737,9000738,9000739,9000740,9000741,9000742,9000743,9000744,9000745,9000746,9000747,9000748,9000749,9000750,9000751,9000752,9000753,9000754,9000755,9000756,9000757,9000758,9000759,9000760,9000761,9000762,9000763,9000764,9000765,9000766,9000767,9000768,9000769,9000770,9000771,9000772,9000773,9000774,9000775,9000776,9000777,9000778,9000779,9000780,9000781,9000782,9000783,9000784,9000785,9000786,9000787,9000788,9000789,9000790,9000791,9000792,9000793,9000794,9000795,9000796,9000797,9000798,9000799,9000800,9000801,9000802,9000803,9000804,9000805,9000806,9000807,9000808,9000809,9000810,9000811,9000812,9000813,9000814,9000815,9000816,9000817,9000818,9000819,9000820,9000821,9000822,9000823,9000824,9000825,9000826,9000827,9000828,9000829,9000830,9000831,9000832,9000833,9000834,9000835,9000836,9000837,9000838,9000839,9000840,9000841,9000842,9000843,9000844,9000845,9000846,9000847,9000848,9000849,9000850,9000851,9000852,9000853,9000854,9000855,9000856,9000857,9000858,9000859,9000860,9000861,9000862,9000863,9000864,9000865,9000866,9000867,9000868,9000869,9000870,9000871,9000872,9000873,9000874,9000875,9000876,9000877,9000878,9000879,9000880,9000881,9000882,9000883,9000884,9000885,9000886,9000887,9000888,9000889,9000890,9000891,9000892,9000893,9000894,9000895,9000896,9000897,9000898,9000899,9000900,9000901,9000902,9000903,9000904,9000905,9000906,9000907,9000908,9000909,9000910,9000911,9000912,9000913,9000914,9000915,9000916,9000917,9000918,9000919,9000920,9000921,9000922,9000923,9000924,9000925,9000926,9000927,9000928,9000929,9000930,9000931,9000932,9000933,9000934,9000935,9000936,9000937,9000938,9000939,9000940,9000941,9000942,9000943,9000944,9000945,9000946,9000947,9000948,9000949,9000950,9000951,9000952,9000953,9000954,9000955,9000956,9000957,9000958,9000959,9000960,9000961,9000962,9000963,9000964,9000965,9000966,9000967,9000968,9000969,9000970,9000971,9000972,9000973,9000974,9000975,9000976,9000977,9000978,9000979,9000980,9000981,9000982,9000983,9000984,9000985,9000986,9000987,9000988,9000989,9000990,9000991,9000992,9000993,9000994,9000995,9000996,9000997,9000998,9000999,9001000,10000001,10000002,10000003,10000004,10000005,10000006,10000007,10000008,10000009,10000010,10000011,10000012,10000013,10000014,10000015,10000016,10000017,10000018,10000019,10000020,10000021,10000022,10000023,10000024,10000025,10000026,10000027,10000028,10000029,10000030,10000031,10000032,10000033,10000034,10000035,10000036,10000037,10000038,10000039,10000040,10000041,10000042,10000043,10000044,10000045,10000046,10000047,10000048,10000049,10000050,10000051,10000052,10000053,10000054,10000055,10000056,10000057,10000058,10000059,10000060,10000061,10000062,10000063,10000064,10000065,10000066,10000067,10000068,10000069,10000070,10000071,10000072,10000073,10000074,10000075,10000076,10000077,10000078,10000079,10000080,10000081,10000082,10000083,10000084,10000085,10000086,10000087,10000088,10000089,10000090,10000091,10000092,10000093,10000094,10000095,10000096,10000097,10000098,10000099,10000100,10000101,10000102,10000103,10000104,10000105,10000106,10000107,10000108,10000109,10000110,10000111,10000112,10000113,10000114,10000115,10000116,10000117,10000118,10000119,10000120,10000121,10000122,10000123,10000124,10000125,10000126,10000127,10000128,10000129,10000130,10000131,10000132,10000133,10000134,10000135,10000136,10000137,10000138,10000139,10000140,10000141,10000142,10000143,10000144,10000145,10000146,10000147,10000148,10000149,10000150,10000151,10000152,10000153,10000154,10000155,10000156,10000157,10000158,10000159,10000160,10000161,10000162,10000163,10000164,10000165,10000166,10000167,10000168,10000169,10000170,10000171,10000172,10000173,10000174,10000175,10000176,10000177,10000178,10000179,10000180,10000181,10000182,10000183,10000184,10000185,10000186,10000187,10000188,10000189,10000190,10000191,10000192,10000193,10000194,10000195,10000196,10000197,10000198,10000199,10000200,10000201,10000202,10000203,10000204,10000205,10000206,10000207,10000208,10000209,10000210,10000211,10000212,10000213,10000214,10000215,10000216,10000217,10000218,10000219,10000220,10000221,10000222,10000223,10000224,10000225,10000226,10000227,10000228,10000229,10000230,10000231,10000232,10000233,10000234,10000235,10000236,10000237,10000238,10000239,10000240,10000241,10000242,10000243,10000244,10000245,10000246,10000247,10000248,10000249,10000250,10000251,10000252,10000253,10000254,10000255,10000256,10000257,10000258,10000259,10000260,10000261,10000262,10000263,10000264,10000265,10000266,10000267,10000268,10000269,10000270,10000271,10000272,10000273,10000274,10000275,10000276,10000277,10000278,10000279,10000280,10000281,10000282,10000283,10000284,10000285,10000286,10000287,10000288,10000289,10000290,10000291,10000292,10000293,10000294,10000295,10000296,10000297,10000298,10000299,10000300,10000301,10000302,10000303,10000304,10000305,10000306,10000307,10000308,10000309,10000310,10000311,10000312,10000313,10000314,10000315,10000316,10000317,10000318,10000319,10000320,10000321,10000322,10000323,10000324,10000325,10000326,10000327,10000328,10000329,10000330,10000331,10000332,10000333,10000334,10000335,10000336,10000337,10000338,10000339,10000340,10000341,10000342,10000343,10000344,10000345,10000346,10000347,10000348,10000349,10000350,10000351,10000352,10000353,10000354,10000355,10000356,10000357,10000358,10000359,10000360,10000361,10000362,10000363,10000364,10000365,10000366,10000367,10000368,10000369,10000370,10000371,10000372,10000373,10000374,10000375,10000376,10000377,10000378,10000379,10000380,10000381,10000382,10000383,10000384,10000385,10000386,10000387,10000388,10000389,10000390,10000391,10000392,10000393,10000394,10000395,10000396,10000397,10000398,10000399,10000400,10000401,10000402,10000403,10000404,10000405,10000406,10000407,10000408,10000409,10000410,10000411,10000412,10000413,10000414,10000415,10000416,10000417,10000418,10000419,10000420,10000421,10000422,10000423,10000424,10000425,10000426,10000427,10000428,10000429,10000430,10000431,10000432,10000433,10000434,10000435,10000436,10000437,10000438,10000439,10000440,10000441,10000442,10000443,10000444,10000445,10000446,10000447,10000448,10000449,10000450,10000451,10000452,10000453,10000454,10000455,10000456,10000457,10000458,10000459,10000460,10000461,10000462,10000463,10000464,10000465,10000466,10000467,10000468,10000469,10000470,10000471,10000472,10000473,10000474,10000475,10000476,10000477,10000478,10000479,10000480,10000481,10000482,10000483,10000484,10000485,10000486,10000487,10000488,10000489,10000490,10000491,10000492,10000493,10000494,10000495,10000496,10000497,10000498,10000499,10000500,10000501,10000502,10000503,10000504,10000505,10000506,10000507,10000508,10000509,10000510,10000511,10000512,10000513,10000514,10000515,10000516,10000517,10000518,10000519,10000520,10000521,10000522,10000523,10000524,10000525,10000526,10000527,10000528,10000529,10000530,10000531,10000532,10000533,10000534,10000535,10000536,10000537,10000538,10000539,10000540,10000541,10000542,10000543,10000544,10000545,10000546,10000547,10000548,10000549,10000550,10000551,10000552,10000553,10000554,10000555,10000556,10000557,10000558,10000559,10000560,10000561,10000562,10000563,10000564,10000565,10000566,10000567,10000568,10000569,10000570,10000571,10000572,10000573,10000574,10000575,10000576,10000577,10000578,10000579,10000580,10000581,10000582,10000583,10000584,10000585,10000586,10000587,10000588,10000589,10000590,10000591,10000592,10000593,10000594,10000595,10000596,10000597,10000598,10000599,10000600,10000601,10000602,10000603,10000604,10000605,10000606,10000607,10000608,10000609,10000610,10000611,10000612,10000613,10000614,10000615,10000616,10000617,10000618,10000619,10000620,10000621,10000622,10000623,10000624,10000625,10000626,10000627,10000628,10000629,10000630,10000631,10000632,10000633,10000634,10000635,10000636,10000637,10000638,10000639,10000640,10000641,10000642,10000643,10000644,10000645,10000646,10000647,10000648,10000649,10000650,10000651,10000652,10000653,10000654,10000655,10000656,10000657,10000658,10000659,10000660,10000661,10000662,10000663,10000664,10000665,10000666,10000667,10000668,10000669,10000670,10000671,10000672,10000673,10000674,10000675,10000676,10000677,10000678,10000679,10000680,10000681,10000682,10000683,10000684,10000685,10000686,10000687,10000688,10000689,10000690,10000691,10000692,10000693,10000694,10000695,10000696,10000697,10000698,10000699,10000700,10000701,10000702,10000703,10000704,10000705,10000706,10000707,10000708,10000709,10000710,10000711,10000712,10000713,10000714,10000715,10000716,10000717,10000718,10000719,10000720,10000721,10000722,10000723,10000724,10000725,10000726,10000727,10000728,10000729,10000730,10000731,10000732,10000733,10000734,10000735,10000736,10000737,10000738,10000739,10000740,10000741,10000742,10000743,10000744,10000745,10000746,10000747,10000748,10000749,10000750,10000751,10000752,10000753,10000754,10000755,10000756,10000757,10000758,10000759,10000760,10000761,10000762,10000763,10000764,10000765,10000766,10000767,10000768,10000769,10000770,10000771,10000772,10000773,10000774,10000775,10000776,10000777,10000778,10000779,10000780,10000781,10000782,10000783,10000784,10000785,10000786,10000787,10000788,10000789,10000790,10000791,10000792,10000793,10000794,10000795,10000796,10000797,10000798,10000799,10000800,10000801,10000802,10000803,10000804,10000805,10000806,10000807,10000808,10000809,10000810,10000811,10000812,10000813,10000814,10000815,10000816,10000817,10000818,10000819,10000820,10000821,10000822,10000823,10000824,10000825,10000826,10000827,10000828,10000829,10000830,10000831,10000832,10000833,10000834,10000835,10000836,10000837,10000838,10000839,10000840,10000841,10000842,10000843,10000844,10000845,10000846,10000847,10000848,10000849,10000850,10000851,10000852,10000853,10000854,10000855,10000856,10000857,10000858,10000859,10000860,10000861,10000862,10000863,10000864,10000865,10000866,10000867,10000868,10000869,10000870,10000871,10000872,10000873,10000874,10000875,10000876,10000877,10000878,10000879,10000880,10000881,10000882,10000883,10000884,10000885,10000886,10000887,10000888,10000889,10000890,10000891,10000892,10000893,10000894,10000895,10000896,10000897,10000898,10000899,10000900,10000901,10000902,10000903,10000904,10000905,10000906,10000907,10000908,10000909,10000910,10000911,10000912,10000913,10000914,10000915,10000916,10000917,10000918,10000919,10000920,10000921,10000922,10000923,10000924,10000925,10000926,10000927,10000928,10000929,10000930,10000931,10000932,10000933,10000934,10000935,10000936,10000937,10000938,10000939,10000940,10000941,10000942,10000943,10000944,10000945,10000946,10000947,10000948,10000949,10000950,10000951,10000952,10000953,10000954,10000955,10000956,10000957,10000958,10000959,10000960,10000961,10000962,10000963,10000964,10000965,10000966,10000967,10000968,10000969,10000970,10000971,10000972,10000973,10000974,10000975,10000976,10000977,10000978,10000979,10000980,10000981,10000982,10000983,10000984,10000985,10000986,10000987,10000988,10000989,10000990,10000991,10000992,10000993,10000994,10000995,10000996,10000997,10000998,10000999,10001000]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING9_1_join_on_3tbls_withfilter_onpkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1
+
+ - workload: JOING9_2_join_on_3tbls_withfilter_onskey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_1.col_bigint_card2_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1
+
+ - workload: JOING9_3_join_on_3tbls_withfilter_onpkey_subquery
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_2.col_bigint_card1_1 IN (select distinct(col_bigint_card1_1) from pkeyBigint1M_1 where col_bigint_card1_1 in (1000500)) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1
+
+ - workload: JOING9_4_join_on_3tbls_withfilter_onskey_subquery
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_2.col_bigint_card2_1 IN (select distinct(col_bigint_card2_1) from pkeyBigint1M_1 where col_bigint_card1_1 in (1000500)) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1
+
+ - workload: JOING9_5_cascade_join_3tbls_withfilter_onpkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1 JOIN pkeyBigint1M_2 on pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 JOIN pkeyBigint1M_3 on pkeyBigint1M_2.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500)
+
+ - workload: JOING9_6_join_on_pkey_2ndpart_3tbls_withfilter_onskey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1 JOIN pkeyBigint1M_2 on pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 JOIN pkeyBigint1M_3 on pkeyBigint1M_2.col_bigint_card1_1=pkeyBigint1M_3.col_bigint_card1_1 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500)
+
+ - workload: JOING9_7_join_cte_on_3tbls_withfilter_onpkey_subquery
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: With v1 as (select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_2 from pkeyBigint1M_1,pkeyBigint1M_2 where pkeyBigint1M_2.col_bigint_card1_1 IN (select distinct(col_bigint_card1_1) from pkeyBigint1M_1 where col_bigint_card1_1 in (1000500)) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1), v2 as (select pkeyBigint1M_3.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_2 from pkeyBigint1M_1,pkeyBigint1M_3 where pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1) select v1.col_bigint_id_1, v1.col_bigint_id_2, v2.col_bigint_id_1, v2.col_bigint_id_2 from v1 join v2 on v1.col_bigint_id_1=v2.col_bigint_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING10_join_groupby_orderby.yaml b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING10_join_groupby_orderby.yaml
new file mode 100644
index 000000000..d4057883f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING10_join_groupby_orderby.yaml
@@ -0,0 +1,139 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{ username }}
+password: {{ password }}
+isolation: TRANSACTION_REPEATABLE_READ
+batchsize: 128
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M_3;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE TABLE pkeyBigint1M_3(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card2_1);
+ - CREATE INDEX ON pkeyBigint1M_2(col_bigint_card2_1);
+ - CREATE INDEX ON pkeyBigint1M_3(col_bigint_card2_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M_3;
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 3
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000,2000002,2000003,2000004,2000005,2000006,2000007,2000008,2000009,2000010,2000011,2000012,2000013,2000014,2000015,2000016,2000017,2000018,2000019,2000020,2000021,2000022,2000023,2000024,2000025,2000026,2000027,2000028,2000029,2000030,2000031,2000032,2000033,2000034,2000035,2000036,2000037,2000038,2000039,2000040,2000041,2000042,2000043,2000044,2000045,2000046,2000047,2000048,2000049,2000050,2000051,2000052,2000053,2000054,2000055,2000056,2000057,2000058,2000059,2000060,2000061,2000062,2000063,2000064,2000065,2000066,2000067,2000068,2000069,2000070,2000071,2000072,2000073,2000074,2000075,2000076,2000077,2000078,2000079,2000080,2000081,2000082,2000083,2000084,2000085,2000086,2000087,2000088,2000089,2000090,2000091,2000092,2000093,2000094,2000095,2000096,2000097,2000098,2000099,2000100,2000101,2000102,2000103,2000104,2000105,2000106,2000107,2000108,2000109,2000110,2000111,2000112,2000113,2000114,2000115,2000116,2000117,2000118,2000119,2000120,2000121,2000122,2000123,2000124,2000125,2000126,2000127,2000128,2000129,2000130,2000131,2000132,2000133,2000134,2000135,2000136,2000137,2000138,2000139,2000140,2000141,2000142,2000143,2000144,2000145,2000146,2000147,2000148,2000149,2000150,2000151,2000152,2000153,2000154,2000155,2000156,2000157,2000158,2000159,2000160,2000161,2000162,2000163,2000164,2000165,2000166,2000167,2000168,2000169,2000170,2000171,2000172,2000173,2000174,2000175,2000176,2000177,2000178,2000179,2000180,2000181,2000182,2000183,2000184,2000185,2000186,2000187,2000188,2000189,2000190,2000191,2000192,2000193,2000194,2000195,2000196,2000197,2000198,2000199,2000200,2000201,2000202,2000203,2000204,2000205,2000206,2000207,2000208,2000209,2000210,2000211,2000212,2000213,2000214,2000215,2000216,2000217,2000218,2000219,2000220,2000221,2000222,2000223,2000224,2000225,2000226,2000227,2000228,2000229,2000230,2000231,2000232,2000233,2000234,2000235,2000236,2000237,2000238,2000239,2000240,2000241,2000242,2000243,2000244,2000245,2000246,2000247,2000248,2000249,2000250,2000251,2000252,2000253,2000254,2000255,2000256,2000257,2000258,2000259,2000260,2000261,2000262,2000263,2000264,2000265,2000266,2000267,2000268,2000269,2000270,2000271,2000272,2000273,2000274,2000275,2000276,2000277,2000278,2000279,2000280,2000281,2000282,2000283,2000284,2000285,2000286,2000287,2000288,2000289,2000290,2000291,2000292,2000293,2000294,2000295,2000296,2000297,2000298,2000299,2000300,2000301,2000302,2000303,2000304,2000305,2000306,2000307,2000308,2000309,2000310,2000311,2000312,2000313,2000314,2000315,2000316,2000317,2000318,2000319,2000320,2000321,2000322,2000323,2000324,2000325,2000326,2000327,2000328,2000329,2000330,2000331,2000332,2000333,2000334,2000335,2000336,2000337,2000338,2000339,2000340,2000341,2000342,2000343,2000344,2000345,2000346,2000347,2000348,2000349,2000350,2000351,2000352,2000353,2000354,2000355,2000356,2000357,2000358,2000359,2000360,2000361,2000362,2000363,2000364,2000365,2000366,2000367,2000368,2000369,2000370,2000371,2000372,2000373,2000374,2000375,2000376,2000377,2000378,2000379,2000380,2000381,2000382,2000383,2000384,2000385,2000386,2000387,2000388,2000389,2000390,2000391,2000392,2000393,2000394,2000395,2000396,2000397,2000398,2000399,2000400,2000401,2000402,2000403,2000404,2000405,2000406,2000407,2000408,2000409,2000410,2000411,2000412,2000413,2000414,2000415,2000416,2000417,2000418,2000419,2000420,2000421,2000422,2000423,2000424,2000425,2000426,2000427,2000428,2000429,2000430,2000431,2000432,2000433,2000434,2000435,2000436,2000437,2000438,2000439,2000440,2000441,2000442,2000443,2000444,2000445,2000446,2000447,2000448,2000449,2000450,2000451,2000452,2000453,2000454,2000455,2000456,2000457,2000458,2000459,2000460,2000461,2000462,2000463,2000464,2000465,2000466,2000467,2000468,2000469,2000470,2000471,2000472,2000473,2000474,2000475,2000476,2000477,2000478,2000479,2000480,2000481,2000482,2000483,2000484,2000485,2000486,2000487,2000488,2000489,2000490,2000491,2000492,2000493,2000494,2000495,2000496,2000497,2000498,2000499,2000500,2000501,2000502,2000503,2000504,2000505,2000506,2000507,2000508,2000509,2000510,2000511,2000512,2000513,2000514,2000515,2000516,2000517,2000518,2000519,2000520,2000521,2000522,2000523,2000524,2000525,2000526,2000527,2000528,2000529,2000530,2000531,2000532,2000533,2000534,2000535,2000536,2000537,2000538,2000539,2000540,2000541,2000542,2000543,2000544,2000545,2000546,2000547,2000548,2000549,2000550,2000551,2000552,2000553,2000554,2000555,2000556,2000557,2000558,2000559,2000560,2000561,2000562,2000563,2000564,2000565,2000566,2000567,2000568,2000569,2000570,2000571,2000572,2000573,2000574,2000575,2000576,2000577,2000578,2000579,2000580,2000581,2000582,2000583,2000584,2000585,2000586,2000587,2000588,2000589,2000590,2000591,2000592,2000593,2000594,2000595,2000596,2000597,2000598,2000599,2000600,2000601,2000602,2000603,2000604,2000605,2000606,2000607,2000608,2000609,2000610,2000611,2000612,2000613,2000614,2000615,2000616,2000617,2000618,2000619,2000620,2000621,2000622,2000623,2000624,2000625,2000626,2000627,2000628,2000629,2000630,2000631,2000632,2000633,2000634,2000635,2000636,2000637,2000638,2000639,2000640,2000641,2000642,2000643,2000644,2000645,2000646,2000647,2000648,2000649,2000650,2000651,2000652,2000653,2000654,2000655,2000656,2000657,2000658,2000659,2000660,2000661,2000662,2000663,2000664,2000665,2000666,2000667,2000668,2000669,2000670,2000671,2000672,2000673,2000674,2000675,2000676,2000677,2000678,2000679,2000680,2000681,2000682,2000683,2000684,2000685,2000686,2000687,2000688,2000689,2000690,2000691,2000692,2000693,2000694,2000695,2000696,2000697,2000698,2000699,2000700,2000701,2000702,2000703,2000704,2000705,2000706,2000707,2000708,2000709,2000710,2000711,2000712,2000713,2000714,2000715,2000716,2000717,2000718,2000719,2000720,2000721,2000722,2000723,2000724,2000725,2000726,2000727,2000728,2000729,2000730,2000731,2000732,2000733,2000734,2000735,2000736,2000737,2000738,2000739,2000740,2000741,2000742,2000743,2000744,2000745,2000746,2000747,2000748,2000749,2000750,2000751,2000752,2000753,2000754,2000755,2000756,2000757,2000758,2000759,2000760,2000761,2000762,2000763,2000764,2000765,2000766,2000767,2000768,2000769,2000770,2000771,2000772,2000773,2000774,2000775,2000776,2000777,2000778,2000779,2000780,2000781,2000782,2000783,2000784,2000785,2000786,2000787,2000788,2000789,2000790,2000791,2000792,2000793,2000794,2000795,2000796,2000797,2000798,2000799,2000800,2000801,2000802,2000803,2000804,2000805,2000806,2000807,2000808,2000809,2000810,2000811,2000812,2000813,2000814,2000815,2000816,2000817,2000818,2000819,2000820,2000821,2000822,2000823,2000824,2000825,2000826,2000827,2000828,2000829,2000830,2000831,2000832,2000833,2000834,2000835,2000836,2000837,2000838,2000839,2000840,2000841,2000842,2000843,2000844,2000845,2000846,2000847,2000848,2000849,2000850,2000851,2000852,2000853,2000854,2000855,2000856,2000857,2000858,2000859,2000860,2000861,2000862,2000863,2000864,2000865,2000866,2000867,2000868,2000869,2000870,2000871,2000872,2000873,2000874,2000875,2000876,2000877,2000878,2000879,2000880,2000881,2000882,2000883,2000884,2000885,2000886,2000887,2000888,2000889,2000890,2000891,2000892,2000893,2000894,2000895,2000896,2000897,2000898,2000899,2000900,2000901,2000902,2000903,2000904,2000905,2000906,2000907,2000908,2000909,2000910,2000911,2000912,2000913,2000914,2000915,2000916,2000917,2000918,2000919,2000920,2000921,2000922,2000923,2000924,2000925,2000926,2000927,2000928,2000929,2000930,2000931,2000932,2000933,2000934,2000935,2000936,2000937,2000938,2000939,2000940,2000941,2000942,2000943,2000944,2000945,2000946,2000947,2000948,2000949,2000950,2000951,2000952,2000953,2000954,2000955,2000956,2000957,2000958,2000959,2000960,2000961,2000962,2000963,2000964,2000965,2000966,2000967,2000968,2000969,2000970,2000971,2000972,2000973,2000974,2000975,2000976,2000977,2000978,2000979,2000980,2000981,2000982,2000983,2000984,2000985,2000986,2000987,2000988,2000989,2000990,2000991,2000992,2000993,2000994,2000995,2000996,2000997,2000998,2000999,2001000,3000001,3000002,3000003,3000004,3000005,3000006,3000007,3000008,3000009,3000010,3000011,3000012,3000013,3000014,3000015,3000016,3000017,3000018,3000019,3000020,3000021,3000022,3000023,3000024,3000025,3000026,3000027,3000028,3000029,3000030,3000031,3000032,3000033,3000034,3000035,3000036,3000037,3000038,3000039,3000040,3000041,3000042,3000043,3000044,3000045,3000046,3000047,3000048,3000049,3000050,3000051,3000052,3000053,3000054,3000055,3000056,3000057,3000058,3000059,3000060,3000061,3000062,3000063,3000064,3000065,3000066,3000067,3000068,3000069,3000070,3000071,3000072,3000073,3000074,3000075,3000076,3000077,3000078,3000079,3000080,3000081,3000082,3000083,3000084,3000085,3000086,3000087,3000088,3000089,3000090,3000091,3000092,3000093,3000094,3000095,3000096,3000097,3000098,3000099,3000100,3000101,3000102,3000103,3000104,3000105,3000106,3000107,3000108,3000109,3000110,3000111,3000112,3000113,3000114,3000115,3000116,3000117,3000118,3000119,3000120,3000121,3000122,3000123,3000124,3000125,3000126,3000127,3000128,3000129,3000130,3000131,3000132,3000133,3000134,3000135,3000136,3000137,3000138,3000139,3000140,3000141,3000142,3000143,3000144,3000145,3000146,3000147,3000148,3000149,3000150,3000151,3000152,3000153,3000154,3000155,3000156,3000157,3000158,3000159,3000160,3000161,3000162,3000163,3000164,3000165,3000166,3000167,3000168,3000169,3000170,3000171,3000172,3000173,3000174,3000175,3000176,3000177,3000178,3000179,3000180,3000181,3000182,3000183,3000184,3000185,3000186,3000187,3000188,3000189,3000190,3000191,3000192,3000193,3000194,3000195,3000196,3000197,3000198,3000199,3000200,3000201,3000202,3000203,3000204,3000205,3000206,3000207,3000208,3000209,3000210,3000211,3000212,3000213,3000214,3000215,3000216,3000217,3000218,3000219,3000220,3000221,3000222,3000223,3000224,3000225,3000226,3000227,3000228,3000229,3000230,3000231,3000232,3000233,3000234,3000235,3000236,3000237,3000238,3000239,3000240,3000241,3000242,3000243,3000244,3000245,3000246,3000247,3000248,3000249,3000250,3000251,3000252,3000253,3000254,3000255,3000256,3000257,3000258,3000259,3000260,3000261,3000262,3000263,3000264,3000265,3000266,3000267,3000268,3000269,3000270,3000271,3000272,3000273,3000274,3000275,3000276,3000277,3000278,3000279,3000280,3000281,3000282,3000283,3000284,3000285,3000286,3000287,3000288,3000289,3000290,3000291,3000292,3000293,3000294,3000295,3000296,3000297,3000298,3000299,3000300,3000301,3000302,3000303,3000304,3000305,3000306,3000307,3000308,3000309,3000310,3000311,3000312,3000313,3000314,3000315,3000316,3000317,3000318,3000319,3000320,3000321,3000322,3000323,3000324,3000325,3000326,3000327,3000328,3000329,3000330,3000331,3000332,3000333,3000334,3000335,3000336,3000337,3000338,3000339,3000340,3000341,3000342,3000343,3000344,3000345,3000346,3000347,3000348,3000349,3000350,3000351,3000352,3000353,3000354,3000355,3000356,3000357,3000358,3000359,3000360,3000361,3000362,3000363,3000364,3000365,3000366,3000367,3000368,3000369,3000370,3000371,3000372,3000373,3000374,3000375,3000376,3000377,3000378,3000379,3000380,3000381,3000382,3000383,3000384,3000385,3000386,3000387,3000388,3000389,3000390,3000391,3000392,3000393,3000394,3000395,3000396,3000397,3000398,3000399,3000400,3000401,3000402,3000403,3000404,3000405,3000406,3000407,3000408,3000409,3000410,3000411,3000412,3000413,3000414,3000415,3000416,3000417,3000418,3000419,3000420,3000421,3000422,3000423,3000424,3000425,3000426,3000427,3000428,3000429,3000430,3000431,3000432,3000433,3000434,3000435,3000436,3000437,3000438,3000439,3000440,3000441,3000442,3000443,3000444,3000445,3000446,3000447,3000448,3000449,3000450,3000451,3000452,3000453,3000454,3000455,3000456,3000457,3000458,3000459,3000460,3000461,3000462,3000463,3000464,3000465,3000466,3000467,3000468,3000469,3000470,3000471,3000472,3000473,3000474,3000475,3000476,3000477,3000478,3000479,3000480,3000481,3000482,3000483,3000484,3000485,3000486,3000487,3000488,3000489,3000490,3000491,3000492,3000493,3000494,3000495,3000496,3000497,3000498,3000499,3000500,3000501,3000502,3000503,3000504,3000505,3000506,3000507,3000508,3000509,3000510,3000511,3000512,3000513,3000514,3000515,3000516,3000517,3000518,3000519,3000520,3000521,3000522,3000523,3000524,3000525,3000526,3000527,3000528,3000529,3000530,3000531,3000532,3000533,3000534,3000535,3000536,3000537,3000538,3000539,3000540,3000541,3000542,3000543,3000544,3000545,3000546,3000547,3000548,3000549,3000550,3000551,3000552,3000553,3000554,3000555,3000556,3000557,3000558,3000559,3000560,3000561,3000562,3000563,3000564,3000565,3000566,3000567,3000568,3000569,3000570,3000571,3000572,3000573,3000574,3000575,3000576,3000577,3000578,3000579,3000580,3000581,3000582,3000583,3000584,3000585,3000586,3000587,3000588,3000589,3000590,3000591,3000592,3000593,3000594,3000595,3000596,3000597,3000598,3000599,3000600,3000601,3000602,3000603,3000604,3000605,3000606,3000607,3000608,3000609,3000610,3000611,3000612,3000613,3000614,3000615,3000616,3000617,3000618,3000619,3000620,3000621,3000622,3000623,3000624,3000625,3000626,3000627,3000628,3000629,3000630,3000631,3000632,3000633,3000634,3000635,3000636,3000637,3000638,3000639,3000640,3000641,3000642,3000643,3000644,3000645,3000646,3000647,3000648,3000649,3000650,3000651,3000652,3000653,3000654,3000655,3000656,3000657,3000658,3000659,3000660,3000661,3000662,3000663,3000664,3000665,3000666,3000667,3000668,3000669,3000670,3000671,3000672,3000673,3000674,3000675,3000676,3000677,3000678,3000679,3000680,3000681,3000682,3000683,3000684,3000685,3000686,3000687,3000688,3000689,3000690,3000691,3000692,3000693,3000694,3000695,3000696,3000697,3000698,3000699,3000700,3000701,3000702,3000703,3000704,3000705,3000706,3000707,3000708,3000709,3000710,3000711,3000712,3000713,3000714,3000715,3000716,3000717,3000718,3000719,3000720,3000721,3000722,3000723,3000724,3000725,3000726,3000727,3000728,3000729,3000730,3000731,3000732,3000733,3000734,3000735,3000736,3000737,3000738,3000739,3000740,3000741,3000742,3000743,3000744,3000745,3000746,3000747,3000748,3000749,3000750,3000751,3000752,3000753,3000754,3000755,3000756,3000757,3000758,3000759,3000760,3000761,3000762,3000763,3000764,3000765,3000766,3000767,3000768,3000769,3000770,3000771,3000772,3000773,3000774,3000775,3000776,3000777,3000778,3000779,3000780,3000781,3000782,3000783,3000784,3000785,3000786,3000787,3000788,3000789,3000790,3000791,3000792,3000793,3000794,3000795,3000796,3000797,3000798,3000799,3000800,3000801,3000802,3000803,3000804,3000805,3000806,3000807,3000808,3000809,3000810,3000811,3000812,3000813,3000814,3000815,3000816,3000817,3000818,3000819,3000820,3000821,3000822,3000823,3000824,3000825,3000826,3000827,3000828,3000829,3000830,3000831,3000832,3000833,3000834,3000835,3000836,3000837,3000838,3000839,3000840,3000841,3000842,3000843,3000844,3000845,3000846,3000847,3000848,3000849,3000850,3000851,3000852,3000853,3000854,3000855,3000856,3000857,3000858,3000859,3000860,3000861,3000862,3000863,3000864,3000865,3000866,3000867,3000868,3000869,3000870,3000871,3000872,3000873,3000874,3000875,3000876,3000877,3000878,3000879,3000880,3000881,3000882,3000883,3000884,3000885,3000886,3000887,3000888,3000889,3000890,3000891,3000892,3000893,3000894,3000895,3000896,3000897,3000898,3000899,3000900,3000901,3000902,3000903,3000904,3000905,3000906,3000907,3000908,3000909,3000910,3000911,3000912,3000913,3000914,3000915,3000916,3000917,3000918,3000919,3000920,3000921,3000922,3000923,3000924,3000925,3000926,3000927,3000928,3000929,3000930,3000931,3000932,3000933,3000934,3000935,3000936,3000937,3000938,3000939,3000940,3000941,3000942,3000943,3000944,3000945,3000946,3000947,3000948,3000949,3000950,3000951,3000952,3000953,3000954,3000955,3000956,3000957,3000958,3000959,3000960,3000961,3000962,3000963,3000964,3000965,3000966,3000967,3000968,3000969,3000970,3000971,3000972,3000973,3000974,3000975,3000976,3000977,3000978,3000979,3000980,3000981,3000982,3000983,3000984,3000985,3000986,3000987,3000988,3000989,3000990,3000991,3000992,3000993,3000994,3000995,3000996,3000997,3000998,3000999,3001000,4000001,4000002,4000003,4000004,4000005,4000006,4000007,4000008,4000009,4000010,4000011,4000012,4000013,4000014,4000015,4000016,4000017,4000018,4000019,4000020,4000021,4000022,4000023,4000024,4000025,4000026,4000027,4000028,4000029,4000030,4000031,4000032,4000033,4000034,4000035,4000036,4000037,4000038,4000039,4000040,4000041,4000042,4000043,4000044,4000045,4000046,4000047,4000048,4000049,4000050,4000051,4000052,4000053,4000054,4000055,4000056,4000057,4000058,4000059,4000060,4000061,4000062,4000063,4000064,4000065,4000066,4000067,4000068,4000069,4000070,4000071,4000072,4000073,4000074,4000075,4000076,4000077,4000078,4000079,4000080,4000081,4000082,4000083,4000084,4000085,4000086,4000087,4000088,4000089,4000090,4000091,4000092,4000093,4000094,4000095,4000096,4000097,4000098,4000099,4000100,4000101,4000102,4000103,4000104,4000105,4000106,4000107,4000108,4000109,4000110,4000111,4000112,4000113,4000114,4000115,4000116,4000117,4000118,4000119,4000120,4000121,4000122,4000123,4000124,4000125,4000126,4000127,4000128,4000129,4000130,4000131,4000132,4000133,4000134,4000135,4000136,4000137,4000138,4000139,4000140,4000141,4000142,4000143,4000144,4000145,4000146,4000147,4000148,4000149,4000150,4000151,4000152,4000153,4000154,4000155,4000156,4000157,4000158,4000159,4000160,4000161,4000162,4000163,4000164,4000165,4000166,4000167,4000168,4000169,4000170,4000171,4000172,4000173,4000174,4000175,4000176,4000177,4000178,4000179,4000180,4000181,4000182,4000183,4000184,4000185,4000186,4000187,4000188,4000189,4000190,4000191,4000192,4000193,4000194,4000195,4000196,4000197,4000198,4000199,4000200,4000201,4000202,4000203,4000204,4000205,4000206,4000207,4000208,4000209,4000210,4000211,4000212,4000213,4000214,4000215,4000216,4000217,4000218,4000219,4000220,4000221,4000222,4000223,4000224,4000225,4000226,4000227,4000228,4000229,4000230,4000231,4000232,4000233,4000234,4000235,4000236,4000237,4000238,4000239,4000240,4000241,4000242,4000243,4000244,4000245,4000246,4000247,4000248,4000249,4000250,4000251,4000252,4000253,4000254,4000255,4000256,4000257,4000258,4000259,4000260,4000261,4000262,4000263,4000264,4000265,4000266,4000267,4000268,4000269,4000270,4000271,4000272,4000273,4000274,4000275,4000276,4000277,4000278,4000279,4000280,4000281,4000282,4000283,4000284,4000285,4000286,4000287,4000288,4000289,4000290,4000291,4000292,4000293,4000294,4000295,4000296,4000297,4000298,4000299,4000300,4000301,4000302,4000303,4000304,4000305,4000306,4000307,4000308,4000309,4000310,4000311,4000312,4000313,4000314,4000315,4000316,4000317,4000318,4000319,4000320,4000321,4000322,4000323,4000324,4000325,4000326,4000327,4000328,4000329,4000330,4000331,4000332,4000333,4000334,4000335,4000336,4000337,4000338,4000339,4000340,4000341,4000342,4000343,4000344,4000345,4000346,4000347,4000348,4000349,4000350,4000351,4000352,4000353,4000354,4000355,4000356,4000357,4000358,4000359,4000360,4000361,4000362,4000363,4000364,4000365,4000366,4000367,4000368,4000369,4000370,4000371,4000372,4000373,4000374,4000375,4000376,4000377,4000378,4000379,4000380,4000381,4000382,4000383,4000384,4000385,4000386,4000387,4000388,4000389,4000390,4000391,4000392,4000393,4000394,4000395,4000396,4000397,4000398,4000399,4000400,4000401,4000402,4000403,4000404,4000405,4000406,4000407,4000408,4000409,4000410,4000411,4000412,4000413,4000414,4000415,4000416,4000417,4000418,4000419,4000420,4000421,4000422,4000423,4000424,4000425,4000426,4000427,4000428,4000429,4000430,4000431,4000432,4000433,4000434,4000435,4000436,4000437,4000438,4000439,4000440,4000441,4000442,4000443,4000444,4000445,4000446,4000447,4000448,4000449,4000450,4000451,4000452,4000453,4000454,4000455,4000456,4000457,4000458,4000459,4000460,4000461,4000462,4000463,4000464,4000465,4000466,4000467,4000468,4000469,4000470,4000471,4000472,4000473,4000474,4000475,4000476,4000477,4000478,4000479,4000480,4000481,4000482,4000483,4000484,4000485,4000486,4000487,4000488,4000489,4000490,4000491,4000492,4000493,4000494,4000495,4000496,4000497,4000498,4000499,4000500,4000501,4000502,4000503,4000504,4000505,4000506,4000507,4000508,4000509,4000510,4000511,4000512,4000513,4000514,4000515,4000516,4000517,4000518,4000519,4000520,4000521,4000522,4000523,4000524,4000525,4000526,4000527,4000528,4000529,4000530,4000531,4000532,4000533,4000534,4000535,4000536,4000537,4000538,4000539,4000540,4000541,4000542,4000543,4000544,4000545,4000546,4000547,4000548,4000549,4000550,4000551,4000552,4000553,4000554,4000555,4000556,4000557,4000558,4000559,4000560,4000561,4000562,4000563,4000564,4000565,4000566,4000567,4000568,4000569,4000570,4000571,4000572,4000573,4000574,4000575,4000576,4000577,4000578,4000579,4000580,4000581,4000582,4000583,4000584,4000585,4000586,4000587,4000588,4000589,4000590,4000591,4000592,4000593,4000594,4000595,4000596,4000597,4000598,4000599,4000600,4000601,4000602,4000603,4000604,4000605,4000606,4000607,4000608,4000609,4000610,4000611,4000612,4000613,4000614,4000615,4000616,4000617,4000618,4000619,4000620,4000621,4000622,4000623,4000624,4000625,4000626,4000627,4000628,4000629,4000630,4000631,4000632,4000633,4000634,4000635,4000636,4000637,4000638,4000639,4000640,4000641,4000642,4000643,4000644,4000645,4000646,4000647,4000648,4000649,4000650,4000651,4000652,4000653,4000654,4000655,4000656,4000657,4000658,4000659,4000660,4000661,4000662,4000663,4000664,4000665,4000666,4000667,4000668,4000669,4000670,4000671,4000672,4000673,4000674,4000675,4000676,4000677,4000678,4000679,4000680,4000681,4000682,4000683,4000684,4000685,4000686,4000687,4000688,4000689,4000690,4000691,4000692,4000693,4000694,4000695,4000696,4000697,4000698,4000699,4000700,4000701,4000702,4000703,4000704,4000705,4000706,4000707,4000708,4000709,4000710,4000711,4000712,4000713,4000714,4000715,4000716,4000717,4000718,4000719,4000720,4000721,4000722,4000723,4000724,4000725,4000726,4000727,4000728,4000729,4000730,4000731,4000732,4000733,4000734,4000735,4000736,4000737,4000738,4000739,4000740,4000741,4000742,4000743,4000744,4000745,4000746,4000747,4000748,4000749,4000750,4000751,4000752,4000753,4000754,4000755,4000756,4000757,4000758,4000759,4000760,4000761,4000762,4000763,4000764,4000765,4000766,4000767,4000768,4000769,4000770,4000771,4000772,4000773,4000774,4000775,4000776,4000777,4000778,4000779,4000780,4000781,4000782,4000783,4000784,4000785,4000786,4000787,4000788,4000789,4000790,4000791,4000792,4000793,4000794,4000795,4000796,4000797,4000798,4000799,4000800,4000801,4000802,4000803,4000804,4000805,4000806,4000807,4000808,4000809,4000810,4000811,4000812,4000813,4000814,4000815,4000816,4000817,4000818,4000819,4000820,4000821,4000822,4000823,4000824,4000825,4000826,4000827,4000828,4000829,4000830,4000831,4000832,4000833,4000834,4000835,4000836,4000837,4000838,4000839,4000840,4000841,4000842,4000843,4000844,4000845,4000846,4000847,4000848,4000849,4000850,4000851,4000852,4000853,4000854,4000855,4000856,4000857,4000858,4000859,4000860,4000861,4000862,4000863,4000864,4000865,4000866,4000867,4000868,4000869,4000870,4000871,4000872,4000873,4000874,4000875,4000876,4000877,4000878,4000879,4000880,4000881,4000882,4000883,4000884,4000885,4000886,4000887,4000888,4000889,4000890,4000891,4000892,4000893,4000894,4000895,4000896,4000897,4000898,4000899,4000900,4000901,4000902,4000903,4000904,4000905,4000906,4000907,4000908,4000909,4000910,4000911,4000912,4000913,4000914,4000915,4000916,4000917,4000918,4000919,4000920,4000921,4000922,4000923,4000924,4000925,4000926,4000927,4000928,4000929,4000930,4000931,4000932,4000933,4000934,4000935,4000936,4000937,4000938,4000939,4000940,4000941,4000942,4000943,4000944,4000945,4000946,4000947,4000948,4000949,4000950,4000951,4000952,4000953,4000954,4000955,4000956,4000957,4000958,4000959,4000960,4000961,4000962,4000963,4000964,4000965,4000966,4000967,4000968,4000969,4000970,4000971,4000972,4000973,4000974,4000975,4000976,4000977,4000978,4000979,4000980,4000981,4000982,4000983,4000984,4000985,4000986,4000987,4000988,4000989,4000990,4000991,4000992,4000993,4000994,4000995,4000996,4000997,4000998,4000999,4001000,5000002,5000003,5000004,5000005,5000006,5000007,5000008,5000009,5000010,5000011,5000012,5000013,5000014,5000015,5000016,5000017,5000018,5000019,5000020,5000021,5000022,5000023,5000024,5000025,5000026,5000027,5000028,5000029,5000030,5000031,5000032,5000033,5000034,5000035,5000036,5000037,5000038,5000039,5000040,5000041,5000042,5000043,5000044,5000045,5000046,5000047,5000048,5000049,5000050,5000051,5000052,5000053,5000054,5000055,5000056,5000057,5000058,5000059,5000060,5000061,5000062,5000063,5000064,5000065,5000066,5000067,5000068,5000069,5000070,5000071,5000072,5000073,5000074,5000075,5000076,5000077,5000078,5000079,5000080,5000081,5000082,5000083,5000084,5000085,5000086,5000087,5000088,5000089,5000090,5000091,5000092,5000093,5000094,5000095,5000096,5000097,5000098,5000099,5000100,5000101,5000102,5000103,5000104,5000105,5000106,5000107,5000108,5000109,5000110,5000111,5000112,5000113,5000114,5000115,5000116,5000117,5000118,5000119,5000120,5000121,5000122,5000123,5000124,5000125,5000126,5000127,5000128,5000129,5000130,5000131,5000132,5000133,5000134,5000135,5000136,5000137,5000138,5000139,5000140,5000141,5000142,5000143,5000144,5000145,5000146,5000147,5000148,5000149,5000150,5000151,5000152,5000153,5000154,5000155,5000156,5000157,5000158,5000159,5000160,5000161,5000162,5000163,5000164,5000165,5000166,5000167,5000168,5000169,5000170,5000171,5000172,5000173,5000174,5000175,5000176,5000177,5000178,5000179,5000180,5000181,5000182,5000183,5000184,5000185,5000186,5000187,5000188,5000189,5000190,5000191,5000192,5000193,5000194,5000195,5000196,5000197,5000198,5000199,5000200,5000201,5000202,5000203,5000204,5000205,5000206,5000207,5000208,5000209,5000210,5000211,5000212,5000213,5000214,5000215,5000216,5000217,5000218,5000219,5000220,5000221,5000222,5000223,5000224,5000225,5000226,5000227,5000228,5000229,5000230,5000231,5000232,5000233,5000234,5000235,5000236,5000237,5000238,5000239,5000240,5000241,5000242,5000243,5000244,5000245,5000246,5000247,5000248,5000249,5000250,5000251,5000252,5000253,5000254,5000255,5000256,5000257,5000258,5000259,5000260,5000261,5000262,5000263,5000264,5000265,5000266,5000267,5000268,5000269,5000270,5000271,5000272,5000273,5000274,5000275,5000276,5000277,5000278,5000279,5000280,5000281,5000282,5000283,5000284,5000285,5000286,5000287,5000288,5000289,5000290,5000291,5000292,5000293,5000294,5000295,5000296,5000297,5000298,5000299,5000300,5000301,5000302,5000303,5000304,5000305,5000306,5000307,5000308,5000309,5000310,5000311,5000312,5000313,5000314,5000315,5000316,5000317,5000318,5000319,5000320,5000321,5000322,5000323,5000324,5000325,5000326,5000327,5000328,5000329,5000330,5000331,5000332,5000333,5000334,5000335,5000336,5000337,5000338,5000339,5000340,5000341,5000342,5000343,5000344,5000345,5000346,5000347,5000348,5000349,5000350,5000351,5000352,5000353,5000354,5000355,5000356,5000357,5000358,5000359,5000360,5000361,5000362,5000363,5000364,5000365,5000366,5000367,5000368,5000369,5000370,5000371,5000372,5000373,5000374,5000375,5000376,5000377,5000378,5000379,5000380,5000381,5000382,5000383,5000384,5000385,5000386,5000387,5000388,5000389,5000390,5000391,5000392,5000393,5000394,5000395,5000396,5000397,5000398,5000399,5000400,5000401,5000402,5000403,5000404,5000405,5000406,5000407,5000408,5000409,5000410,5000411,5000412,5000413,5000414,5000415,5000416,5000417,5000418,5000419,5000420,5000421,5000422,5000423,5000424,5000425,5000426,5000427,5000428,5000429,5000430,5000431,5000432,5000433,5000434,5000435,5000436,5000437,5000438,5000439,5000440,5000441,5000442,5000443,5000444,5000445,5000446,5000447,5000448,5000449,5000450,5000451,5000452,5000453,5000454,5000455,5000456,5000457,5000458,5000459,5000460,5000461,5000462,5000463,5000464,5000465,5000466,5000467,5000468,5000469,5000470,5000471,5000472,5000473,5000474,5000475,5000476,5000477,5000478,5000479,5000480,5000481,5000482,5000483,5000484,5000485,5000486,5000487,5000488,5000489,5000490,5000491,5000492,5000493,5000494,5000495,5000496,5000497,5000498,5000499,5000500,5000501,5000502,5000503,5000504,5000505,5000506,5000507,5000508,5000509,5000510,5000511,5000512,5000513,5000514,5000515,5000516,5000517,5000518,5000519,5000520,5000521,5000522,5000523,5000524,5000525,5000526,5000527,5000528,5000529,5000530,5000531,5000532,5000533,5000534,5000535,5000536,5000537,5000538,5000539,5000540,5000541,5000542,5000543,5000544,5000545,5000546,5000547,5000548,5000549,5000550,5000551,5000552,5000553,5000554,5000555,5000556,5000557,5000558,5000559,5000560,5000561,5000562,5000563,5000564,5000565,5000566,5000567,5000568,5000569,5000570,5000571,5000572,5000573,5000574,5000575,5000576,5000577,5000578,5000579,5000580,5000581,5000582,5000583,5000584,5000585,5000586,5000587,5000588,5000589,5000590,5000591,5000592,5000593,5000594,5000595,5000596,5000597,5000598,5000599,5000600,5000601,5000602,5000603,5000604,5000605,5000606,5000607,5000608,5000609,5000610,5000611,5000612,5000613,5000614,5000615,5000616,5000617,5000618,5000619,5000620,5000621,5000622,5000623,5000624,5000625,5000626,5000627,5000628,5000629,5000630,5000631,5000632,5000633,5000634,5000635,5000636,5000637,5000638,5000639,5000640,5000641,5000642,5000643,5000644,5000645,5000646,5000647,5000648,5000649,5000650,5000651,5000652,5000653,5000654,5000655,5000656,5000657,5000658,5000659,5000660,5000661,5000662,5000663,5000664,5000665,5000666,5000667,5000668,5000669,5000670,5000671,5000672,5000673,5000674,5000675,5000676,5000677,5000678,5000679,5000680,5000681,5000682,5000683,5000684,5000685,5000686,5000687,5000688,5000689,5000690,5000691,5000692,5000693,5000694,5000695,5000696,5000697,5000698,5000699,5000700,5000701,5000702,5000703,5000704,5000705,5000706,5000707,5000708,5000709,5000710,5000711,5000712,5000713,5000714,5000715,5000716,5000717,5000718,5000719,5000720,5000721,5000722,5000723,5000724,5000725,5000726,5000727,5000728,5000729,5000730,5000731,5000732,5000733,5000734,5000735,5000736,5000737,5000738,5000739,5000740,5000741,5000742,5000743,5000744,5000745,5000746,5000747,5000748,5000749,5000750,5000751,5000752,5000753,5000754,5000755,5000756,5000757,5000758,5000759,5000760,5000761,5000762,5000763,5000764,5000765,5000766,5000767,5000768,5000769,5000770,5000771,5000772,5000773,5000774,5000775,5000776,5000777,5000778,5000779,5000780,5000781,5000782,5000783,5000784,5000785,5000786,5000787,5000788,5000789,5000790,5000791,5000792,5000793,5000794,5000795,5000796,5000797,5000798,5000799,5000800,5000801,5000802,5000803,5000804,5000805,5000806,5000807,5000808,5000809,5000810,5000811,5000812,5000813,5000814,5000815,5000816,5000817,5000818,5000819,5000820,5000821,5000822,5000823,5000824,5000825,5000826,5000827,5000828,5000829,5000830,5000831,5000832,5000833,5000834,5000835,5000836,5000837,5000838,5000839,5000840,5000841,5000842,5000843,5000844,5000845,5000846,5000847,5000848,5000849,5000850,5000851,5000852,5000853,5000854,5000855,5000856,5000857,5000858,5000859,5000860,5000861,5000862,5000863,5000864,5000865,5000866,5000867,5000868,5000869,5000870,5000871,5000872,5000873,5000874,5000875,5000876,5000877,5000878,5000879,5000880,5000881,5000882,5000883,5000884,5000885,5000886,5000887,5000888,5000889,5000890,5000891,5000892,5000893,5000894,5000895,5000896,5000897,5000898,5000899,5000900,5000901,5000902,5000903,5000904,5000905,5000906,5000907,5000908,5000909,5000910,5000911,5000912,5000913,5000914,5000915,5000916,5000917,5000918,5000919,5000920,5000921,5000922,5000923,5000924,5000925,5000926,5000927,5000928,5000929,5000930,5000931,5000932,5000933,5000934,5000935,5000936,5000937,5000938,5000939,5000940,5000941,5000942,5000943,5000944,5000945,5000946,5000947,5000948,5000949,5000950,5000951,5000952,5000953,5000954,5000955,5000956,5000957,5000958,5000959,5000960,5000961,5000962,5000963,5000964,5000965,5000966,5000967,5000968,5000969,5000970,5000971,5000972,5000973,5000974,5000975,5000976,5000977,5000978,5000979,5000980,5000981,5000982,5000983,5000984,5000985,5000986,5000987,5000988,5000989,5000990,5000991,5000992,5000993,5000994,5000995,5000996,5000997,5000998,5000999,5001000,6000001,6000002,6000003,6000004,6000005,6000006,6000007,6000008,6000009,6000010,6000011,6000012,6000013,6000014,6000015,6000016,6000017,6000018,6000019,6000020,6000021,6000022,6000023,6000024,6000025,6000026,6000027,6000028,6000029,6000030,6000031,6000032,6000033,6000034,6000035,6000036,6000037,6000038,6000039,6000040,6000041,6000042,6000043,6000044,6000045,6000046,6000047,6000048,6000049,6000050,6000051,6000052,6000053,6000054,6000055,6000056,6000057,6000058,6000059,6000060,6000061,6000062,6000063,6000064,6000065,6000066,6000067,6000068,6000069,6000070,6000071,6000072,6000073,6000074,6000075,6000076,6000077,6000078,6000079,6000080,6000081,6000082,6000083,6000084,6000085,6000086,6000087,6000088,6000089,6000090,6000091,6000092,6000093,6000094,6000095,6000096,6000097,6000098,6000099,6000100,6000101,6000102,6000103,6000104,6000105,6000106,6000107,6000108,6000109,6000110,6000111,6000112,6000113,6000114,6000115,6000116,6000117,6000118,6000119,6000120,6000121,6000122,6000123,6000124,6000125,6000126,6000127,6000128,6000129,6000130,6000131,6000132,6000133,6000134,6000135,6000136,6000137,6000138,6000139,6000140,6000141,6000142,6000143,6000144,6000145,6000146,6000147,6000148,6000149,6000150,6000151,6000152,6000153,6000154,6000155,6000156,6000157,6000158,6000159,6000160,6000161,6000162,6000163,6000164,6000165,6000166,6000167,6000168,6000169,6000170,6000171,6000172,6000173,6000174,6000175,6000176,6000177,6000178,6000179,6000180,6000181,6000182,6000183,6000184,6000185,6000186,6000187,6000188,6000189,6000190,6000191,6000192,6000193,6000194,6000195,6000196,6000197,6000198,6000199,6000200,6000201,6000202,6000203,6000204,6000205,6000206,6000207,6000208,6000209,6000210,6000211,6000212,6000213,6000214,6000215,6000216,6000217,6000218,6000219,6000220,6000221,6000222,6000223,6000224,6000225,6000226,6000227,6000228,6000229,6000230,6000231,6000232,6000233,6000234,6000235,6000236,6000237,6000238,6000239,6000240,6000241,6000242,6000243,6000244,6000245,6000246,6000247,6000248,6000249,6000250,6000251,6000252,6000253,6000254,6000255,6000256,6000257,6000258,6000259,6000260,6000261,6000262,6000263,6000264,6000265,6000266,6000267,6000268,6000269,6000270,6000271,6000272,6000273,6000274,6000275,6000276,6000277,6000278,6000279,6000280,6000281,6000282,6000283,6000284,6000285,6000286,6000287,6000288,6000289,6000290,6000291,6000292,6000293,6000294,6000295,6000296,6000297,6000298,6000299,6000300,6000301,6000302,6000303,6000304,6000305,6000306,6000307,6000308,6000309,6000310,6000311,6000312,6000313,6000314,6000315,6000316,6000317,6000318,6000319,6000320,6000321,6000322,6000323,6000324,6000325,6000326,6000327,6000328,6000329,6000330,6000331,6000332,6000333,6000334,6000335,6000336,6000337,6000338,6000339,6000340,6000341,6000342,6000343,6000344,6000345,6000346,6000347,6000348,6000349,6000350,6000351,6000352,6000353,6000354,6000355,6000356,6000357,6000358,6000359,6000360,6000361,6000362,6000363,6000364,6000365,6000366,6000367,6000368,6000369,6000370,6000371,6000372,6000373,6000374,6000375,6000376,6000377,6000378,6000379,6000380,6000381,6000382,6000383,6000384,6000385,6000386,6000387,6000388,6000389,6000390,6000391,6000392,6000393,6000394,6000395,6000396,6000397,6000398,6000399,6000400,6000401,6000402,6000403,6000404,6000405,6000406,6000407,6000408,6000409,6000410,6000411,6000412,6000413,6000414,6000415,6000416,6000417,6000418,6000419,6000420,6000421,6000422,6000423,6000424,6000425,6000426,6000427,6000428,6000429,6000430,6000431,6000432,6000433,6000434,6000435,6000436,6000437,6000438,6000439,6000440,6000441,6000442,6000443,6000444,6000445,6000446,6000447,6000448,6000449,6000450,6000451,6000452,6000453,6000454,6000455,6000456,6000457,6000458,6000459,6000460,6000461,6000462,6000463,6000464,6000465,6000466,6000467,6000468,6000469,6000470,6000471,6000472,6000473,6000474,6000475,6000476,6000477,6000478,6000479,6000480,6000481,6000482,6000483,6000484,6000485,6000486,6000487,6000488,6000489,6000490,6000491,6000492,6000493,6000494,6000495,6000496,6000497,6000498,6000499,6000500,6000501,6000502,6000503,6000504,6000505,6000506,6000507,6000508,6000509,6000510,6000511,6000512,6000513,6000514,6000515,6000516,6000517,6000518,6000519,6000520,6000521,6000522,6000523,6000524,6000525,6000526,6000527,6000528,6000529,6000530,6000531,6000532,6000533,6000534,6000535,6000536,6000537,6000538,6000539,6000540,6000541,6000542,6000543,6000544,6000545,6000546,6000547,6000548,6000549,6000550,6000551,6000552,6000553,6000554,6000555,6000556,6000557,6000558,6000559,6000560,6000561,6000562,6000563,6000564,6000565,6000566,6000567,6000568,6000569,6000570,6000571,6000572,6000573,6000574,6000575,6000576,6000577,6000578,6000579,6000580,6000581,6000582,6000583,6000584,6000585,6000586,6000587,6000588,6000589,6000590,6000591,6000592,6000593,6000594,6000595,6000596,6000597,6000598,6000599,6000600,6000601,6000602,6000603,6000604,6000605,6000606,6000607,6000608,6000609,6000610,6000611,6000612,6000613,6000614,6000615,6000616,6000617,6000618,6000619,6000620,6000621,6000622,6000623,6000624,6000625,6000626,6000627,6000628,6000629,6000630,6000631,6000632,6000633,6000634,6000635,6000636,6000637,6000638,6000639,6000640,6000641,6000642,6000643,6000644,6000645,6000646,6000647,6000648,6000649,6000650,6000651,6000652,6000653,6000654,6000655,6000656,6000657,6000658,6000659,6000660,6000661,6000662,6000663,6000664,6000665,6000666,6000667,6000668,6000669,6000670,6000671,6000672,6000673,6000674,6000675,6000676,6000677,6000678,6000679,6000680,6000681,6000682,6000683,6000684,6000685,6000686,6000687,6000688,6000689,6000690,6000691,6000692,6000693,6000694,6000695,6000696,6000697,6000698,6000699,6000700,6000701,6000702,6000703,6000704,6000705,6000706,6000707,6000708,6000709,6000710,6000711,6000712,6000713,6000714,6000715,6000716,6000717,6000718,6000719,6000720,6000721,6000722,6000723,6000724,6000725,6000726,6000727,6000728,6000729,6000730,6000731,6000732,6000733,6000734,6000735,6000736,6000737,6000738,6000739,6000740,6000741,6000742,6000743,6000744,6000745,6000746,6000747,6000748,6000749,6000750,6000751,6000752,6000753,6000754,6000755,6000756,6000757,6000758,6000759,6000760,6000761,6000762,6000763,6000764,6000765,6000766,6000767,6000768,6000769,6000770,6000771,6000772,6000773,6000774,6000775,6000776,6000777,6000778,6000779,6000780,6000781,6000782,6000783,6000784,6000785,6000786,6000787,6000788,6000789,6000790,6000791,6000792,6000793,6000794,6000795,6000796,6000797,6000798,6000799,6000800,6000801,6000802,6000803,6000804,6000805,6000806,6000807,6000808,6000809,6000810,6000811,6000812,6000813,6000814,6000815,6000816,6000817,6000818,6000819,6000820,6000821,6000822,6000823,6000824,6000825,6000826,6000827,6000828,6000829,6000830,6000831,6000832,6000833,6000834,6000835,6000836,6000837,6000838,6000839,6000840,6000841,6000842,6000843,6000844,6000845,6000846,6000847,6000848,6000849,6000850,6000851,6000852,6000853,6000854,6000855,6000856,6000857,6000858,6000859,6000860,6000861,6000862,6000863,6000864,6000865,6000866,6000867,6000868,6000869,6000870,6000871,6000872,6000873,6000874,6000875,6000876,6000877,6000878,6000879,6000880,6000881,6000882,6000883,6000884,6000885,6000886,6000887,6000888,6000889,6000890,6000891,6000892,6000893,6000894,6000895,6000896,6000897,6000898,6000899,6000900,6000901,6000902,6000903,6000904,6000905,6000906,6000907,6000908,6000909,6000910,6000911,6000912,6000913,6000914,6000915,6000916,6000917,6000918,6000919,6000920,6000921,6000922,6000923,6000924,6000925,6000926,6000927,6000928,6000929,6000930,6000931,6000932,6000933,6000934,6000935,6000936,6000937,6000938,6000939,6000940,6000941,6000942,6000943,6000944,6000945,6000946,6000947,6000948,6000949,6000950,6000951,6000952,6000953,6000954,6000955,6000956,6000957,6000958,6000959,6000960,6000961,6000962,6000963,6000964,6000965,6000966,6000967,6000968,6000969,6000970,6000971,6000972,6000973,6000974,6000975,6000976,6000977,6000978,6000979,6000980,6000981,6000982,6000983,6000984,6000985,6000986,6000987,6000988,6000989,6000990,6000991,6000992,6000993,6000994,6000995,6000996,6000997,6000998,6000999,6001000,7000001,7000002,7000003,7000004,7000005,7000006,7000007,7000008,7000009,7000010,7000011,7000012,7000013,7000014,7000015,7000016,7000017,7000018,7000019,7000020,7000021,7000022,7000023,7000024,7000025,7000026,7000027,7000028,7000029,7000030,7000031,7000032,7000033,7000034,7000035,7000036,7000037,7000038,7000039,7000040,7000041,7000042,7000043,7000044,7000045,7000046,7000047,7000048,7000049,7000050,7000051,7000052,7000053,7000054,7000055,7000056,7000057,7000058,7000059,7000060,7000061,7000062,7000063,7000064,7000065,7000066,7000067,7000068,7000069,7000070,7000071,7000072,7000073,7000074,7000075,7000076,7000077,7000078,7000079,7000080,7000081,7000082,7000083,7000084,7000085,7000086,7000087,7000088,7000089,7000090,7000091,7000092,7000093,7000094,7000095,7000096,7000097,7000098,7000099,7000100,7000101,7000102,7000103,7000104,7000105,7000106,7000107,7000108,7000109,7000110,7000111,7000112,7000113,7000114,7000115,7000116,7000117,7000118,7000119,7000120,7000121,7000122,7000123,7000124,7000125,7000126,7000127,7000128,7000129,7000130,7000131,7000132,7000133,7000134,7000135,7000136,7000137,7000138,7000139,7000140,7000141,7000142,7000143,7000144,7000145,7000146,7000147,7000148,7000149,7000150,7000151,7000152,7000153,7000154,7000155,7000156,7000157,7000158,7000159,7000160,7000161,7000162,7000163,7000164,7000165,7000166,7000167,7000168,7000169,7000170,7000171,7000172,7000173,7000174,7000175,7000176,7000177,7000178,7000179,7000180,7000181,7000182,7000183,7000184,7000185,7000186,7000187,7000188,7000189,7000190,7000191,7000192,7000193,7000194,7000195,7000196,7000197,7000198,7000199,7000200,7000201,7000202,7000203,7000204,7000205,7000206,7000207,7000208,7000209,7000210,7000211,7000212,7000213,7000214,7000215,7000216,7000217,7000218,7000219,7000220,7000221,7000222,7000223,7000224,7000225,7000226,7000227,7000228,7000229,7000230,7000231,7000232,7000233,7000234,7000235,7000236,7000237,7000238,7000239,7000240,7000241,7000242,7000243,7000244,7000245,7000246,7000247,7000248,7000249,7000250,7000251,7000252,7000253,7000254,7000255,7000256,7000257,7000258,7000259,7000260,7000261,7000262,7000263,7000264,7000265,7000266,7000267,7000268,7000269,7000270,7000271,7000272,7000273,7000274,7000275,7000276,7000277,7000278,7000279,7000280,7000281,7000282,7000283,7000284,7000285,7000286,7000287,7000288,7000289,7000290,7000291,7000292,7000293,7000294,7000295,7000296,7000297,7000298,7000299,7000300,7000301,7000302,7000303,7000304,7000305,7000306,7000307,7000308,7000309,7000310,7000311,7000312,7000313,7000314,7000315,7000316,7000317,7000318,7000319,7000320,7000321,7000322,7000323,7000324,7000325,7000326,7000327,7000328,7000329,7000330,7000331,7000332,7000333,7000334,7000335,7000336,7000337,7000338,7000339,7000340,7000341,7000342,7000343,7000344,7000345,7000346,7000347,7000348,7000349,7000350,7000351,7000352,7000353,7000354,7000355,7000356,7000357,7000358,7000359,7000360,7000361,7000362,7000363,7000364,7000365,7000366,7000367,7000368,7000369,7000370,7000371,7000372,7000373,7000374,7000375,7000376,7000377,7000378,7000379,7000380,7000381,7000382,7000383,7000384,7000385,7000386,7000387,7000388,7000389,7000390,7000391,7000392,7000393,7000394,7000395,7000396,7000397,7000398,7000399,7000400,7000401,7000402,7000403,7000404,7000405,7000406,7000407,7000408,7000409,7000410,7000411,7000412,7000413,7000414,7000415,7000416,7000417,7000418,7000419,7000420,7000421,7000422,7000423,7000424,7000425,7000426,7000427,7000428,7000429,7000430,7000431,7000432,7000433,7000434,7000435,7000436,7000437,7000438,7000439,7000440,7000441,7000442,7000443,7000444,7000445,7000446,7000447,7000448,7000449,7000450,7000451,7000452,7000453,7000454,7000455,7000456,7000457,7000458,7000459,7000460,7000461,7000462,7000463,7000464,7000465,7000466,7000467,7000468,7000469,7000470,7000471,7000472,7000473,7000474,7000475,7000476,7000477,7000478,7000479,7000480,7000481,7000482,7000483,7000484,7000485,7000486,7000487,7000488,7000489,7000490,7000491,7000492,7000493,7000494,7000495,7000496,7000497,7000498,7000499,7000500,7000501,7000502,7000503,7000504,7000505,7000506,7000507,7000508,7000509,7000510,7000511,7000512,7000513,7000514,7000515,7000516,7000517,7000518,7000519,7000520,7000521,7000522,7000523,7000524,7000525,7000526,7000527,7000528,7000529,7000530,7000531,7000532,7000533,7000534,7000535,7000536,7000537,7000538,7000539,7000540,7000541,7000542,7000543,7000544,7000545,7000546,7000547,7000548,7000549,7000550,7000551,7000552,7000553,7000554,7000555,7000556,7000557,7000558,7000559,7000560,7000561,7000562,7000563,7000564,7000565,7000566,7000567,7000568,7000569,7000570,7000571,7000572,7000573,7000574,7000575,7000576,7000577,7000578,7000579,7000580,7000581,7000582,7000583,7000584,7000585,7000586,7000587,7000588,7000589,7000590,7000591,7000592,7000593,7000594,7000595,7000596,7000597,7000598,7000599,7000600,7000601,7000602,7000603,7000604,7000605,7000606,7000607,7000608,7000609,7000610,7000611,7000612,7000613,7000614,7000615,7000616,7000617,7000618,7000619,7000620,7000621,7000622,7000623,7000624,7000625,7000626,7000627,7000628,7000629,7000630,7000631,7000632,7000633,7000634,7000635,7000636,7000637,7000638,7000639,7000640,7000641,7000642,7000643,7000644,7000645,7000646,7000647,7000648,7000649,7000650,7000651,7000652,7000653,7000654,7000655,7000656,7000657,7000658,7000659,7000660,7000661,7000662,7000663,7000664,7000665,7000666,7000667,7000668,7000669,7000670,7000671,7000672,7000673,7000674,7000675,7000676,7000677,7000678,7000679,7000680,7000681,7000682,7000683,7000684,7000685,7000686,7000687,7000688,7000689,7000690,7000691,7000692,7000693,7000694,7000695,7000696,7000697,7000698,7000699,7000700,7000701,7000702,7000703,7000704,7000705,7000706,7000707,7000708,7000709,7000710,7000711,7000712,7000713,7000714,7000715,7000716,7000717,7000718,7000719,7000720,7000721,7000722,7000723,7000724,7000725,7000726,7000727,7000728,7000729,7000730,7000731,7000732,7000733,7000734,7000735,7000736,7000737,7000738,7000739,7000740,7000741,7000742,7000743,7000744,7000745,7000746,7000747,7000748,7000749,7000750,7000751,7000752,7000753,7000754,7000755,7000756,7000757,7000758,7000759,7000760,7000761,7000762,7000763,7000764,7000765,7000766,7000767,7000768,7000769,7000770,7000771,7000772,7000773,7000774,7000775,7000776,7000777,7000778,7000779,7000780,7000781,7000782,7000783,7000784,7000785,7000786,7000787,7000788,7000789,7000790,7000791,7000792,7000793,7000794,7000795,7000796,7000797,7000798,7000799,7000800,7000801,7000802,7000803,7000804,7000805,7000806,7000807,7000808,7000809,7000810,7000811,7000812,7000813,7000814,7000815,7000816,7000817,7000818,7000819,7000820,7000821,7000822,7000823,7000824,7000825,7000826,7000827,7000828,7000829,7000830,7000831,7000832,7000833,7000834,7000835,7000836,7000837,7000838,7000839,7000840,7000841,7000842,7000843,7000844,7000845,7000846,7000847,7000848,7000849,7000850,7000851,7000852,7000853,7000854,7000855,7000856,7000857,7000858,7000859,7000860,7000861,7000862,7000863,7000864,7000865,7000866,7000867,7000868,7000869,7000870,7000871,7000872,7000873,7000874,7000875,7000876,7000877,7000878,7000879,7000880,7000881,7000882,7000883,7000884,7000885,7000886,7000887,7000888,7000889,7000890,7000891,7000892,7000893,7000894,7000895,7000896,7000897,7000898,7000899,7000900,7000901,7000902,7000903,7000904,7000905,7000906,7000907,7000908,7000909,7000910,7000911,7000912,7000913,7000914,7000915,7000916,7000917,7000918,7000919,7000920,7000921,7000922,7000923,7000924,7000925,7000926,7000927,7000928,7000929,7000930,7000931,7000932,7000933,7000934,7000935,7000936,7000937,7000938,7000939,7000940,7000941,7000942,7000943,7000944,7000945,7000946,7000947,7000948,7000949,7000950,7000951,7000952,7000953,7000954,7000955,7000956,7000957,7000958,7000959,7000960,7000961,7000962,7000963,7000964,7000965,7000966,7000967,7000968,7000969,7000970,7000971,7000972,7000973,7000974,7000975,7000976,7000977,7000978,7000979,7000980,7000981,7000982,7000983,7000984,7000985,7000986,7000987,7000988,7000989,7000990,7000991,7000992,7000993,7000994,7000995,7000996,7000997,7000998,7000999,7001000,8000002,8000003,8000004,8000005,8000006,8000007,8000008,8000009,8000010,8000011,8000012,8000013,8000014,8000015,8000016,8000017,8000018,8000019,8000020,8000021,8000022,8000023,8000024,8000025,8000026,8000027,8000028,8000029,8000030,8000031,8000032,8000033,8000034,8000035,8000036,8000037,8000038,8000039,8000040,8000041,8000042,8000043,8000044,8000045,8000046,8000047,8000048,8000049,8000050,8000051,8000052,8000053,8000054,8000055,8000056,8000057,8000058,8000059,8000060,8000061,8000062,8000063,8000064,8000065,8000066,8000067,8000068,8000069,8000070,8000071,8000072,8000073,8000074,8000075,8000076,8000077,8000078,8000079,8000080,8000081,8000082,8000083,8000084,8000085,8000086,8000087,8000088,8000089,8000090,8000091,8000092,8000093,8000094,8000095,8000096,8000097,8000098,8000099,8000100,8000101,8000102,8000103,8000104,8000105,8000106,8000107,8000108,8000109,8000110,8000111,8000112,8000113,8000114,8000115,8000116,8000117,8000118,8000119,8000120,8000121,8000122,8000123,8000124,8000125,8000126,8000127,8000128,8000129,8000130,8000131,8000132,8000133,8000134,8000135,8000136,8000137,8000138,8000139,8000140,8000141,8000142,8000143,8000144,8000145,8000146,8000147,8000148,8000149,8000150,8000151,8000152,8000153,8000154,8000155,8000156,8000157,8000158,8000159,8000160,8000161,8000162,8000163,8000164,8000165,8000166,8000167,8000168,8000169,8000170,8000171,8000172,8000173,8000174,8000175,8000176,8000177,8000178,8000179,8000180,8000181,8000182,8000183,8000184,8000185,8000186,8000187,8000188,8000189,8000190,8000191,8000192,8000193,8000194,8000195,8000196,8000197,8000198,8000199,8000200,8000201,8000202,8000203,8000204,8000205,8000206,8000207,8000208,8000209,8000210,8000211,8000212,8000213,8000214,8000215,8000216,8000217,8000218,8000219,8000220,8000221,8000222,8000223,8000224,8000225,8000226,8000227,8000228,8000229,8000230,8000231,8000232,8000233,8000234,8000235,8000236,8000237,8000238,8000239,8000240,8000241,8000242,8000243,8000244,8000245,8000246,8000247,8000248,8000249,8000250,8000251,8000252,8000253,8000254,8000255,8000256,8000257,8000258,8000259,8000260,8000261,8000262,8000263,8000264,8000265,8000266,8000267,8000268,8000269,8000270,8000271,8000272,8000273,8000274,8000275,8000276,8000277,8000278,8000279,8000280,8000281,8000282,8000283,8000284,8000285,8000286,8000287,8000288,8000289,8000290,8000291,8000292,8000293,8000294,8000295,8000296,8000297,8000298,8000299,8000300,8000301,8000302,8000303,8000304,8000305,8000306,8000307,8000308,8000309,8000310,8000311,8000312,8000313,8000314,8000315,8000316,8000317,8000318,8000319,8000320,8000321,8000322,8000323,8000324,8000325,8000326,8000327,8000328,8000329,8000330,8000331,8000332,8000333,8000334,8000335,8000336,8000337,8000338,8000339,8000340,8000341,8000342,8000343,8000344,8000345,8000346,8000347,8000348,8000349,8000350,8000351,8000352,8000353,8000354,8000355,8000356,8000357,8000358,8000359,8000360,8000361,8000362,8000363,8000364,8000365,8000366,8000367,8000368,8000369,8000370,8000371,8000372,8000373,8000374,8000375,8000376,8000377,8000378,8000379,8000380,8000381,8000382,8000383,8000384,8000385,8000386,8000387,8000388,8000389,8000390,8000391,8000392,8000393,8000394,8000395,8000396,8000397,8000398,8000399,8000400,8000401,8000402,8000403,8000404,8000405,8000406,8000407,8000408,8000409,8000410,8000411,8000412,8000413,8000414,8000415,8000416,8000417,8000418,8000419,8000420,8000421,8000422,8000423,8000424,8000425,8000426,8000427,8000428,8000429,8000430,8000431,8000432,8000433,8000434,8000435,8000436,8000437,8000438,8000439,8000440,8000441,8000442,8000443,8000444,8000445,8000446,8000447,8000448,8000449,8000450,8000451,8000452,8000453,8000454,8000455,8000456,8000457,8000458,8000459,8000460,8000461,8000462,8000463,8000464,8000465,8000466,8000467,8000468,8000469,8000470,8000471,8000472,8000473,8000474,8000475,8000476,8000477,8000478,8000479,8000480,8000481,8000482,8000483,8000484,8000485,8000486,8000487,8000488,8000489,8000490,8000491,8000492,8000493,8000494,8000495,8000496,8000497,8000498,8000499,8000500,8000501,8000502,8000503,8000504,8000505,8000506,8000507,8000508,8000509,8000510,8000511,8000512,8000513,8000514,8000515,8000516,8000517,8000518,8000519,8000520,8000521,8000522,8000523,8000524,8000525,8000526,8000527,8000528,8000529,8000530,8000531,8000532,8000533,8000534,8000535,8000536,8000537,8000538,8000539,8000540,8000541,8000542,8000543,8000544,8000545,8000546,8000547,8000548,8000549,8000550,8000551,8000552,8000553,8000554,8000555,8000556,8000557,8000558,8000559,8000560,8000561,8000562,8000563,8000564,8000565,8000566,8000567,8000568,8000569,8000570,8000571,8000572,8000573,8000574,8000575,8000576,8000577,8000578,8000579,8000580,8000581,8000582,8000583,8000584,8000585,8000586,8000587,8000588,8000589,8000590,8000591,8000592,8000593,8000594,8000595,8000596,8000597,8000598,8000599,8000600,8000601,8000602,8000603,8000604,8000605,8000606,8000607,8000608,8000609,8000610,8000611,8000612,8000613,8000614,8000615,8000616,8000617,8000618,8000619,8000620,8000621,8000622,8000623,8000624,8000625,8000626,8000627,8000628,8000629,8000630,8000631,8000632,8000633,8000634,8000635,8000636,8000637,8000638,8000639,8000640,8000641,8000642,8000643,8000644,8000645,8000646,8000647,8000648,8000649,8000650,8000651,8000652,8000653,8000654,8000655,8000656,8000657,8000658,8000659,8000660,8000661,8000662,8000663,8000664,8000665,8000666,8000667,8000668,8000669,8000670,8000671,8000672,8000673,8000674,8000675,8000676,8000677,8000678,8000679,8000680,8000681,8000682,8000683,8000684,8000685,8000686,8000687,8000688,8000689,8000690,8000691,8000692,8000693,8000694,8000695,8000696,8000697,8000698,8000699,8000700,8000701,8000702,8000703,8000704,8000705,8000706,8000707,8000708,8000709,8000710,8000711,8000712,8000713,8000714,8000715,8000716,8000717,8000718,8000719,8000720,8000721,8000722,8000723,8000724,8000725,8000726,8000727,8000728,8000729,8000730,8000731,8000732,8000733,8000734,8000735,8000736,8000737,8000738,8000739,8000740,8000741,8000742,8000743,8000744,8000745,8000746,8000747,8000748,8000749,8000750,8000751,8000752,8000753,8000754,8000755,8000756,8000757,8000758,8000759,8000760,8000761,8000762,8000763,8000764,8000765,8000766,8000767,8000768,8000769,8000770,8000771,8000772,8000773,8000774,8000775,8000776,8000777,8000778,8000779,8000780,8000781,8000782,8000783,8000784,8000785,8000786,8000787,8000788,8000789,8000790,8000791,8000792,8000793,8000794,8000795,8000796,8000797,8000798,8000799,8000800,8000801,8000802,8000803,8000804,8000805,8000806,8000807,8000808,8000809,8000810,8000811,8000812,8000813,8000814,8000815,8000816,8000817,8000818,8000819,8000820,8000821,8000822,8000823,8000824,8000825,8000826,8000827,8000828,8000829,8000830,8000831,8000832,8000833,8000834,8000835,8000836,8000837,8000838,8000839,8000840,8000841,8000842,8000843,8000844,8000845,8000846,8000847,8000848,8000849,8000850,8000851,8000852,8000853,8000854,8000855,8000856,8000857,8000858,8000859,8000860,8000861,8000862,8000863,8000864,8000865,8000866,8000867,8000868,8000869,8000870,8000871,8000872,8000873,8000874,8000875,8000876,8000877,8000878,8000879,8000880,8000881,8000882,8000883,8000884,8000885,8000886,8000887,8000888,8000889,8000890,8000891,8000892,8000893,8000894,8000895,8000896,8000897,8000898,8000899,8000900,8000901,8000902,8000903,8000904,8000905,8000906,8000907,8000908,8000909,8000910,8000911,8000912,8000913,8000914,8000915,8000916,8000917,8000918,8000919,8000920,8000921,8000922,8000923,8000924,8000925,8000926,8000927,8000928,8000929,8000930,8000931,8000932,8000933,8000934,8000935,8000936,8000937,8000938,8000939,8000940,8000941,8000942,8000943,8000944,8000945,8000946,8000947,8000948,8000949,8000950,8000951,8000952,8000953,8000954,8000955,8000956,8000957,8000958,8000959,8000960,8000961,8000962,8000963,8000964,8000965,8000966,8000967,8000968,8000969,8000970,8000971,8000972,8000973,8000974,8000975,8000976,8000977,8000978,8000979,8000980,8000981,8000982,8000983,8000984,8000985,8000986,8000987,8000988,8000989,8000990,8000991,8000992,8000993,8000994,8000995,8000996,8000997,8000998,8000999,8001000,9000001,9000002,9000003,9000004,9000005,9000006,9000007,9000008,9000009,9000010,9000011,9000012,9000013,9000014,9000015,9000016,9000017,9000018,9000019,9000020,9000021,9000022,9000023,9000024,9000025,9000026,9000027,9000028,9000029,9000030,9000031,9000032,9000033,9000034,9000035,9000036,9000037,9000038,9000039,9000040,9000041,9000042,9000043,9000044,9000045,9000046,9000047,9000048,9000049,9000050,9000051,9000052,9000053,9000054,9000055,9000056,9000057,9000058,9000059,9000060,9000061,9000062,9000063,9000064,9000065,9000066,9000067,9000068,9000069,9000070,9000071,9000072,9000073,9000074,9000075,9000076,9000077,9000078,9000079,9000080,9000081,9000082,9000083,9000084,9000085,9000086,9000087,9000088,9000089,9000090,9000091,9000092,9000093,9000094,9000095,9000096,9000097,9000098,9000099,9000100,9000101,9000102,9000103,9000104,9000105,9000106,9000107,9000108,9000109,9000110,9000111,9000112,9000113,9000114,9000115,9000116,9000117,9000118,9000119,9000120,9000121,9000122,9000123,9000124,9000125,9000126,9000127,9000128,9000129,9000130,9000131,9000132,9000133,9000134,9000135,9000136,9000137,9000138,9000139,9000140,9000141,9000142,9000143,9000144,9000145,9000146,9000147,9000148,9000149,9000150,9000151,9000152,9000153,9000154,9000155,9000156,9000157,9000158,9000159,9000160,9000161,9000162,9000163,9000164,9000165,9000166,9000167,9000168,9000169,9000170,9000171,9000172,9000173,9000174,9000175,9000176,9000177,9000178,9000179,9000180,9000181,9000182,9000183,9000184,9000185,9000186,9000187,9000188,9000189,9000190,9000191,9000192,9000193,9000194,9000195,9000196,9000197,9000198,9000199,9000200,9000201,9000202,9000203,9000204,9000205,9000206,9000207,9000208,9000209,9000210,9000211,9000212,9000213,9000214,9000215,9000216,9000217,9000218,9000219,9000220,9000221,9000222,9000223,9000224,9000225,9000226,9000227,9000228,9000229,9000230,9000231,9000232,9000233,9000234,9000235,9000236,9000237,9000238,9000239,9000240,9000241,9000242,9000243,9000244,9000245,9000246,9000247,9000248,9000249,9000250,9000251,9000252,9000253,9000254,9000255,9000256,9000257,9000258,9000259,9000260,9000261,9000262,9000263,9000264,9000265,9000266,9000267,9000268,9000269,9000270,9000271,9000272,9000273,9000274,9000275,9000276,9000277,9000278,9000279,9000280,9000281,9000282,9000283,9000284,9000285,9000286,9000287,9000288,9000289,9000290,9000291,9000292,9000293,9000294,9000295,9000296,9000297,9000298,9000299,9000300,9000301,9000302,9000303,9000304,9000305,9000306,9000307,9000308,9000309,9000310,9000311,9000312,9000313,9000314,9000315,9000316,9000317,9000318,9000319,9000320,9000321,9000322,9000323,9000324,9000325,9000326,9000327,9000328,9000329,9000330,9000331,9000332,9000333,9000334,9000335,9000336,9000337,9000338,9000339,9000340,9000341,9000342,9000343,9000344,9000345,9000346,9000347,9000348,9000349,9000350,9000351,9000352,9000353,9000354,9000355,9000356,9000357,9000358,9000359,9000360,9000361,9000362,9000363,9000364,9000365,9000366,9000367,9000368,9000369,9000370,9000371,9000372,9000373,9000374,9000375,9000376,9000377,9000378,9000379,9000380,9000381,9000382,9000383,9000384,9000385,9000386,9000387,9000388,9000389,9000390,9000391,9000392,9000393,9000394,9000395,9000396,9000397,9000398,9000399,9000400,9000401,9000402,9000403,9000404,9000405,9000406,9000407,9000408,9000409,9000410,9000411,9000412,9000413,9000414,9000415,9000416,9000417,9000418,9000419,9000420,9000421,9000422,9000423,9000424,9000425,9000426,9000427,9000428,9000429,9000430,9000431,9000432,9000433,9000434,9000435,9000436,9000437,9000438,9000439,9000440,9000441,9000442,9000443,9000444,9000445,9000446,9000447,9000448,9000449,9000450,9000451,9000452,9000453,9000454,9000455,9000456,9000457,9000458,9000459,9000460,9000461,9000462,9000463,9000464,9000465,9000466,9000467,9000468,9000469,9000470,9000471,9000472,9000473,9000474,9000475,9000476,9000477,9000478,9000479,9000480,9000481,9000482,9000483,9000484,9000485,9000486,9000487,9000488,9000489,9000490,9000491,9000492,9000493,9000494,9000495,9000496,9000497,9000498,9000499,9000500,9000501,9000502,9000503,9000504,9000505,9000506,9000507,9000508,9000509,9000510,9000511,9000512,9000513,9000514,9000515,9000516,9000517,9000518,9000519,9000520,9000521,9000522,9000523,9000524,9000525,9000526,9000527,9000528,9000529,9000530,9000531,9000532,9000533,9000534,9000535,9000536,9000537,9000538,9000539,9000540,9000541,9000542,9000543,9000544,9000545,9000546,9000547,9000548,9000549,9000550,9000551,9000552,9000553,9000554,9000555,9000556,9000557,9000558,9000559,9000560,9000561,9000562,9000563,9000564,9000565,9000566,9000567,9000568,9000569,9000570,9000571,9000572,9000573,9000574,9000575,9000576,9000577,9000578,9000579,9000580,9000581,9000582,9000583,9000584,9000585,9000586,9000587,9000588,9000589,9000590,9000591,9000592,9000593,9000594,9000595,9000596,9000597,9000598,9000599,9000600,9000601,9000602,9000603,9000604,9000605,9000606,9000607,9000608,9000609,9000610,9000611,9000612,9000613,9000614,9000615,9000616,9000617,9000618,9000619,9000620,9000621,9000622,9000623,9000624,9000625,9000626,9000627,9000628,9000629,9000630,9000631,9000632,9000633,9000634,9000635,9000636,9000637,9000638,9000639,9000640,9000641,9000642,9000643,9000644,9000645,9000646,9000647,9000648,9000649,9000650,9000651,9000652,9000653,9000654,9000655,9000656,9000657,9000658,9000659,9000660,9000661,9000662,9000663,9000664,9000665,9000666,9000667,9000668,9000669,9000670,9000671,9000672,9000673,9000674,9000675,9000676,9000677,9000678,9000679,9000680,9000681,9000682,9000683,9000684,9000685,9000686,9000687,9000688,9000689,9000690,9000691,9000692,9000693,9000694,9000695,9000696,9000697,9000698,9000699,9000700,9000701,9000702,9000703,9000704,9000705,9000706,9000707,9000708,9000709,9000710,9000711,9000712,9000713,9000714,9000715,9000716,9000717,9000718,9000719,9000720,9000721,9000722,9000723,9000724,9000725,9000726,9000727,9000728,9000729,9000730,9000731,9000732,9000733,9000734,9000735,9000736,9000737,9000738,9000739,9000740,9000741,9000742,9000743,9000744,9000745,9000746,9000747,9000748,9000749,9000750,9000751,9000752,9000753,9000754,9000755,9000756,9000757,9000758,9000759,9000760,9000761,9000762,9000763,9000764,9000765,9000766,9000767,9000768,9000769,9000770,9000771,9000772,9000773,9000774,9000775,9000776,9000777,9000778,9000779,9000780,9000781,9000782,9000783,9000784,9000785,9000786,9000787,9000788,9000789,9000790,9000791,9000792,9000793,9000794,9000795,9000796,9000797,9000798,9000799,9000800,9000801,9000802,9000803,9000804,9000805,9000806,9000807,9000808,9000809,9000810,9000811,9000812,9000813,9000814,9000815,9000816,9000817,9000818,9000819,9000820,9000821,9000822,9000823,9000824,9000825,9000826,9000827,9000828,9000829,9000830,9000831,9000832,9000833,9000834,9000835,9000836,9000837,9000838,9000839,9000840,9000841,9000842,9000843,9000844,9000845,9000846,9000847,9000848,9000849,9000850,9000851,9000852,9000853,9000854,9000855,9000856,9000857,9000858,9000859,9000860,9000861,9000862,9000863,9000864,9000865,9000866,9000867,9000868,9000869,9000870,9000871,9000872,9000873,9000874,9000875,9000876,9000877,9000878,9000879,9000880,9000881,9000882,9000883,9000884,9000885,9000886,9000887,9000888,9000889,9000890,9000891,9000892,9000893,9000894,9000895,9000896,9000897,9000898,9000899,9000900,9000901,9000902,9000903,9000904,9000905,9000906,9000907,9000908,9000909,9000910,9000911,9000912,9000913,9000914,9000915,9000916,9000917,9000918,9000919,9000920,9000921,9000922,9000923,9000924,9000925,9000926,9000927,9000928,9000929,9000930,9000931,9000932,9000933,9000934,9000935,9000936,9000937,9000938,9000939,9000940,9000941,9000942,9000943,9000944,9000945,9000946,9000947,9000948,9000949,9000950,9000951,9000952,9000953,9000954,9000955,9000956,9000957,9000958,9000959,9000960,9000961,9000962,9000963,9000964,9000965,9000966,9000967,9000968,9000969,9000970,9000971,9000972,9000973,9000974,9000975,9000976,9000977,9000978,9000979,9000980,9000981,9000982,9000983,9000984,9000985,9000986,9000987,9000988,9000989,9000990,9000991,9000992,9000993,9000994,9000995,9000996,9000997,9000998,9000999,9001000,10000001,10000002,10000003,10000004,10000005,10000006,10000007,10000008,10000009,10000010,10000011,10000012,10000013,10000014,10000015,10000016,10000017,10000018,10000019,10000020,10000021,10000022,10000023,10000024,10000025,10000026,10000027,10000028,10000029,10000030,10000031,10000032,10000033,10000034,10000035,10000036,10000037,10000038,10000039,10000040,10000041,10000042,10000043,10000044,10000045,10000046,10000047,10000048,10000049,10000050,10000051,10000052,10000053,10000054,10000055,10000056,10000057,10000058,10000059,10000060,10000061,10000062,10000063,10000064,10000065,10000066,10000067,10000068,10000069,10000070,10000071,10000072,10000073,10000074,10000075,10000076,10000077,10000078,10000079,10000080,10000081,10000082,10000083,10000084,10000085,10000086,10000087,10000088,10000089,10000090,10000091,10000092,10000093,10000094,10000095,10000096,10000097,10000098,10000099,10000100,10000101,10000102,10000103,10000104,10000105,10000106,10000107,10000108,10000109,10000110,10000111,10000112,10000113,10000114,10000115,10000116,10000117,10000118,10000119,10000120,10000121,10000122,10000123,10000124,10000125,10000126,10000127,10000128,10000129,10000130,10000131,10000132,10000133,10000134,10000135,10000136,10000137,10000138,10000139,10000140,10000141,10000142,10000143,10000144,10000145,10000146,10000147,10000148,10000149,10000150,10000151,10000152,10000153,10000154,10000155,10000156,10000157,10000158,10000159,10000160,10000161,10000162,10000163,10000164,10000165,10000166,10000167,10000168,10000169,10000170,10000171,10000172,10000173,10000174,10000175,10000176,10000177,10000178,10000179,10000180,10000181,10000182,10000183,10000184,10000185,10000186,10000187,10000188,10000189,10000190,10000191,10000192,10000193,10000194,10000195,10000196,10000197,10000198,10000199,10000200,10000201,10000202,10000203,10000204,10000205,10000206,10000207,10000208,10000209,10000210,10000211,10000212,10000213,10000214,10000215,10000216,10000217,10000218,10000219,10000220,10000221,10000222,10000223,10000224,10000225,10000226,10000227,10000228,10000229,10000230,10000231,10000232,10000233,10000234,10000235,10000236,10000237,10000238,10000239,10000240,10000241,10000242,10000243,10000244,10000245,10000246,10000247,10000248,10000249,10000250,10000251,10000252,10000253,10000254,10000255,10000256,10000257,10000258,10000259,10000260,10000261,10000262,10000263,10000264,10000265,10000266,10000267,10000268,10000269,10000270,10000271,10000272,10000273,10000274,10000275,10000276,10000277,10000278,10000279,10000280,10000281,10000282,10000283,10000284,10000285,10000286,10000287,10000288,10000289,10000290,10000291,10000292,10000293,10000294,10000295,10000296,10000297,10000298,10000299,10000300,10000301,10000302,10000303,10000304,10000305,10000306,10000307,10000308,10000309,10000310,10000311,10000312,10000313,10000314,10000315,10000316,10000317,10000318,10000319,10000320,10000321,10000322,10000323,10000324,10000325,10000326,10000327,10000328,10000329,10000330,10000331,10000332,10000333,10000334,10000335,10000336,10000337,10000338,10000339,10000340,10000341,10000342,10000343,10000344,10000345,10000346,10000347,10000348,10000349,10000350,10000351,10000352,10000353,10000354,10000355,10000356,10000357,10000358,10000359,10000360,10000361,10000362,10000363,10000364,10000365,10000366,10000367,10000368,10000369,10000370,10000371,10000372,10000373,10000374,10000375,10000376,10000377,10000378,10000379,10000380,10000381,10000382,10000383,10000384,10000385,10000386,10000387,10000388,10000389,10000390,10000391,10000392,10000393,10000394,10000395,10000396,10000397,10000398,10000399,10000400,10000401,10000402,10000403,10000404,10000405,10000406,10000407,10000408,10000409,10000410,10000411,10000412,10000413,10000414,10000415,10000416,10000417,10000418,10000419,10000420,10000421,10000422,10000423,10000424,10000425,10000426,10000427,10000428,10000429,10000430,10000431,10000432,10000433,10000434,10000435,10000436,10000437,10000438,10000439,10000440,10000441,10000442,10000443,10000444,10000445,10000446,10000447,10000448,10000449,10000450,10000451,10000452,10000453,10000454,10000455,10000456,10000457,10000458,10000459,10000460,10000461,10000462,10000463,10000464,10000465,10000466,10000467,10000468,10000469,10000470,10000471,10000472,10000473,10000474,10000475,10000476,10000477,10000478,10000479,10000480,10000481,10000482,10000483,10000484,10000485,10000486,10000487,10000488,10000489,10000490,10000491,10000492,10000493,10000494,10000495,10000496,10000497,10000498,10000499,10000500,10000501,10000502,10000503,10000504,10000505,10000506,10000507,10000508,10000509,10000510,10000511,10000512,10000513,10000514,10000515,10000516,10000517,10000518,10000519,10000520,10000521,10000522,10000523,10000524,10000525,10000526,10000527,10000528,10000529,10000530,10000531,10000532,10000533,10000534,10000535,10000536,10000537,10000538,10000539,10000540,10000541,10000542,10000543,10000544,10000545,10000546,10000547,10000548,10000549,10000550,10000551,10000552,10000553,10000554,10000555,10000556,10000557,10000558,10000559,10000560,10000561,10000562,10000563,10000564,10000565,10000566,10000567,10000568,10000569,10000570,10000571,10000572,10000573,10000574,10000575,10000576,10000577,10000578,10000579,10000580,10000581,10000582,10000583,10000584,10000585,10000586,10000587,10000588,10000589,10000590,10000591,10000592,10000593,10000594,10000595,10000596,10000597,10000598,10000599,10000600,10000601,10000602,10000603,10000604,10000605,10000606,10000607,10000608,10000609,10000610,10000611,10000612,10000613,10000614,10000615,10000616,10000617,10000618,10000619,10000620,10000621,10000622,10000623,10000624,10000625,10000626,10000627,10000628,10000629,10000630,10000631,10000632,10000633,10000634,10000635,10000636,10000637,10000638,10000639,10000640,10000641,10000642,10000643,10000644,10000645,10000646,10000647,10000648,10000649,10000650,10000651,10000652,10000653,10000654,10000655,10000656,10000657,10000658,10000659,10000660,10000661,10000662,10000663,10000664,10000665,10000666,10000667,10000668,10000669,10000670,10000671,10000672,10000673,10000674,10000675,10000676,10000677,10000678,10000679,10000680,10000681,10000682,10000683,10000684,10000685,10000686,10000687,10000688,10000689,10000690,10000691,10000692,10000693,10000694,10000695,10000696,10000697,10000698,10000699,10000700,10000701,10000702,10000703,10000704,10000705,10000706,10000707,10000708,10000709,10000710,10000711,10000712,10000713,10000714,10000715,10000716,10000717,10000718,10000719,10000720,10000721,10000722,10000723,10000724,10000725,10000726,10000727,10000728,10000729,10000730,10000731,10000732,10000733,10000734,10000735,10000736,10000737,10000738,10000739,10000740,10000741,10000742,10000743,10000744,10000745,10000746,10000747,10000748,10000749,10000750,10000751,10000752,10000753,10000754,10000755,10000756,10000757,10000758,10000759,10000760,10000761,10000762,10000763,10000764,10000765,10000766,10000767,10000768,10000769,10000770,10000771,10000772,10000773,10000774,10000775,10000776,10000777,10000778,10000779,10000780,10000781,10000782,10000783,10000784,10000785,10000786,10000787,10000788,10000789,10000790,10000791,10000792,10000793,10000794,10000795,10000796,10000797,10000798,10000799,10000800,10000801,10000802,10000803,10000804,10000805,10000806,10000807,10000808,10000809,10000810,10000811,10000812,10000813,10000814,10000815,10000816,10000817,10000818,10000819,10000820,10000821,10000822,10000823,10000824,10000825,10000826,10000827,10000828,10000829,10000830,10000831,10000832,10000833,10000834,10000835,10000836,10000837,10000838,10000839,10000840,10000841,10000842,10000843,10000844,10000845,10000846,10000847,10000848,10000849,10000850,10000851,10000852,10000853,10000854,10000855,10000856,10000857,10000858,10000859,10000860,10000861,10000862,10000863,10000864,10000865,10000866,10000867,10000868,10000869,10000870,10000871,10000872,10000873,10000874,10000875,10000876,10000877,10000878,10000879,10000880,10000881,10000882,10000883,10000884,10000885,10000886,10000887,10000888,10000889,10000890,10000891,10000892,10000893,10000894,10000895,10000896,10000897,10000898,10000899,10000900,10000901,10000902,10000903,10000904,10000905,10000906,10000907,10000908,10000909,10000910,10000911,10000912,10000913,10000914,10000915,10000916,10000917,10000918,10000919,10000920,10000921,10000922,10000923,10000924,10000925,10000926,10000927,10000928,10000929,10000930,10000931,10000932,10000933,10000934,10000935,10000936,10000937,10000938,10000939,10000940,10000941,10000942,10000943,10000944,10000945,10000946,10000947,10000948,10000949,10000950,10000951,10000952,10000953,10000954,10000955,10000956,10000957,10000958,10000959,10000960,10000961,10000962,10000963,10000964,10000965,10000966,10000967,10000968,10000969,10000970,10000971,10000972,10000973,10000974,10000975,10000976,10000977,10000978,10000979,10000980,10000981,10000982,10000983,10000984,10000985,10000986,10000987,10000988,10000989,10000990,10000991,10000992,10000993,10000994,10000995,10000996,10000997,10000998,10000999,10001000]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING10_1_join_on_2tbls_withfilter_onpkey_grpby_1col
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_1), count(b.col_bigint_id_1) from pkeyBigint1M_1 as a,pkeyBigint1M_2 as b where a.col_bigint_card1_1 in (1000500) and a.col_bigint_id_1=b.col_bigint_id_1 GROUP BY a.col_bigint_card2_1
+
+ - workload: JOING10_2_join_on_3tbls_withfilter_onpkey_grpby_2col
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, a.col_bigint_card2_1, count(b.col_bigint_id_1) from pkeyBigint1M_1 as a,pkeyBigint1M_2 as b,pkeyBigint1M_3 as c where a.col_bigint_card2_1 in (1000500) and a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_1=c.col_bigint_id_1 GROUP BY a.col_bigint_card2_1,a.col_bigint_card1_1
+
+ - workload: JOING10_3_join_on_2tbls_withfilter_onpkey_grpby_2col
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_1), count(b.col_bigint_id_1) from pkeyBigint1M_1 as a,pkeyBigint1M_2 as b where a.col_bigint_card2_1 in (1000500) and a.col_bigint_id_1=b.col_bigint_id_1 GROUP BY a.col_bigint_card2_1
+
+
+ - workload: JOING10_4_join_on_2tbls_withfilter_onpkey_ordby_1col
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 ORDER BY pkeyBigint1M_1.col_bigint_card1_1
+
+ - workload: JOING10_5_join_on_3tbls_withfilter_onpkey_ordby_1col
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1 ORDER BY pkeyBigint1M_1.col_bigint_card1_1
+
+ - workload: JOING10_6_join_on_2tbls_withfilter_onpkey_ordby_2col
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 ORDER BY pkeyBigint1M_1.col_bigint_card1_1,pkeyBigint1M_1.col_bigint_card2_1
+
+ - workload: JOING10_7_join_on_2tbls_withfilter_onpkey_ordby_desc_1col
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 ORDER BY pkeyBigint1M_1.col_bigint_card1_1 DESC
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING11_join_groupby_orderby_multiple_loops.yaml b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING11_join_groupby_orderby_multiple_loops.yaml
new file mode 100644
index 000000000..27af85d18
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING11_join_groupby_orderby_multiple_loops.yaml
@@ -0,0 +1,177 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{ username }}
+password: {{ password }}
+isolation: TRANSACTION_REPEATABLE_READ
+batchsize: 128
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M1_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M1_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M1_3;
+ - DROP TABLE IF EXISTS pkeyBigint1Mr_1;
+ - DROP TABLE IF EXISTS pkeyBigint1Mr_2;
+ - CREATE TABLE pkeyBigint1M1_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M1_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M1_3(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1Mr_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ));
+ - CREATE TABLE pkeyBigint1Mr_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ));
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M1_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M1_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M1_3;
+ - DROP TABLE IF EXISTS pkeyBigint1Mr_1;
+ - DROP TABLE IF EXISTS pkeyBigint1Mr_2;
+ loadRules:
+ - table: pkeyBigint1M1_
+ count: 3
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1010001 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: pkeyBigint1Mr_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1010001 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING11_1_join_on_2tbls_withfilter_onpkey_grpby_1col_10k_loops
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projectition=indexed,queryshape=join,joinon=pkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1M1_1 as a,pkeyBigint1M1_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1
+
+ - workload: JOING11_2_join_on_2tbls_withfilter_onpkey_grpby_1col_30k_loops
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projectition=indexed,queryshape=join,joinon=pkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1M1_1 as a,pkeyBigint1M1_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<30000 GROUP BY a.col_bigint_card2_1
+
+ - workload: JOING11_3_join_on_2tbls_withfilter_onpkey_grpby_ordby_1col_10k_loops
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projectition=indexed,queryshape=join,joinon=pkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1M1_1 as a,pkeyBigint1M1_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1 ORDER BY col_bigint_card2_1
+
+ - workload: JOING11_4_join_on_3tbls_withfilter_onpkey_grpby_ordby_1col_10k_loops
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projectition=indexed,queryshape=join,joinon=pkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1M1_1 as a,pkeyBigint1M1_2 as b,pkeyBigint1M1_2 as c where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_1=c.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1 order by a.col_bigint_card2_1
+
+ - workload: JOING11_5_join_on_2tbls_range_withfilter_onpkey_grpby_1col_10k_loops
+ customTags: schematype=regular,partition=range,pkey=range,cardinality=single,projectition=indexed,queryshape=join,joinon=pkey
+ run:
+ - name: join_on_pk_2tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1Mr_1 as a,pkeyBigint1Mr_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1
+
+ - workload: JOING11_6_join_on_2tbls_range_withfilter_onpkey_grpby_ordby_1col_10k_loops
+ customTags: schematype=regular,partition=range,pkey=range,cardinality=single,projectition=indexed,queryshape=join,joinon=pkey
+ run:
+ - name: join_on_pk_2tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1Mr_1 as a,pkeyBigint1Mr_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1 ORDER BY col_bigint_card2_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING12_compate_indexscan_on_rangetbl.yaml b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING12_compate_indexscan_on_rangetbl.yaml
new file mode 100644
index 000000000..9b868ebd9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING12_compate_indexscan_on_rangetbl.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS JoinG12_Rangetbl_1;
+ - DROP TABLE IF EXISTS JoinG12_Rangetbl_2;
+ - CREATE TABLE JoinG12_Rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON JoinG12_Rangetbl_1(col_bigint_id_2 ASC);
+ - CREATE TABLE JoinG12_Rangetbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON JoinG12_Rangetbl_2(col_bigint_id_2 ASC);
+ cleanup:
+ - DROP TABLE IF EXISTS JoinG12_Rangetbl_1;
+ - DROP TABLE IF EXISTS JoinG12_Rangetbl2;
+
+ loadRules:
+ - table: JoinG12_Rangetbl_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING12_2_indexscan_join_on_skey
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: SELECT t1.col_bigint_id_1, t2.col_bigint_id_1 FROM JoinG12_Rangetbl_1 AS t1 JOIN JoinG12_Rangetbl_2 AS t2 ON t1.col_bigint_id_2 = t2.col_bigint_id_2 where t1.col_bigint_id_2>0 ;
+
+ - workload: JOING12_3_indexonly_join_on_skey
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: SELECT t1.col_bigint_id_2, t2.col_bigint_id_2 FROM JoinG12_Rangetbl_1 AS t1 JOIN JoinG12_Rangetbl_2 AS t2 ON t1.col_bigint_id_2 = t2.col_bigint_id_2 where t1.col_bigint_id_2>0 ;
+
+
+ - workload: JOING12_5_indexscan_join_on_skey_IN
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: SELECT t1.col_bigint_id_1, t2.col_bigint_id_1 FROM JoinG12_Rangetbl_1 AS t1 JOIN JoinG12_Rangetbl_2 AS t2 ON t1.col_bigint_id_2 = t2.col_bigint_id_2 where t1.col_bigint_id_2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ;
+ bindings:
+ split_min_max_for_count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING2_join_on_range_partitioned_tbl.yaml b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING2_join_on_range_partitioned_tbl.yaml
new file mode 100644
index 000000000..2da2429dd
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING2_join_on_range_partitioned_tbl.yaml
@@ -0,0 +1,119 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Rangetbl_1;
+ - DROP TABLE IF EXISTS Rangetbl_2;
+ - CREATE TABLE Rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Rangetbl_1(col_bigint_id_2);
+ - CREATE TABLE Rangetbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Rangetbl_2(col_bigint_id_2);
+ cleanup:
+ - DROP TABLE IF EXISTS Rangetbl_1;
+ - DROP TABLE IF EXISTS Rangetbl2;
+
+ loadRules:
+ - table: Rangetbl_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING2_2_join_on_pk_of_range_tbl_with_1_filter
+ customTags: customer=1,schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Rangetbl_2.col_bigint_id_1 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_1=Rangetbl_2.col_bigint_id_1 where Rangetbl_1.col_bigint_id_1<100001
+
+ - workload: JOING2_3_join_on_pk_of_range_tbl_with_2_filter
+ customTags: customer=2,schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=two,filteron=rangepkey,filtertype=comparision,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Rangetbl_2.col_bigint_id_1 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_1=Rangetbl_2.col_bigint_id_1 where Rangetbl_1.col_bigint_id_1<100001 and Rangetbl_2.col_bigint_id_1<100001
+
+ - workload: JOING2_4_join_on_rangeidx_of_range_tbl
+ customTags: schematype=colocated,partition=range,skey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangeskey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_2,Rangetbl_2.col_bigint_id_2 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_2=Rangetbl_2.col_bigint_id_2
+
+ - workload: JOING2_5_join_on_rangeidx_of_range_tbl_with_1_filter
+ customTags: schematype=colocated,partition=range,skey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=join,joinon=rangeskey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_2,Rangetbl_2.col_bigint_id_2 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_2=Rangetbl_2.col_bigint_id_2 where Rangetbl_1.col_bigint_id_2<100001
+
+ - workload: JOING2_6_join_on_nonidx_of_range_tbl
+ customTags: schematype=colocated,partition=range,cardinality=single,projection=nonindexed,queryshape=join,joinon=nonindexed
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_4,Rangetbl_2.col_bigint_id_4 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_4=Rangetbl_2.col_bigint_id_4
+
+ - workload: JOING2_7_join_on_nonidx_of_range_tbl_with_1_filter
+ customTags: schematype=colocated,partition=range,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=join,joinon=nonindexed
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_4,Rangetbl_2.col_bigint_id_4 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_4=Rangetbl_2.col_bigint_id_4 where Rangetbl_1.col_bigint_id_4<100001
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING3_join_predicate_cases.yaml b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING3_join_predicate_cases.yaml
new file mode 100644
index 000000000..0c59f1410
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING3_join_predicate_cases.yaml
@@ -0,0 +1,203 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Rangetbl_1;
+ - DROP TABLE IF EXISTS Rangetbl_2;
+ - CREATE TABLE Rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Rangetbl_1(col_bigint_id_2);
+ - CREATE TABLE Rangetbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Rangetbl_2(col_bigint_id_2);
+ - DROP TABLE IF EXISTS Hashtbl_1;
+ - DROP TABLE IF EXISTS Hashtbl_2;
+ - CREATE TABLE Hashtbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Hashtbl_1(col_bigint_id_2);
+ - CREATE INDEX ON Hashtbl_1(col_bigint_id_3);
+ - CREATE TABLE Hashtbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Hashtbl_2(col_bigint_id_2);
+ - CREATE INDEX ON Hashtbl_2(col_bigint_id_3);
+ cleanup:
+ - DROP TABLE IF EXISTS Rangetbl_1;
+ - DROP TABLE IF EXISTS Rangetbl2;
+ - DROP TABLE IF EXISTS Hashtbl_1;
+ - DROP TABLE IF EXISTS Hashtbl2;
+
+
+ loadRules:
+ - table: Rangetbl_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: Hashtbl_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING3_1_join_on_pk_of_range_and_hash_tbl
+ customTags: customer=2,partition=range,pkey=asc,cardinality=single,projection=multiple,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Hashtbl_1.col_bigint_id_1 from Rangetbl_1 join Hashtbl_1 on Rangetbl_1.col_bigint_id_1=Hashtbl_1.col_bigint_id_1
+
+
+ - workload: JOING3_2_join_on_hashpk_IN_clause_1k
+ customTags: customer=6,partition=range,pkey=asc,cardinality=single,projection=indexed,filteron=rangepkey,filtertype=IN,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_1,Hashtbl_2.col_bigint_id_1 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_1=Hashtbl_2.col_bigint_id_1 where Hashtbl_1.col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ explain-plan-rc-validation: 1000
+ bindings:
+ count: 1000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_3_join_on_hashpk_IN_clause_10k
+ customTags: partition=range,pkey=asc,cardinality=single,projection=indexed,filteron=rangepkey,filtertype=IN,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_1,Hashtbl_2.col_bigint_id_1 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_1=Hashtbl_2.col_bigint_id_1 where Hashtbl_1.col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ explain-plan-rc-validation: 10000
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_4_join_on_rangepk_IN_clause_1k
+ customTags: customer=3,partition=range,pkey=asc,cardinality=single,projection=indexed,filteron=hashpkey,filtertype=IN,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Rangetbl_2.col_bigint_id_1 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_1=Rangetbl_2.col_bigint_id_1 where Rangetbl_1.col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ explain-plan-rc-validation: 1000
+ bindings:
+ count: 1000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_5_join_on_rangepk_IN_clause_10k
+ customTags: partition=range,pkey=asc,cardinality=single,projection=indexed,filteron=rangepkey,filtertype=IN,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Rangetbl_2.col_bigint_id_1 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_1=Rangetbl_2.col_bigint_id_1 where Rangetbl_1.col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ explain-plan-rc-validation: 10000
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_6_join_on_hashidx_IN_clause_10k
+ customTags: customer=1,partition=range,skey=asc,cardinality=single,projection=indexed,filteron=rangepkey,filtertype=IN,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_2,Hashtbl_2.col_bigint_id_2 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_2=Hashtbl_2.col_bigint_id_2 where Hashtbl_1.col_bigint_id_2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_7_join_on_rangeidx_IN_clause_10k
+ customTags: customer=2,partition=range,skey=asc,cardinality=single,projection=indexed,filteron=rangeskey,filtertype=IN,queryshape=join,joinon=rangeskey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_2,Rangetbl_2.col_bigint_id_2 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_2=Rangetbl_2.col_bigint_id_2 where Rangetbl_1.col_bigint_id_2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING4_datatype_impact_joins.yaml b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING4_datatype_impact_joins.yaml
new file mode 100644
index 000000000..2b0ffa832
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING4_datatype_impact_joins.yaml
@@ -0,0 +1,129 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_2;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyVarchar1001M_1(col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_varchar100_pid_1));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyVarchar1001M_2(col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_varchar100_pid_1));
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_2;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyVarchar1001M_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_varchar100_pid_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+
+ executeRules:
+ - workload: JOING4_1_join_on_pk_of_bigint_datatype
+ customTags: schematype=colocated,partition=range,pkey=asc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_bigint_datatype
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1,pkeyBigint1M_2.col_bigint_id_1 from pkeyBigint1M_1 join pkeyBigint1M_2 on pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1
+
+
+ - workload: JOING4_2_join_on_pk_of_varchar_datatype
+ customTags: customer=1,schematype=colocated,partition=range,pkey=asc,columndatatype=varchar,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_bigint_datatype
+ weight: 100
+ queries:
+ - query: select pkeyVarchar1001M_1.col_varchar100_pid_1,pkeyVarchar1001M_2.col_varchar100_pid_1 from pkeyVarchar1001M_1 join pkeyVarchar1001M_2 on pkeyVarchar1001M_1.col_varchar100_pid_1=pkeyVarchar1001M_2.col_varchar100_pid_1
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING5_to_test_data_cardinality.yaml b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING5_to_test_data_cardinality.yaml
new file mode 100644
index 000000000..8db80d3a4
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING5_to_test_data_cardinality.yaml
@@ -0,0 +1,197 @@
+#100000 col1 col2 col3 col4
+#Table1 1*1M 1000*1k 10000*100
+#Table2 1*1L 1000*100 10000*10
+#Table3 1*10k 100*100 1000*10
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint10k_1;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1 ASC, col_bigint_card2_1 ASC, col_bigint_card3_1 ASC, col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1 ASC, col_bigint_card2_1 ASC, col_bigint_card3_1 ASC, col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint10k_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1 ASC, col_bigint_card2_1 ASC, col_bigint_card3_1 ASC, col_bigint_id_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint10k_1;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000,2000002,2000003,2000004,2000005,2000006,2000007,2000008,2000009,2000010,2000011,2000012,2000013,2000014,2000015,2000016,2000017,2000018,2000019,2000020,2000021,2000022,2000023,2000024,2000025,2000026,2000027,2000028,2000029,2000030,2000031,2000032,2000033,2000034,2000035,2000036,2000037,2000038,2000039,2000040,2000041,2000042,2000043,2000044,2000045,2000046,2000047,2000048,2000049,2000050,2000051,2000052,2000053,2000054,2000055,2000056,2000057,2000058,2000059,2000060,2000061,2000062,2000063,2000064,2000065,2000066,2000067,2000068,2000069,2000070,2000071,2000072,2000073,2000074,2000075,2000076,2000077,2000078,2000079,2000080,2000081,2000082,2000083,2000084,2000085,2000086,2000087,2000088,2000089,2000090,2000091,2000092,2000093,2000094,2000095,2000096,2000097,2000098,2000099,2000100,2000101,2000102,2000103,2000104,2000105,2000106,2000107,2000108,2000109,2000110,2000111,2000112,2000113,2000114,2000115,2000116,2000117,2000118,2000119,2000120,2000121,2000122,2000123,2000124,2000125,2000126,2000127,2000128,2000129,2000130,2000131,2000132,2000133,2000134,2000135,2000136,2000137,2000138,2000139,2000140,2000141,2000142,2000143,2000144,2000145,2000146,2000147,2000148,2000149,2000150,2000151,2000152,2000153,2000154,2000155,2000156,2000157,2000158,2000159,2000160,2000161,2000162,2000163,2000164,2000165,2000166,2000167,2000168,2000169,2000170,2000171,2000172,2000173,2000174,2000175,2000176,2000177,2000178,2000179,2000180,2000181,2000182,2000183,2000184,2000185,2000186,2000187,2000188,2000189,2000190,2000191,2000192,2000193,2000194,2000195,2000196,2000197,2000198,2000199,2000200,2000201,2000202,2000203,2000204,2000205,2000206,2000207,2000208,2000209,2000210,2000211,2000212,2000213,2000214,2000215,2000216,2000217,2000218,2000219,2000220,2000221,2000222,2000223,2000224,2000225,2000226,2000227,2000228,2000229,2000230,2000231,2000232,2000233,2000234,2000235,2000236,2000237,2000238,2000239,2000240,2000241,2000242,2000243,2000244,2000245,2000246,2000247,2000248,2000249,2000250,2000251,2000252,2000253,2000254,2000255,2000256,2000257,2000258,2000259,2000260,2000261,2000262,2000263,2000264,2000265,2000266,2000267,2000268,2000269,2000270,2000271,2000272,2000273,2000274,2000275,2000276,2000277,2000278,2000279,2000280,2000281,2000282,2000283,2000284,2000285,2000286,2000287,2000288,2000289,2000290,2000291,2000292,2000293,2000294,2000295,2000296,2000297,2000298,2000299,2000300,2000301,2000302,2000303,2000304,2000305,2000306,2000307,2000308,2000309,2000310,2000311,2000312,2000313,2000314,2000315,2000316,2000317,2000318,2000319,2000320,2000321,2000322,2000323,2000324,2000325,2000326,2000327,2000328,2000329,2000330,2000331,2000332,2000333,2000334,2000335,2000336,2000337,2000338,2000339,2000340,2000341,2000342,2000343,2000344,2000345,2000346,2000347,2000348,2000349,2000350,2000351,2000352,2000353,2000354,2000355,2000356,2000357,2000358,2000359,2000360,2000361,2000362,2000363,2000364,2000365,2000366,2000367,2000368,2000369,2000370,2000371,2000372,2000373,2000374,2000375,2000376,2000377,2000378,2000379,2000380,2000381,2000382,2000383,2000384,2000385,2000386,2000387,2000388,2000389,2000390,2000391,2000392,2000393,2000394,2000395,2000396,2000397,2000398,2000399,2000400,2000401,2000402,2000403,2000404,2000405,2000406,2000407,2000408,2000409,2000410,2000411,2000412,2000413,2000414,2000415,2000416,2000417,2000418,2000419,2000420,2000421,2000422,2000423,2000424,2000425,2000426,2000427,2000428,2000429,2000430,2000431,2000432,2000433,2000434,2000435,2000436,2000437,2000438,2000439,2000440,2000441,2000442,2000443,2000444,2000445,2000446,2000447,2000448,2000449,2000450,2000451,2000452,2000453,2000454,2000455,2000456,2000457,2000458,2000459,2000460,2000461,2000462,2000463,2000464,2000465,2000466,2000467,2000468,2000469,2000470,2000471,2000472,2000473,2000474,2000475,2000476,2000477,2000478,2000479,2000480,2000481,2000482,2000483,2000484,2000485,2000486,2000487,2000488,2000489,2000490,2000491,2000492,2000493,2000494,2000495,2000496,2000497,2000498,2000499,2000500,2000501,2000502,2000503,2000504,2000505,2000506,2000507,2000508,2000509,2000510,2000511,2000512,2000513,2000514,2000515,2000516,2000517,2000518,2000519,2000520,2000521,2000522,2000523,2000524,2000525,2000526,2000527,2000528,2000529,2000530,2000531,2000532,2000533,2000534,2000535,2000536,2000537,2000538,2000539,2000540,2000541,2000542,2000543,2000544,2000545,2000546,2000547,2000548,2000549,2000550,2000551,2000552,2000553,2000554,2000555,2000556,2000557,2000558,2000559,2000560,2000561,2000562,2000563,2000564,2000565,2000566,2000567,2000568,2000569,2000570,2000571,2000572,2000573,2000574,2000575,2000576,2000577,2000578,2000579,2000580,2000581,2000582,2000583,2000584,2000585,2000586,2000587,2000588,2000589,2000590,2000591,2000592,2000593,2000594,2000595,2000596,2000597,2000598,2000599,2000600,2000601,2000602,2000603,2000604,2000605,2000606,2000607,2000608,2000609,2000610,2000611,2000612,2000613,2000614,2000615,2000616,2000617,2000618,2000619,2000620,2000621,2000622,2000623,2000624,2000625,2000626,2000627,2000628,2000629,2000630,2000631,2000632,2000633,2000634,2000635,2000636,2000637,2000638,2000639,2000640,2000641,2000642,2000643,2000644,2000645,2000646,2000647,2000648,2000649,2000650,2000651,2000652,2000653,2000654,2000655,2000656,2000657,2000658,2000659,2000660,2000661,2000662,2000663,2000664,2000665,2000666,2000667,2000668,2000669,2000670,2000671,2000672,2000673,2000674,2000675,2000676,2000677,2000678,2000679,2000680,2000681,2000682,2000683,2000684,2000685,2000686,2000687,2000688,2000689,2000690,2000691,2000692,2000693,2000694,2000695,2000696,2000697,2000698,2000699,2000700,2000701,2000702,2000703,2000704,2000705,2000706,2000707,2000708,2000709,2000710,2000711,2000712,2000713,2000714,2000715,2000716,2000717,2000718,2000719,2000720,2000721,2000722,2000723,2000724,2000725,2000726,2000727,2000728,2000729,2000730,2000731,2000732,2000733,2000734,2000735,2000736,2000737,2000738,2000739,2000740,2000741,2000742,2000743,2000744,2000745,2000746,2000747,2000748,2000749,2000750,2000751,2000752,2000753,2000754,2000755,2000756,2000757,2000758,2000759,2000760,2000761,2000762,2000763,2000764,2000765,2000766,2000767,2000768,2000769,2000770,2000771,2000772,2000773,2000774,2000775,2000776,2000777,2000778,2000779,2000780,2000781,2000782,2000783,2000784,2000785,2000786,2000787,2000788,2000789,2000790,2000791,2000792,2000793,2000794,2000795,2000796,2000797,2000798,2000799,2000800,2000801,2000802,2000803,2000804,2000805,2000806,2000807,2000808,2000809,2000810,2000811,2000812,2000813,2000814,2000815,2000816,2000817,2000818,2000819,2000820,2000821,2000822,2000823,2000824,2000825,2000826,2000827,2000828,2000829,2000830,2000831,2000832,2000833,2000834,2000835,2000836,2000837,2000838,2000839,2000840,2000841,2000842,2000843,2000844,2000845,2000846,2000847,2000848,2000849,2000850,2000851,2000852,2000853,2000854,2000855,2000856,2000857,2000858,2000859,2000860,2000861,2000862,2000863,2000864,2000865,2000866,2000867,2000868,2000869,2000870,2000871,2000872,2000873,2000874,2000875,2000876,2000877,2000878,2000879,2000880,2000881,2000882,2000883,2000884,2000885,2000886,2000887,2000888,2000889,2000890,2000891,2000892,2000893,2000894,2000895,2000896,2000897,2000898,2000899,2000900,2000901,2000902,2000903,2000904,2000905,2000906,2000907,2000908,2000909,2000910,2000911,2000912,2000913,2000914,2000915,2000916,2000917,2000918,2000919,2000920,2000921,2000922,2000923,2000924,2000925,2000926,2000927,2000928,2000929,2000930,2000931,2000932,2000933,2000934,2000935,2000936,2000937,2000938,2000939,2000940,2000941,2000942,2000943,2000944,2000945,2000946,2000947,2000948,2000949,2000950,2000951,2000952,2000953,2000954,2000955,2000956,2000957,2000958,2000959,2000960,2000961,2000962,2000963,2000964,2000965,2000966,2000967,2000968,2000969,2000970,2000971,2000972,2000973,2000974,2000975,2000976,2000977,2000978,2000979,2000980,2000981,2000982,2000983,2000984,2000985,2000986,2000987,2000988,2000989,2000990,2000991,2000992,2000993,2000994,2000995,2000996,2000997,2000998,2000999,2001000,3000001,3000002,3000003,3000004,3000005,3000006,3000007,3000008,3000009,3000010,3000011,3000012,3000013,3000014,3000015,3000016,3000017,3000018,3000019,3000020,3000021,3000022,3000023,3000024,3000025,3000026,3000027,3000028,3000029,3000030,3000031,3000032,3000033,3000034,3000035,3000036,3000037,3000038,3000039,3000040,3000041,3000042,3000043,3000044,3000045,3000046,3000047,3000048,3000049,3000050,3000051,3000052,3000053,3000054,3000055,3000056,3000057,3000058,3000059,3000060,3000061,3000062,3000063,3000064,3000065,3000066,3000067,3000068,3000069,3000070,3000071,3000072,3000073,3000074,3000075,3000076,3000077,3000078,3000079,3000080,3000081,3000082,3000083,3000084,3000085,3000086,3000087,3000088,3000089,3000090,3000091,3000092,3000093,3000094,3000095,3000096,3000097,3000098,3000099,3000100,3000101,3000102,3000103,3000104,3000105,3000106,3000107,3000108,3000109,3000110,3000111,3000112,3000113,3000114,3000115,3000116,3000117,3000118,3000119,3000120,3000121,3000122,3000123,3000124,3000125,3000126,3000127,3000128,3000129,3000130,3000131,3000132,3000133,3000134,3000135,3000136,3000137,3000138,3000139,3000140,3000141,3000142,3000143,3000144,3000145,3000146,3000147,3000148,3000149,3000150,3000151,3000152,3000153,3000154,3000155,3000156,3000157,3000158,3000159,3000160,3000161,3000162,3000163,3000164,3000165,3000166,3000167,3000168,3000169,3000170,3000171,3000172,3000173,3000174,3000175,3000176,3000177,3000178,3000179,3000180,3000181,3000182,3000183,3000184,3000185,3000186,3000187,3000188,3000189,3000190,3000191,3000192,3000193,3000194,3000195,3000196,3000197,3000198,3000199,3000200,3000201,3000202,3000203,3000204,3000205,3000206,3000207,3000208,3000209,3000210,3000211,3000212,3000213,3000214,3000215,3000216,3000217,3000218,3000219,3000220,3000221,3000222,3000223,3000224,3000225,3000226,3000227,3000228,3000229,3000230,3000231,3000232,3000233,3000234,3000235,3000236,3000237,3000238,3000239,3000240,3000241,3000242,3000243,3000244,3000245,3000246,3000247,3000248,3000249,3000250,3000251,3000252,3000253,3000254,3000255,3000256,3000257,3000258,3000259,3000260,3000261,3000262,3000263,3000264,3000265,3000266,3000267,3000268,3000269,3000270,3000271,3000272,3000273,3000274,3000275,3000276,3000277,3000278,3000279,3000280,3000281,3000282,3000283,3000284,3000285,3000286,3000287,3000288,3000289,3000290,3000291,3000292,3000293,3000294,3000295,3000296,3000297,3000298,3000299,3000300,3000301,3000302,3000303,3000304,3000305,3000306,3000307,3000308,3000309,3000310,3000311,3000312,3000313,3000314,3000315,3000316,3000317,3000318,3000319,3000320,3000321,3000322,3000323,3000324,3000325,3000326,3000327,3000328,3000329,3000330,3000331,3000332,3000333,3000334,3000335,3000336,3000337,3000338,3000339,3000340,3000341,3000342,3000343,3000344,3000345,3000346,3000347,3000348,3000349,3000350,3000351,3000352,3000353,3000354,3000355,3000356,3000357,3000358,3000359,3000360,3000361,3000362,3000363,3000364,3000365,3000366,3000367,3000368,3000369,3000370,3000371,3000372,3000373,3000374,3000375,3000376,3000377,3000378,3000379,3000380,3000381,3000382,3000383,3000384,3000385,3000386,3000387,3000388,3000389,3000390,3000391,3000392,3000393,3000394,3000395,3000396,3000397,3000398,3000399,3000400,3000401,3000402,3000403,3000404,3000405,3000406,3000407,3000408,3000409,3000410,3000411,3000412,3000413,3000414,3000415,3000416,3000417,3000418,3000419,3000420,3000421,3000422,3000423,3000424,3000425,3000426,3000427,3000428,3000429,3000430,3000431,3000432,3000433,3000434,3000435,3000436,3000437,3000438,3000439,3000440,3000441,3000442,3000443,3000444,3000445,3000446,3000447,3000448,3000449,3000450,3000451,3000452,3000453,3000454,3000455,3000456,3000457,3000458,3000459,3000460,3000461,3000462,3000463,3000464,3000465,3000466,3000467,3000468,3000469,3000470,3000471,3000472,3000473,3000474,3000475,3000476,3000477,3000478,3000479,3000480,3000481,3000482,3000483,3000484,3000485,3000486,3000487,3000488,3000489,3000490,3000491,3000492,3000493,3000494,3000495,3000496,3000497,3000498,3000499,3000500,3000501,3000502,3000503,3000504,3000505,3000506,3000507,3000508,3000509,3000510,3000511,3000512,3000513,3000514,3000515,3000516,3000517,3000518,3000519,3000520,3000521,3000522,3000523,3000524,3000525,3000526,3000527,3000528,3000529,3000530,3000531,3000532,3000533,3000534,3000535,3000536,3000537,3000538,3000539,3000540,3000541,3000542,3000543,3000544,3000545,3000546,3000547,3000548,3000549,3000550,3000551,3000552,3000553,3000554,3000555,3000556,3000557,3000558,3000559,3000560,3000561,3000562,3000563,3000564,3000565,3000566,3000567,3000568,3000569,3000570,3000571,3000572,3000573,3000574,3000575,3000576,3000577,3000578,3000579,3000580,3000581,3000582,3000583,3000584,3000585,3000586,3000587,3000588,3000589,3000590,3000591,3000592,3000593,3000594,3000595,3000596,3000597,3000598,3000599,3000600,3000601,3000602,3000603,3000604,3000605,3000606,3000607,3000608,3000609,3000610,3000611,3000612,3000613,3000614,3000615,3000616,3000617,3000618,3000619,3000620,3000621,3000622,3000623,3000624,3000625,3000626,3000627,3000628,3000629,3000630,3000631,3000632,3000633,3000634,3000635,3000636,3000637,3000638,3000639,3000640,3000641,3000642,3000643,3000644,3000645,3000646,3000647,3000648,3000649,3000650,3000651,3000652,3000653,3000654,3000655,3000656,3000657,3000658,3000659,3000660,3000661,3000662,3000663,3000664,3000665,3000666,3000667,3000668,3000669,3000670,3000671,3000672,3000673,3000674,3000675,3000676,3000677,3000678,3000679,3000680,3000681,3000682,3000683,3000684,3000685,3000686,3000687,3000688,3000689,3000690,3000691,3000692,3000693,3000694,3000695,3000696,3000697,3000698,3000699,3000700,3000701,3000702,3000703,3000704,3000705,3000706,3000707,3000708,3000709,3000710,3000711,3000712,3000713,3000714,3000715,3000716,3000717,3000718,3000719,3000720,3000721,3000722,3000723,3000724,3000725,3000726,3000727,3000728,3000729,3000730,3000731,3000732,3000733,3000734,3000735,3000736,3000737,3000738,3000739,3000740,3000741,3000742,3000743,3000744,3000745,3000746,3000747,3000748,3000749,3000750,3000751,3000752,3000753,3000754,3000755,3000756,3000757,3000758,3000759,3000760,3000761,3000762,3000763,3000764,3000765,3000766,3000767,3000768,3000769,3000770,3000771,3000772,3000773,3000774,3000775,3000776,3000777,3000778,3000779,3000780,3000781,3000782,3000783,3000784,3000785,3000786,3000787,3000788,3000789,3000790,3000791,3000792,3000793,3000794,3000795,3000796,3000797,3000798,3000799,3000800,3000801,3000802,3000803,3000804,3000805,3000806,3000807,3000808,3000809,3000810,3000811,3000812,3000813,3000814,3000815,3000816,3000817,3000818,3000819,3000820,3000821,3000822,3000823,3000824,3000825,3000826,3000827,3000828,3000829,3000830,3000831,3000832,3000833,3000834,3000835,3000836,3000837,3000838,3000839,3000840,3000841,3000842,3000843,3000844,3000845,3000846,3000847,3000848,3000849,3000850,3000851,3000852,3000853,3000854,3000855,3000856,3000857,3000858,3000859,3000860,3000861,3000862,3000863,3000864,3000865,3000866,3000867,3000868,3000869,3000870,3000871,3000872,3000873,3000874,3000875,3000876,3000877,3000878,3000879,3000880,3000881,3000882,3000883,3000884,3000885,3000886,3000887,3000888,3000889,3000890,3000891,3000892,3000893,3000894,3000895,3000896,3000897,3000898,3000899,3000900,3000901,3000902,3000903,3000904,3000905,3000906,3000907,3000908,3000909,3000910,3000911,3000912,3000913,3000914,3000915,3000916,3000917,3000918,3000919,3000920,3000921,3000922,3000923,3000924,3000925,3000926,3000927,3000928,3000929,3000930,3000931,3000932,3000933,3000934,3000935,3000936,3000937,3000938,3000939,3000940,3000941,3000942,3000943,3000944,3000945,3000946,3000947,3000948,3000949,3000950,3000951,3000952,3000953,3000954,3000955,3000956,3000957,3000958,3000959,3000960,3000961,3000962,3000963,3000964,3000965,3000966,3000967,3000968,3000969,3000970,3000971,3000972,3000973,3000974,3000975,3000976,3000977,3000978,3000979,3000980,3000981,3000982,3000983,3000984,3000985,3000986,3000987,3000988,3000989,3000990,3000991,3000992,3000993,3000994,3000995,3000996,3000997,3000998,3000999,3001000,4000001,4000002,4000003,4000004,4000005,4000006,4000007,4000008,4000009,4000010,4000011,4000012,4000013,4000014,4000015,4000016,4000017,4000018,4000019,4000020,4000021,4000022,4000023,4000024,4000025,4000026,4000027,4000028,4000029,4000030,4000031,4000032,4000033,4000034,4000035,4000036,4000037,4000038,4000039,4000040,4000041,4000042,4000043,4000044,4000045,4000046,4000047,4000048,4000049,4000050,4000051,4000052,4000053,4000054,4000055,4000056,4000057,4000058,4000059,4000060,4000061,4000062,4000063,4000064,4000065,4000066,4000067,4000068,4000069,4000070,4000071,4000072,4000073,4000074,4000075,4000076,4000077,4000078,4000079,4000080,4000081,4000082,4000083,4000084,4000085,4000086,4000087,4000088,4000089,4000090,4000091,4000092,4000093,4000094,4000095,4000096,4000097,4000098,4000099,4000100,4000101,4000102,4000103,4000104,4000105,4000106,4000107,4000108,4000109,4000110,4000111,4000112,4000113,4000114,4000115,4000116,4000117,4000118,4000119,4000120,4000121,4000122,4000123,4000124,4000125,4000126,4000127,4000128,4000129,4000130,4000131,4000132,4000133,4000134,4000135,4000136,4000137,4000138,4000139,4000140,4000141,4000142,4000143,4000144,4000145,4000146,4000147,4000148,4000149,4000150,4000151,4000152,4000153,4000154,4000155,4000156,4000157,4000158,4000159,4000160,4000161,4000162,4000163,4000164,4000165,4000166,4000167,4000168,4000169,4000170,4000171,4000172,4000173,4000174,4000175,4000176,4000177,4000178,4000179,4000180,4000181,4000182,4000183,4000184,4000185,4000186,4000187,4000188,4000189,4000190,4000191,4000192,4000193,4000194,4000195,4000196,4000197,4000198,4000199,4000200,4000201,4000202,4000203,4000204,4000205,4000206,4000207,4000208,4000209,4000210,4000211,4000212,4000213,4000214,4000215,4000216,4000217,4000218,4000219,4000220,4000221,4000222,4000223,4000224,4000225,4000226,4000227,4000228,4000229,4000230,4000231,4000232,4000233,4000234,4000235,4000236,4000237,4000238,4000239,4000240,4000241,4000242,4000243,4000244,4000245,4000246,4000247,4000248,4000249,4000250,4000251,4000252,4000253,4000254,4000255,4000256,4000257,4000258,4000259,4000260,4000261,4000262,4000263,4000264,4000265,4000266,4000267,4000268,4000269,4000270,4000271,4000272,4000273,4000274,4000275,4000276,4000277,4000278,4000279,4000280,4000281,4000282,4000283,4000284,4000285,4000286,4000287,4000288,4000289,4000290,4000291,4000292,4000293,4000294,4000295,4000296,4000297,4000298,4000299,4000300,4000301,4000302,4000303,4000304,4000305,4000306,4000307,4000308,4000309,4000310,4000311,4000312,4000313,4000314,4000315,4000316,4000317,4000318,4000319,4000320,4000321,4000322,4000323,4000324,4000325,4000326,4000327,4000328,4000329,4000330,4000331,4000332,4000333,4000334,4000335,4000336,4000337,4000338,4000339,4000340,4000341,4000342,4000343,4000344,4000345,4000346,4000347,4000348,4000349,4000350,4000351,4000352,4000353,4000354,4000355,4000356,4000357,4000358,4000359,4000360,4000361,4000362,4000363,4000364,4000365,4000366,4000367,4000368,4000369,4000370,4000371,4000372,4000373,4000374,4000375,4000376,4000377,4000378,4000379,4000380,4000381,4000382,4000383,4000384,4000385,4000386,4000387,4000388,4000389,4000390,4000391,4000392,4000393,4000394,4000395,4000396,4000397,4000398,4000399,4000400,4000401,4000402,4000403,4000404,4000405,4000406,4000407,4000408,4000409,4000410,4000411,4000412,4000413,4000414,4000415,4000416,4000417,4000418,4000419,4000420,4000421,4000422,4000423,4000424,4000425,4000426,4000427,4000428,4000429,4000430,4000431,4000432,4000433,4000434,4000435,4000436,4000437,4000438,4000439,4000440,4000441,4000442,4000443,4000444,4000445,4000446,4000447,4000448,4000449,4000450,4000451,4000452,4000453,4000454,4000455,4000456,4000457,4000458,4000459,4000460,4000461,4000462,4000463,4000464,4000465,4000466,4000467,4000468,4000469,4000470,4000471,4000472,4000473,4000474,4000475,4000476,4000477,4000478,4000479,4000480,4000481,4000482,4000483,4000484,4000485,4000486,4000487,4000488,4000489,4000490,4000491,4000492,4000493,4000494,4000495,4000496,4000497,4000498,4000499,4000500,4000501,4000502,4000503,4000504,4000505,4000506,4000507,4000508,4000509,4000510,4000511,4000512,4000513,4000514,4000515,4000516,4000517,4000518,4000519,4000520,4000521,4000522,4000523,4000524,4000525,4000526,4000527,4000528,4000529,4000530,4000531,4000532,4000533,4000534,4000535,4000536,4000537,4000538,4000539,4000540,4000541,4000542,4000543,4000544,4000545,4000546,4000547,4000548,4000549,4000550,4000551,4000552,4000553,4000554,4000555,4000556,4000557,4000558,4000559,4000560,4000561,4000562,4000563,4000564,4000565,4000566,4000567,4000568,4000569,4000570,4000571,4000572,4000573,4000574,4000575,4000576,4000577,4000578,4000579,4000580,4000581,4000582,4000583,4000584,4000585,4000586,4000587,4000588,4000589,4000590,4000591,4000592,4000593,4000594,4000595,4000596,4000597,4000598,4000599,4000600,4000601,4000602,4000603,4000604,4000605,4000606,4000607,4000608,4000609,4000610,4000611,4000612,4000613,4000614,4000615,4000616,4000617,4000618,4000619,4000620,4000621,4000622,4000623,4000624,4000625,4000626,4000627,4000628,4000629,4000630,4000631,4000632,4000633,4000634,4000635,4000636,4000637,4000638,4000639,4000640,4000641,4000642,4000643,4000644,4000645,4000646,4000647,4000648,4000649,4000650,4000651,4000652,4000653,4000654,4000655,4000656,4000657,4000658,4000659,4000660,4000661,4000662,4000663,4000664,4000665,4000666,4000667,4000668,4000669,4000670,4000671,4000672,4000673,4000674,4000675,4000676,4000677,4000678,4000679,4000680,4000681,4000682,4000683,4000684,4000685,4000686,4000687,4000688,4000689,4000690,4000691,4000692,4000693,4000694,4000695,4000696,4000697,4000698,4000699,4000700,4000701,4000702,4000703,4000704,4000705,4000706,4000707,4000708,4000709,4000710,4000711,4000712,4000713,4000714,4000715,4000716,4000717,4000718,4000719,4000720,4000721,4000722,4000723,4000724,4000725,4000726,4000727,4000728,4000729,4000730,4000731,4000732,4000733,4000734,4000735,4000736,4000737,4000738,4000739,4000740,4000741,4000742,4000743,4000744,4000745,4000746,4000747,4000748,4000749,4000750,4000751,4000752,4000753,4000754,4000755,4000756,4000757,4000758,4000759,4000760,4000761,4000762,4000763,4000764,4000765,4000766,4000767,4000768,4000769,4000770,4000771,4000772,4000773,4000774,4000775,4000776,4000777,4000778,4000779,4000780,4000781,4000782,4000783,4000784,4000785,4000786,4000787,4000788,4000789,4000790,4000791,4000792,4000793,4000794,4000795,4000796,4000797,4000798,4000799,4000800,4000801,4000802,4000803,4000804,4000805,4000806,4000807,4000808,4000809,4000810,4000811,4000812,4000813,4000814,4000815,4000816,4000817,4000818,4000819,4000820,4000821,4000822,4000823,4000824,4000825,4000826,4000827,4000828,4000829,4000830,4000831,4000832,4000833,4000834,4000835,4000836,4000837,4000838,4000839,4000840,4000841,4000842,4000843,4000844,4000845,4000846,4000847,4000848,4000849,4000850,4000851,4000852,4000853,4000854,4000855,4000856,4000857,4000858,4000859,4000860,4000861,4000862,4000863,4000864,4000865,4000866,4000867,4000868,4000869,4000870,4000871,4000872,4000873,4000874,4000875,4000876,4000877,4000878,4000879,4000880,4000881,4000882,4000883,4000884,4000885,4000886,4000887,4000888,4000889,4000890,4000891,4000892,4000893,4000894,4000895,4000896,4000897,4000898,4000899,4000900,4000901,4000902,4000903,4000904,4000905,4000906,4000907,4000908,4000909,4000910,4000911,4000912,4000913,4000914,4000915,4000916,4000917,4000918,4000919,4000920,4000921,4000922,4000923,4000924,4000925,4000926,4000927,4000928,4000929,4000930,4000931,4000932,4000933,4000934,4000935,4000936,4000937,4000938,4000939,4000940,4000941,4000942,4000943,4000944,4000945,4000946,4000947,4000948,4000949,4000950,4000951,4000952,4000953,4000954,4000955,4000956,4000957,4000958,4000959,4000960,4000961,4000962,4000963,4000964,4000965,4000966,4000967,4000968,4000969,4000970,4000971,4000972,4000973,4000974,4000975,4000976,4000977,4000978,4000979,4000980,4000981,4000982,4000983,4000984,4000985,4000986,4000987,4000988,4000989,4000990,4000991,4000992,4000993,4000994,4000995,4000996,4000997,4000998,4000999,4001000,5000002,5000003,5000004,5000005,5000006,5000007,5000008,5000009,5000010,5000011,5000012,5000013,5000014,5000015,5000016,5000017,5000018,5000019,5000020,5000021,5000022,5000023,5000024,5000025,5000026,5000027,5000028,5000029,5000030,5000031,5000032,5000033,5000034,5000035,5000036,5000037,5000038,5000039,5000040,5000041,5000042,5000043,5000044,5000045,5000046,5000047,5000048,5000049,5000050,5000051,5000052,5000053,5000054,5000055,5000056,5000057,5000058,5000059,5000060,5000061,5000062,5000063,5000064,5000065,5000066,5000067,5000068,5000069,5000070,5000071,5000072,5000073,5000074,5000075,5000076,5000077,5000078,5000079,5000080,5000081,5000082,5000083,5000084,5000085,5000086,5000087,5000088,5000089,5000090,5000091,5000092,5000093,5000094,5000095,5000096,5000097,5000098,5000099,5000100,5000101,5000102,5000103,5000104,5000105,5000106,5000107,5000108,5000109,5000110,5000111,5000112,5000113,5000114,5000115,5000116,5000117,5000118,5000119,5000120,5000121,5000122,5000123,5000124,5000125,5000126,5000127,5000128,5000129,5000130,5000131,5000132,5000133,5000134,5000135,5000136,5000137,5000138,5000139,5000140,5000141,5000142,5000143,5000144,5000145,5000146,5000147,5000148,5000149,5000150,5000151,5000152,5000153,5000154,5000155,5000156,5000157,5000158,5000159,5000160,5000161,5000162,5000163,5000164,5000165,5000166,5000167,5000168,5000169,5000170,5000171,5000172,5000173,5000174,5000175,5000176,5000177,5000178,5000179,5000180,5000181,5000182,5000183,5000184,5000185,5000186,5000187,5000188,5000189,5000190,5000191,5000192,5000193,5000194,5000195,5000196,5000197,5000198,5000199,5000200,5000201,5000202,5000203,5000204,5000205,5000206,5000207,5000208,5000209,5000210,5000211,5000212,5000213,5000214,5000215,5000216,5000217,5000218,5000219,5000220,5000221,5000222,5000223,5000224,5000225,5000226,5000227,5000228,5000229,5000230,5000231,5000232,5000233,5000234,5000235,5000236,5000237,5000238,5000239,5000240,5000241,5000242,5000243,5000244,5000245,5000246,5000247,5000248,5000249,5000250,5000251,5000252,5000253,5000254,5000255,5000256,5000257,5000258,5000259,5000260,5000261,5000262,5000263,5000264,5000265,5000266,5000267,5000268,5000269,5000270,5000271,5000272,5000273,5000274,5000275,5000276,5000277,5000278,5000279,5000280,5000281,5000282,5000283,5000284,5000285,5000286,5000287,5000288,5000289,5000290,5000291,5000292,5000293,5000294,5000295,5000296,5000297,5000298,5000299,5000300,5000301,5000302,5000303,5000304,5000305,5000306,5000307,5000308,5000309,5000310,5000311,5000312,5000313,5000314,5000315,5000316,5000317,5000318,5000319,5000320,5000321,5000322,5000323,5000324,5000325,5000326,5000327,5000328,5000329,5000330,5000331,5000332,5000333,5000334,5000335,5000336,5000337,5000338,5000339,5000340,5000341,5000342,5000343,5000344,5000345,5000346,5000347,5000348,5000349,5000350,5000351,5000352,5000353,5000354,5000355,5000356,5000357,5000358,5000359,5000360,5000361,5000362,5000363,5000364,5000365,5000366,5000367,5000368,5000369,5000370,5000371,5000372,5000373,5000374,5000375,5000376,5000377,5000378,5000379,5000380,5000381,5000382,5000383,5000384,5000385,5000386,5000387,5000388,5000389,5000390,5000391,5000392,5000393,5000394,5000395,5000396,5000397,5000398,5000399,5000400,5000401,5000402,5000403,5000404,5000405,5000406,5000407,5000408,5000409,5000410,5000411,5000412,5000413,5000414,5000415,5000416,5000417,5000418,5000419,5000420,5000421,5000422,5000423,5000424,5000425,5000426,5000427,5000428,5000429,5000430,5000431,5000432,5000433,5000434,5000435,5000436,5000437,5000438,5000439,5000440,5000441,5000442,5000443,5000444,5000445,5000446,5000447,5000448,5000449,5000450,5000451,5000452,5000453,5000454,5000455,5000456,5000457,5000458,5000459,5000460,5000461,5000462,5000463,5000464,5000465,5000466,5000467,5000468,5000469,5000470,5000471,5000472,5000473,5000474,5000475,5000476,5000477,5000478,5000479,5000480,5000481,5000482,5000483,5000484,5000485,5000486,5000487,5000488,5000489,5000490,5000491,5000492,5000493,5000494,5000495,5000496,5000497,5000498,5000499,5000500,5000501,5000502,5000503,5000504,5000505,5000506,5000507,5000508,5000509,5000510,5000511,5000512,5000513,5000514,5000515,5000516,5000517,5000518,5000519,5000520,5000521,5000522,5000523,5000524,5000525,5000526,5000527,5000528,5000529,5000530,5000531,5000532,5000533,5000534,5000535,5000536,5000537,5000538,5000539,5000540,5000541,5000542,5000543,5000544,5000545,5000546,5000547,5000548,5000549,5000550,5000551,5000552,5000553,5000554,5000555,5000556,5000557,5000558,5000559,5000560,5000561,5000562,5000563,5000564,5000565,5000566,5000567,5000568,5000569,5000570,5000571,5000572,5000573,5000574,5000575,5000576,5000577,5000578,5000579,5000580,5000581,5000582,5000583,5000584,5000585,5000586,5000587,5000588,5000589,5000590,5000591,5000592,5000593,5000594,5000595,5000596,5000597,5000598,5000599,5000600,5000601,5000602,5000603,5000604,5000605,5000606,5000607,5000608,5000609,5000610,5000611,5000612,5000613,5000614,5000615,5000616,5000617,5000618,5000619,5000620,5000621,5000622,5000623,5000624,5000625,5000626,5000627,5000628,5000629,5000630,5000631,5000632,5000633,5000634,5000635,5000636,5000637,5000638,5000639,5000640,5000641,5000642,5000643,5000644,5000645,5000646,5000647,5000648,5000649,5000650,5000651,5000652,5000653,5000654,5000655,5000656,5000657,5000658,5000659,5000660,5000661,5000662,5000663,5000664,5000665,5000666,5000667,5000668,5000669,5000670,5000671,5000672,5000673,5000674,5000675,5000676,5000677,5000678,5000679,5000680,5000681,5000682,5000683,5000684,5000685,5000686,5000687,5000688,5000689,5000690,5000691,5000692,5000693,5000694,5000695,5000696,5000697,5000698,5000699,5000700,5000701,5000702,5000703,5000704,5000705,5000706,5000707,5000708,5000709,5000710,5000711,5000712,5000713,5000714,5000715,5000716,5000717,5000718,5000719,5000720,5000721,5000722,5000723,5000724,5000725,5000726,5000727,5000728,5000729,5000730,5000731,5000732,5000733,5000734,5000735,5000736,5000737,5000738,5000739,5000740,5000741,5000742,5000743,5000744,5000745,5000746,5000747,5000748,5000749,5000750,5000751,5000752,5000753,5000754,5000755,5000756,5000757,5000758,5000759,5000760,5000761,5000762,5000763,5000764,5000765,5000766,5000767,5000768,5000769,5000770,5000771,5000772,5000773,5000774,5000775,5000776,5000777,5000778,5000779,5000780,5000781,5000782,5000783,5000784,5000785,5000786,5000787,5000788,5000789,5000790,5000791,5000792,5000793,5000794,5000795,5000796,5000797,5000798,5000799,5000800,5000801,5000802,5000803,5000804,5000805,5000806,5000807,5000808,5000809,5000810,5000811,5000812,5000813,5000814,5000815,5000816,5000817,5000818,5000819,5000820,5000821,5000822,5000823,5000824,5000825,5000826,5000827,5000828,5000829,5000830,5000831,5000832,5000833,5000834,5000835,5000836,5000837,5000838,5000839,5000840,5000841,5000842,5000843,5000844,5000845,5000846,5000847,5000848,5000849,5000850,5000851,5000852,5000853,5000854,5000855,5000856,5000857,5000858,5000859,5000860,5000861,5000862,5000863,5000864,5000865,5000866,5000867,5000868,5000869,5000870,5000871,5000872,5000873,5000874,5000875,5000876,5000877,5000878,5000879,5000880,5000881,5000882,5000883,5000884,5000885,5000886,5000887,5000888,5000889,5000890,5000891,5000892,5000893,5000894,5000895,5000896,5000897,5000898,5000899,5000900,5000901,5000902,5000903,5000904,5000905,5000906,5000907,5000908,5000909,5000910,5000911,5000912,5000913,5000914,5000915,5000916,5000917,5000918,5000919,5000920,5000921,5000922,5000923,5000924,5000925,5000926,5000927,5000928,5000929,5000930,5000931,5000932,5000933,5000934,5000935,5000936,5000937,5000938,5000939,5000940,5000941,5000942,5000943,5000944,5000945,5000946,5000947,5000948,5000949,5000950,5000951,5000952,5000953,5000954,5000955,5000956,5000957,5000958,5000959,5000960,5000961,5000962,5000963,5000964,5000965,5000966,5000967,5000968,5000969,5000970,5000971,5000972,5000973,5000974,5000975,5000976,5000977,5000978,5000979,5000980,5000981,5000982,5000983,5000984,5000985,5000986,5000987,5000988,5000989,5000990,5000991,5000992,5000993,5000994,5000995,5000996,5000997,5000998,5000999,5001000,6000001,6000002,6000003,6000004,6000005,6000006,6000007,6000008,6000009,6000010,6000011,6000012,6000013,6000014,6000015,6000016,6000017,6000018,6000019,6000020,6000021,6000022,6000023,6000024,6000025,6000026,6000027,6000028,6000029,6000030,6000031,6000032,6000033,6000034,6000035,6000036,6000037,6000038,6000039,6000040,6000041,6000042,6000043,6000044,6000045,6000046,6000047,6000048,6000049,6000050,6000051,6000052,6000053,6000054,6000055,6000056,6000057,6000058,6000059,6000060,6000061,6000062,6000063,6000064,6000065,6000066,6000067,6000068,6000069,6000070,6000071,6000072,6000073,6000074,6000075,6000076,6000077,6000078,6000079,6000080,6000081,6000082,6000083,6000084,6000085,6000086,6000087,6000088,6000089,6000090,6000091,6000092,6000093,6000094,6000095,6000096,6000097,6000098,6000099,6000100,6000101,6000102,6000103,6000104,6000105,6000106,6000107,6000108,6000109,6000110,6000111,6000112,6000113,6000114,6000115,6000116,6000117,6000118,6000119,6000120,6000121,6000122,6000123,6000124,6000125,6000126,6000127,6000128,6000129,6000130,6000131,6000132,6000133,6000134,6000135,6000136,6000137,6000138,6000139,6000140,6000141,6000142,6000143,6000144,6000145,6000146,6000147,6000148,6000149,6000150,6000151,6000152,6000153,6000154,6000155,6000156,6000157,6000158,6000159,6000160,6000161,6000162,6000163,6000164,6000165,6000166,6000167,6000168,6000169,6000170,6000171,6000172,6000173,6000174,6000175,6000176,6000177,6000178,6000179,6000180,6000181,6000182,6000183,6000184,6000185,6000186,6000187,6000188,6000189,6000190,6000191,6000192,6000193,6000194,6000195,6000196,6000197,6000198,6000199,6000200,6000201,6000202,6000203,6000204,6000205,6000206,6000207,6000208,6000209,6000210,6000211,6000212,6000213,6000214,6000215,6000216,6000217,6000218,6000219,6000220,6000221,6000222,6000223,6000224,6000225,6000226,6000227,6000228,6000229,6000230,6000231,6000232,6000233,6000234,6000235,6000236,6000237,6000238,6000239,6000240,6000241,6000242,6000243,6000244,6000245,6000246,6000247,6000248,6000249,6000250,6000251,6000252,6000253,6000254,6000255,6000256,6000257,6000258,6000259,6000260,6000261,6000262,6000263,6000264,6000265,6000266,6000267,6000268,6000269,6000270,6000271,6000272,6000273,6000274,6000275,6000276,6000277,6000278,6000279,6000280,6000281,6000282,6000283,6000284,6000285,6000286,6000287,6000288,6000289,6000290,6000291,6000292,6000293,6000294,6000295,6000296,6000297,6000298,6000299,6000300,6000301,6000302,6000303,6000304,6000305,6000306,6000307,6000308,6000309,6000310,6000311,6000312,6000313,6000314,6000315,6000316,6000317,6000318,6000319,6000320,6000321,6000322,6000323,6000324,6000325,6000326,6000327,6000328,6000329,6000330,6000331,6000332,6000333,6000334,6000335,6000336,6000337,6000338,6000339,6000340,6000341,6000342,6000343,6000344,6000345,6000346,6000347,6000348,6000349,6000350,6000351,6000352,6000353,6000354,6000355,6000356,6000357,6000358,6000359,6000360,6000361,6000362,6000363,6000364,6000365,6000366,6000367,6000368,6000369,6000370,6000371,6000372,6000373,6000374,6000375,6000376,6000377,6000378,6000379,6000380,6000381,6000382,6000383,6000384,6000385,6000386,6000387,6000388,6000389,6000390,6000391,6000392,6000393,6000394,6000395,6000396,6000397,6000398,6000399,6000400,6000401,6000402,6000403,6000404,6000405,6000406,6000407,6000408,6000409,6000410,6000411,6000412,6000413,6000414,6000415,6000416,6000417,6000418,6000419,6000420,6000421,6000422,6000423,6000424,6000425,6000426,6000427,6000428,6000429,6000430,6000431,6000432,6000433,6000434,6000435,6000436,6000437,6000438,6000439,6000440,6000441,6000442,6000443,6000444,6000445,6000446,6000447,6000448,6000449,6000450,6000451,6000452,6000453,6000454,6000455,6000456,6000457,6000458,6000459,6000460,6000461,6000462,6000463,6000464,6000465,6000466,6000467,6000468,6000469,6000470,6000471,6000472,6000473,6000474,6000475,6000476,6000477,6000478,6000479,6000480,6000481,6000482,6000483,6000484,6000485,6000486,6000487,6000488,6000489,6000490,6000491,6000492,6000493,6000494,6000495,6000496,6000497,6000498,6000499,6000500,6000501,6000502,6000503,6000504,6000505,6000506,6000507,6000508,6000509,6000510,6000511,6000512,6000513,6000514,6000515,6000516,6000517,6000518,6000519,6000520,6000521,6000522,6000523,6000524,6000525,6000526,6000527,6000528,6000529,6000530,6000531,6000532,6000533,6000534,6000535,6000536,6000537,6000538,6000539,6000540,6000541,6000542,6000543,6000544,6000545,6000546,6000547,6000548,6000549,6000550,6000551,6000552,6000553,6000554,6000555,6000556,6000557,6000558,6000559,6000560,6000561,6000562,6000563,6000564,6000565,6000566,6000567,6000568,6000569,6000570,6000571,6000572,6000573,6000574,6000575,6000576,6000577,6000578,6000579,6000580,6000581,6000582,6000583,6000584,6000585,6000586,6000587,6000588,6000589,6000590,6000591,6000592,6000593,6000594,6000595,6000596,6000597,6000598,6000599,6000600,6000601,6000602,6000603,6000604,6000605,6000606,6000607,6000608,6000609,6000610,6000611,6000612,6000613,6000614,6000615,6000616,6000617,6000618,6000619,6000620,6000621,6000622,6000623,6000624,6000625,6000626,6000627,6000628,6000629,6000630,6000631,6000632,6000633,6000634,6000635,6000636,6000637,6000638,6000639,6000640,6000641,6000642,6000643,6000644,6000645,6000646,6000647,6000648,6000649,6000650,6000651,6000652,6000653,6000654,6000655,6000656,6000657,6000658,6000659,6000660,6000661,6000662,6000663,6000664,6000665,6000666,6000667,6000668,6000669,6000670,6000671,6000672,6000673,6000674,6000675,6000676,6000677,6000678,6000679,6000680,6000681,6000682,6000683,6000684,6000685,6000686,6000687,6000688,6000689,6000690,6000691,6000692,6000693,6000694,6000695,6000696,6000697,6000698,6000699,6000700,6000701,6000702,6000703,6000704,6000705,6000706,6000707,6000708,6000709,6000710,6000711,6000712,6000713,6000714,6000715,6000716,6000717,6000718,6000719,6000720,6000721,6000722,6000723,6000724,6000725,6000726,6000727,6000728,6000729,6000730,6000731,6000732,6000733,6000734,6000735,6000736,6000737,6000738,6000739,6000740,6000741,6000742,6000743,6000744,6000745,6000746,6000747,6000748,6000749,6000750,6000751,6000752,6000753,6000754,6000755,6000756,6000757,6000758,6000759,6000760,6000761,6000762,6000763,6000764,6000765,6000766,6000767,6000768,6000769,6000770,6000771,6000772,6000773,6000774,6000775,6000776,6000777,6000778,6000779,6000780,6000781,6000782,6000783,6000784,6000785,6000786,6000787,6000788,6000789,6000790,6000791,6000792,6000793,6000794,6000795,6000796,6000797,6000798,6000799,6000800,6000801,6000802,6000803,6000804,6000805,6000806,6000807,6000808,6000809,6000810,6000811,6000812,6000813,6000814,6000815,6000816,6000817,6000818,6000819,6000820,6000821,6000822,6000823,6000824,6000825,6000826,6000827,6000828,6000829,6000830,6000831,6000832,6000833,6000834,6000835,6000836,6000837,6000838,6000839,6000840,6000841,6000842,6000843,6000844,6000845,6000846,6000847,6000848,6000849,6000850,6000851,6000852,6000853,6000854,6000855,6000856,6000857,6000858,6000859,6000860,6000861,6000862,6000863,6000864,6000865,6000866,6000867,6000868,6000869,6000870,6000871,6000872,6000873,6000874,6000875,6000876,6000877,6000878,6000879,6000880,6000881,6000882,6000883,6000884,6000885,6000886,6000887,6000888,6000889,6000890,6000891,6000892,6000893,6000894,6000895,6000896,6000897,6000898,6000899,6000900,6000901,6000902,6000903,6000904,6000905,6000906,6000907,6000908,6000909,6000910,6000911,6000912,6000913,6000914,6000915,6000916,6000917,6000918,6000919,6000920,6000921,6000922,6000923,6000924,6000925,6000926,6000927,6000928,6000929,6000930,6000931,6000932,6000933,6000934,6000935,6000936,6000937,6000938,6000939,6000940,6000941,6000942,6000943,6000944,6000945,6000946,6000947,6000948,6000949,6000950,6000951,6000952,6000953,6000954,6000955,6000956,6000957,6000958,6000959,6000960,6000961,6000962,6000963,6000964,6000965,6000966,6000967,6000968,6000969,6000970,6000971,6000972,6000973,6000974,6000975,6000976,6000977,6000978,6000979,6000980,6000981,6000982,6000983,6000984,6000985,6000986,6000987,6000988,6000989,6000990,6000991,6000992,6000993,6000994,6000995,6000996,6000997,6000998,6000999,6001000,7000001,7000002,7000003,7000004,7000005,7000006,7000007,7000008,7000009,7000010,7000011,7000012,7000013,7000014,7000015,7000016,7000017,7000018,7000019,7000020,7000021,7000022,7000023,7000024,7000025,7000026,7000027,7000028,7000029,7000030,7000031,7000032,7000033,7000034,7000035,7000036,7000037,7000038,7000039,7000040,7000041,7000042,7000043,7000044,7000045,7000046,7000047,7000048,7000049,7000050,7000051,7000052,7000053,7000054,7000055,7000056,7000057,7000058,7000059,7000060,7000061,7000062,7000063,7000064,7000065,7000066,7000067,7000068,7000069,7000070,7000071,7000072,7000073,7000074,7000075,7000076,7000077,7000078,7000079,7000080,7000081,7000082,7000083,7000084,7000085,7000086,7000087,7000088,7000089,7000090,7000091,7000092,7000093,7000094,7000095,7000096,7000097,7000098,7000099,7000100,7000101,7000102,7000103,7000104,7000105,7000106,7000107,7000108,7000109,7000110,7000111,7000112,7000113,7000114,7000115,7000116,7000117,7000118,7000119,7000120,7000121,7000122,7000123,7000124,7000125,7000126,7000127,7000128,7000129,7000130,7000131,7000132,7000133,7000134,7000135,7000136,7000137,7000138,7000139,7000140,7000141,7000142,7000143,7000144,7000145,7000146,7000147,7000148,7000149,7000150,7000151,7000152,7000153,7000154,7000155,7000156,7000157,7000158,7000159,7000160,7000161,7000162,7000163,7000164,7000165,7000166,7000167,7000168,7000169,7000170,7000171,7000172,7000173,7000174,7000175,7000176,7000177,7000178,7000179,7000180,7000181,7000182,7000183,7000184,7000185,7000186,7000187,7000188,7000189,7000190,7000191,7000192,7000193,7000194,7000195,7000196,7000197,7000198,7000199,7000200,7000201,7000202,7000203,7000204,7000205,7000206,7000207,7000208,7000209,7000210,7000211,7000212,7000213,7000214,7000215,7000216,7000217,7000218,7000219,7000220,7000221,7000222,7000223,7000224,7000225,7000226,7000227,7000228,7000229,7000230,7000231,7000232,7000233,7000234,7000235,7000236,7000237,7000238,7000239,7000240,7000241,7000242,7000243,7000244,7000245,7000246,7000247,7000248,7000249,7000250,7000251,7000252,7000253,7000254,7000255,7000256,7000257,7000258,7000259,7000260,7000261,7000262,7000263,7000264,7000265,7000266,7000267,7000268,7000269,7000270,7000271,7000272,7000273,7000274,7000275,7000276,7000277,7000278,7000279,7000280,7000281,7000282,7000283,7000284,7000285,7000286,7000287,7000288,7000289,7000290,7000291,7000292,7000293,7000294,7000295,7000296,7000297,7000298,7000299,7000300,7000301,7000302,7000303,7000304,7000305,7000306,7000307,7000308,7000309,7000310,7000311,7000312,7000313,7000314,7000315,7000316,7000317,7000318,7000319,7000320,7000321,7000322,7000323,7000324,7000325,7000326,7000327,7000328,7000329,7000330,7000331,7000332,7000333,7000334,7000335,7000336,7000337,7000338,7000339,7000340,7000341,7000342,7000343,7000344,7000345,7000346,7000347,7000348,7000349,7000350,7000351,7000352,7000353,7000354,7000355,7000356,7000357,7000358,7000359,7000360,7000361,7000362,7000363,7000364,7000365,7000366,7000367,7000368,7000369,7000370,7000371,7000372,7000373,7000374,7000375,7000376,7000377,7000378,7000379,7000380,7000381,7000382,7000383,7000384,7000385,7000386,7000387,7000388,7000389,7000390,7000391,7000392,7000393,7000394,7000395,7000396,7000397,7000398,7000399,7000400,7000401,7000402,7000403,7000404,7000405,7000406,7000407,7000408,7000409,7000410,7000411,7000412,7000413,7000414,7000415,7000416,7000417,7000418,7000419,7000420,7000421,7000422,7000423,7000424,7000425,7000426,7000427,7000428,7000429,7000430,7000431,7000432,7000433,7000434,7000435,7000436,7000437,7000438,7000439,7000440,7000441,7000442,7000443,7000444,7000445,7000446,7000447,7000448,7000449,7000450,7000451,7000452,7000453,7000454,7000455,7000456,7000457,7000458,7000459,7000460,7000461,7000462,7000463,7000464,7000465,7000466,7000467,7000468,7000469,7000470,7000471,7000472,7000473,7000474,7000475,7000476,7000477,7000478,7000479,7000480,7000481,7000482,7000483,7000484,7000485,7000486,7000487,7000488,7000489,7000490,7000491,7000492,7000493,7000494,7000495,7000496,7000497,7000498,7000499,7000500,7000501,7000502,7000503,7000504,7000505,7000506,7000507,7000508,7000509,7000510,7000511,7000512,7000513,7000514,7000515,7000516,7000517,7000518,7000519,7000520,7000521,7000522,7000523,7000524,7000525,7000526,7000527,7000528,7000529,7000530,7000531,7000532,7000533,7000534,7000535,7000536,7000537,7000538,7000539,7000540,7000541,7000542,7000543,7000544,7000545,7000546,7000547,7000548,7000549,7000550,7000551,7000552,7000553,7000554,7000555,7000556,7000557,7000558,7000559,7000560,7000561,7000562,7000563,7000564,7000565,7000566,7000567,7000568,7000569,7000570,7000571,7000572,7000573,7000574,7000575,7000576,7000577,7000578,7000579,7000580,7000581,7000582,7000583,7000584,7000585,7000586,7000587,7000588,7000589,7000590,7000591,7000592,7000593,7000594,7000595,7000596,7000597,7000598,7000599,7000600,7000601,7000602,7000603,7000604,7000605,7000606,7000607,7000608,7000609,7000610,7000611,7000612,7000613,7000614,7000615,7000616,7000617,7000618,7000619,7000620,7000621,7000622,7000623,7000624,7000625,7000626,7000627,7000628,7000629,7000630,7000631,7000632,7000633,7000634,7000635,7000636,7000637,7000638,7000639,7000640,7000641,7000642,7000643,7000644,7000645,7000646,7000647,7000648,7000649,7000650,7000651,7000652,7000653,7000654,7000655,7000656,7000657,7000658,7000659,7000660,7000661,7000662,7000663,7000664,7000665,7000666,7000667,7000668,7000669,7000670,7000671,7000672,7000673,7000674,7000675,7000676,7000677,7000678,7000679,7000680,7000681,7000682,7000683,7000684,7000685,7000686,7000687,7000688,7000689,7000690,7000691,7000692,7000693,7000694,7000695,7000696,7000697,7000698,7000699,7000700,7000701,7000702,7000703,7000704,7000705,7000706,7000707,7000708,7000709,7000710,7000711,7000712,7000713,7000714,7000715,7000716,7000717,7000718,7000719,7000720,7000721,7000722,7000723,7000724,7000725,7000726,7000727,7000728,7000729,7000730,7000731,7000732,7000733,7000734,7000735,7000736,7000737,7000738,7000739,7000740,7000741,7000742,7000743,7000744,7000745,7000746,7000747,7000748,7000749,7000750,7000751,7000752,7000753,7000754,7000755,7000756,7000757,7000758,7000759,7000760,7000761,7000762,7000763,7000764,7000765,7000766,7000767,7000768,7000769,7000770,7000771,7000772,7000773,7000774,7000775,7000776,7000777,7000778,7000779,7000780,7000781,7000782,7000783,7000784,7000785,7000786,7000787,7000788,7000789,7000790,7000791,7000792,7000793,7000794,7000795,7000796,7000797,7000798,7000799,7000800,7000801,7000802,7000803,7000804,7000805,7000806,7000807,7000808,7000809,7000810,7000811,7000812,7000813,7000814,7000815,7000816,7000817,7000818,7000819,7000820,7000821,7000822,7000823,7000824,7000825,7000826,7000827,7000828,7000829,7000830,7000831,7000832,7000833,7000834,7000835,7000836,7000837,7000838,7000839,7000840,7000841,7000842,7000843,7000844,7000845,7000846,7000847,7000848,7000849,7000850,7000851,7000852,7000853,7000854,7000855,7000856,7000857,7000858,7000859,7000860,7000861,7000862,7000863,7000864,7000865,7000866,7000867,7000868,7000869,7000870,7000871,7000872,7000873,7000874,7000875,7000876,7000877,7000878,7000879,7000880,7000881,7000882,7000883,7000884,7000885,7000886,7000887,7000888,7000889,7000890,7000891,7000892,7000893,7000894,7000895,7000896,7000897,7000898,7000899,7000900,7000901,7000902,7000903,7000904,7000905,7000906,7000907,7000908,7000909,7000910,7000911,7000912,7000913,7000914,7000915,7000916,7000917,7000918,7000919,7000920,7000921,7000922,7000923,7000924,7000925,7000926,7000927,7000928,7000929,7000930,7000931,7000932,7000933,7000934,7000935,7000936,7000937,7000938,7000939,7000940,7000941,7000942,7000943,7000944,7000945,7000946,7000947,7000948,7000949,7000950,7000951,7000952,7000953,7000954,7000955,7000956,7000957,7000958,7000959,7000960,7000961,7000962,7000963,7000964,7000965,7000966,7000967,7000968,7000969,7000970,7000971,7000972,7000973,7000974,7000975,7000976,7000977,7000978,7000979,7000980,7000981,7000982,7000983,7000984,7000985,7000986,7000987,7000988,7000989,7000990,7000991,7000992,7000993,7000994,7000995,7000996,7000997,7000998,7000999,7001000,8000002,8000003,8000004,8000005,8000006,8000007,8000008,8000009,8000010,8000011,8000012,8000013,8000014,8000015,8000016,8000017,8000018,8000019,8000020,8000021,8000022,8000023,8000024,8000025,8000026,8000027,8000028,8000029,8000030,8000031,8000032,8000033,8000034,8000035,8000036,8000037,8000038,8000039,8000040,8000041,8000042,8000043,8000044,8000045,8000046,8000047,8000048,8000049,8000050,8000051,8000052,8000053,8000054,8000055,8000056,8000057,8000058,8000059,8000060,8000061,8000062,8000063,8000064,8000065,8000066,8000067,8000068,8000069,8000070,8000071,8000072,8000073,8000074,8000075,8000076,8000077,8000078,8000079,8000080,8000081,8000082,8000083,8000084,8000085,8000086,8000087,8000088,8000089,8000090,8000091,8000092,8000093,8000094,8000095,8000096,8000097,8000098,8000099,8000100,8000101,8000102,8000103,8000104,8000105,8000106,8000107,8000108,8000109,8000110,8000111,8000112,8000113,8000114,8000115,8000116,8000117,8000118,8000119,8000120,8000121,8000122,8000123,8000124,8000125,8000126,8000127,8000128,8000129,8000130,8000131,8000132,8000133,8000134,8000135,8000136,8000137,8000138,8000139,8000140,8000141,8000142,8000143,8000144,8000145,8000146,8000147,8000148,8000149,8000150,8000151,8000152,8000153,8000154,8000155,8000156,8000157,8000158,8000159,8000160,8000161,8000162,8000163,8000164,8000165,8000166,8000167,8000168,8000169,8000170,8000171,8000172,8000173,8000174,8000175,8000176,8000177,8000178,8000179,8000180,8000181,8000182,8000183,8000184,8000185,8000186,8000187,8000188,8000189,8000190,8000191,8000192,8000193,8000194,8000195,8000196,8000197,8000198,8000199,8000200,8000201,8000202,8000203,8000204,8000205,8000206,8000207,8000208,8000209,8000210,8000211,8000212,8000213,8000214,8000215,8000216,8000217,8000218,8000219,8000220,8000221,8000222,8000223,8000224,8000225,8000226,8000227,8000228,8000229,8000230,8000231,8000232,8000233,8000234,8000235,8000236,8000237,8000238,8000239,8000240,8000241,8000242,8000243,8000244,8000245,8000246,8000247,8000248,8000249,8000250,8000251,8000252,8000253,8000254,8000255,8000256,8000257,8000258,8000259,8000260,8000261,8000262,8000263,8000264,8000265,8000266,8000267,8000268,8000269,8000270,8000271,8000272,8000273,8000274,8000275,8000276,8000277,8000278,8000279,8000280,8000281,8000282,8000283,8000284,8000285,8000286,8000287,8000288,8000289,8000290,8000291,8000292,8000293,8000294,8000295,8000296,8000297,8000298,8000299,8000300,8000301,8000302,8000303,8000304,8000305,8000306,8000307,8000308,8000309,8000310,8000311,8000312,8000313,8000314,8000315,8000316,8000317,8000318,8000319,8000320,8000321,8000322,8000323,8000324,8000325,8000326,8000327,8000328,8000329,8000330,8000331,8000332,8000333,8000334,8000335,8000336,8000337,8000338,8000339,8000340,8000341,8000342,8000343,8000344,8000345,8000346,8000347,8000348,8000349,8000350,8000351,8000352,8000353,8000354,8000355,8000356,8000357,8000358,8000359,8000360,8000361,8000362,8000363,8000364,8000365,8000366,8000367,8000368,8000369,8000370,8000371,8000372,8000373,8000374,8000375,8000376,8000377,8000378,8000379,8000380,8000381,8000382,8000383,8000384,8000385,8000386,8000387,8000388,8000389,8000390,8000391,8000392,8000393,8000394,8000395,8000396,8000397,8000398,8000399,8000400,8000401,8000402,8000403,8000404,8000405,8000406,8000407,8000408,8000409,8000410,8000411,8000412,8000413,8000414,8000415,8000416,8000417,8000418,8000419,8000420,8000421,8000422,8000423,8000424,8000425,8000426,8000427,8000428,8000429,8000430,8000431,8000432,8000433,8000434,8000435,8000436,8000437,8000438,8000439,8000440,8000441,8000442,8000443,8000444,8000445,8000446,8000447,8000448,8000449,8000450,8000451,8000452,8000453,8000454,8000455,8000456,8000457,8000458,8000459,8000460,8000461,8000462,8000463,8000464,8000465,8000466,8000467,8000468,8000469,8000470,8000471,8000472,8000473,8000474,8000475,8000476,8000477,8000478,8000479,8000480,8000481,8000482,8000483,8000484,8000485,8000486,8000487,8000488,8000489,8000490,8000491,8000492,8000493,8000494,8000495,8000496,8000497,8000498,8000499,8000500,8000501,8000502,8000503,8000504,8000505,8000506,8000507,8000508,8000509,8000510,8000511,8000512,8000513,8000514,8000515,8000516,8000517,8000518,8000519,8000520,8000521,8000522,8000523,8000524,8000525,8000526,8000527,8000528,8000529,8000530,8000531,8000532,8000533,8000534,8000535,8000536,8000537,8000538,8000539,8000540,8000541,8000542,8000543,8000544,8000545,8000546,8000547,8000548,8000549,8000550,8000551,8000552,8000553,8000554,8000555,8000556,8000557,8000558,8000559,8000560,8000561,8000562,8000563,8000564,8000565,8000566,8000567,8000568,8000569,8000570,8000571,8000572,8000573,8000574,8000575,8000576,8000577,8000578,8000579,8000580,8000581,8000582,8000583,8000584,8000585,8000586,8000587,8000588,8000589,8000590,8000591,8000592,8000593,8000594,8000595,8000596,8000597,8000598,8000599,8000600,8000601,8000602,8000603,8000604,8000605,8000606,8000607,8000608,8000609,8000610,8000611,8000612,8000613,8000614,8000615,8000616,8000617,8000618,8000619,8000620,8000621,8000622,8000623,8000624,8000625,8000626,8000627,8000628,8000629,8000630,8000631,8000632,8000633,8000634,8000635,8000636,8000637,8000638,8000639,8000640,8000641,8000642,8000643,8000644,8000645,8000646,8000647,8000648,8000649,8000650,8000651,8000652,8000653,8000654,8000655,8000656,8000657,8000658,8000659,8000660,8000661,8000662,8000663,8000664,8000665,8000666,8000667,8000668,8000669,8000670,8000671,8000672,8000673,8000674,8000675,8000676,8000677,8000678,8000679,8000680,8000681,8000682,8000683,8000684,8000685,8000686,8000687,8000688,8000689,8000690,8000691,8000692,8000693,8000694,8000695,8000696,8000697,8000698,8000699,8000700,8000701,8000702,8000703,8000704,8000705,8000706,8000707,8000708,8000709,8000710,8000711,8000712,8000713,8000714,8000715,8000716,8000717,8000718,8000719,8000720,8000721,8000722,8000723,8000724,8000725,8000726,8000727,8000728,8000729,8000730,8000731,8000732,8000733,8000734,8000735,8000736,8000737,8000738,8000739,8000740,8000741,8000742,8000743,8000744,8000745,8000746,8000747,8000748,8000749,8000750,8000751,8000752,8000753,8000754,8000755,8000756,8000757,8000758,8000759,8000760,8000761,8000762,8000763,8000764,8000765,8000766,8000767,8000768,8000769,8000770,8000771,8000772,8000773,8000774,8000775,8000776,8000777,8000778,8000779,8000780,8000781,8000782,8000783,8000784,8000785,8000786,8000787,8000788,8000789,8000790,8000791,8000792,8000793,8000794,8000795,8000796,8000797,8000798,8000799,8000800,8000801,8000802,8000803,8000804,8000805,8000806,8000807,8000808,8000809,8000810,8000811,8000812,8000813,8000814,8000815,8000816,8000817,8000818,8000819,8000820,8000821,8000822,8000823,8000824,8000825,8000826,8000827,8000828,8000829,8000830,8000831,8000832,8000833,8000834,8000835,8000836,8000837,8000838,8000839,8000840,8000841,8000842,8000843,8000844,8000845,8000846,8000847,8000848,8000849,8000850,8000851,8000852,8000853,8000854,8000855,8000856,8000857,8000858,8000859,8000860,8000861,8000862,8000863,8000864,8000865,8000866,8000867,8000868,8000869,8000870,8000871,8000872,8000873,8000874,8000875,8000876,8000877,8000878,8000879,8000880,8000881,8000882,8000883,8000884,8000885,8000886,8000887,8000888,8000889,8000890,8000891,8000892,8000893,8000894,8000895,8000896,8000897,8000898,8000899,8000900,8000901,8000902,8000903,8000904,8000905,8000906,8000907,8000908,8000909,8000910,8000911,8000912,8000913,8000914,8000915,8000916,8000917,8000918,8000919,8000920,8000921,8000922,8000923,8000924,8000925,8000926,8000927,8000928,8000929,8000930,8000931,8000932,8000933,8000934,8000935,8000936,8000937,8000938,8000939,8000940,8000941,8000942,8000943,8000944,8000945,8000946,8000947,8000948,8000949,8000950,8000951,8000952,8000953,8000954,8000955,8000956,8000957,8000958,8000959,8000960,8000961,8000962,8000963,8000964,8000965,8000966,8000967,8000968,8000969,8000970,8000971,8000972,8000973,8000974,8000975,8000976,8000977,8000978,8000979,8000980,8000981,8000982,8000983,8000984,8000985,8000986,8000987,8000988,8000989,8000990,8000991,8000992,8000993,8000994,8000995,8000996,8000997,8000998,8000999,8001000,9000001,9000002,9000003,9000004,9000005,9000006,9000007,9000008,9000009,9000010,9000011,9000012,9000013,9000014,9000015,9000016,9000017,9000018,9000019,9000020,9000021,9000022,9000023,9000024,9000025,9000026,9000027,9000028,9000029,9000030,9000031,9000032,9000033,9000034,9000035,9000036,9000037,9000038,9000039,9000040,9000041,9000042,9000043,9000044,9000045,9000046,9000047,9000048,9000049,9000050,9000051,9000052,9000053,9000054,9000055,9000056,9000057,9000058,9000059,9000060,9000061,9000062,9000063,9000064,9000065,9000066,9000067,9000068,9000069,9000070,9000071,9000072,9000073,9000074,9000075,9000076,9000077,9000078,9000079,9000080,9000081,9000082,9000083,9000084,9000085,9000086,9000087,9000088,9000089,9000090,9000091,9000092,9000093,9000094,9000095,9000096,9000097,9000098,9000099,9000100,9000101,9000102,9000103,9000104,9000105,9000106,9000107,9000108,9000109,9000110,9000111,9000112,9000113,9000114,9000115,9000116,9000117,9000118,9000119,9000120,9000121,9000122,9000123,9000124,9000125,9000126,9000127,9000128,9000129,9000130,9000131,9000132,9000133,9000134,9000135,9000136,9000137,9000138,9000139,9000140,9000141,9000142,9000143,9000144,9000145,9000146,9000147,9000148,9000149,9000150,9000151,9000152,9000153,9000154,9000155,9000156,9000157,9000158,9000159,9000160,9000161,9000162,9000163,9000164,9000165,9000166,9000167,9000168,9000169,9000170,9000171,9000172,9000173,9000174,9000175,9000176,9000177,9000178,9000179,9000180,9000181,9000182,9000183,9000184,9000185,9000186,9000187,9000188,9000189,9000190,9000191,9000192,9000193,9000194,9000195,9000196,9000197,9000198,9000199,9000200,9000201,9000202,9000203,9000204,9000205,9000206,9000207,9000208,9000209,9000210,9000211,9000212,9000213,9000214,9000215,9000216,9000217,9000218,9000219,9000220,9000221,9000222,9000223,9000224,9000225,9000226,9000227,9000228,9000229,9000230,9000231,9000232,9000233,9000234,9000235,9000236,9000237,9000238,9000239,9000240,9000241,9000242,9000243,9000244,9000245,9000246,9000247,9000248,9000249,9000250,9000251,9000252,9000253,9000254,9000255,9000256,9000257,9000258,9000259,9000260,9000261,9000262,9000263,9000264,9000265,9000266,9000267,9000268,9000269,9000270,9000271,9000272,9000273,9000274,9000275,9000276,9000277,9000278,9000279,9000280,9000281,9000282,9000283,9000284,9000285,9000286,9000287,9000288,9000289,9000290,9000291,9000292,9000293,9000294,9000295,9000296,9000297,9000298,9000299,9000300,9000301,9000302,9000303,9000304,9000305,9000306,9000307,9000308,9000309,9000310,9000311,9000312,9000313,9000314,9000315,9000316,9000317,9000318,9000319,9000320,9000321,9000322,9000323,9000324,9000325,9000326,9000327,9000328,9000329,9000330,9000331,9000332,9000333,9000334,9000335,9000336,9000337,9000338,9000339,9000340,9000341,9000342,9000343,9000344,9000345,9000346,9000347,9000348,9000349,9000350,9000351,9000352,9000353,9000354,9000355,9000356,9000357,9000358,9000359,9000360,9000361,9000362,9000363,9000364,9000365,9000366,9000367,9000368,9000369,9000370,9000371,9000372,9000373,9000374,9000375,9000376,9000377,9000378,9000379,9000380,9000381,9000382,9000383,9000384,9000385,9000386,9000387,9000388,9000389,9000390,9000391,9000392,9000393,9000394,9000395,9000396,9000397,9000398,9000399,9000400,9000401,9000402,9000403,9000404,9000405,9000406,9000407,9000408,9000409,9000410,9000411,9000412,9000413,9000414,9000415,9000416,9000417,9000418,9000419,9000420,9000421,9000422,9000423,9000424,9000425,9000426,9000427,9000428,9000429,9000430,9000431,9000432,9000433,9000434,9000435,9000436,9000437,9000438,9000439,9000440,9000441,9000442,9000443,9000444,9000445,9000446,9000447,9000448,9000449,9000450,9000451,9000452,9000453,9000454,9000455,9000456,9000457,9000458,9000459,9000460,9000461,9000462,9000463,9000464,9000465,9000466,9000467,9000468,9000469,9000470,9000471,9000472,9000473,9000474,9000475,9000476,9000477,9000478,9000479,9000480,9000481,9000482,9000483,9000484,9000485,9000486,9000487,9000488,9000489,9000490,9000491,9000492,9000493,9000494,9000495,9000496,9000497,9000498,9000499,9000500,9000501,9000502,9000503,9000504,9000505,9000506,9000507,9000508,9000509,9000510,9000511,9000512,9000513,9000514,9000515,9000516,9000517,9000518,9000519,9000520,9000521,9000522,9000523,9000524,9000525,9000526,9000527,9000528,9000529,9000530,9000531,9000532,9000533,9000534,9000535,9000536,9000537,9000538,9000539,9000540,9000541,9000542,9000543,9000544,9000545,9000546,9000547,9000548,9000549,9000550,9000551,9000552,9000553,9000554,9000555,9000556,9000557,9000558,9000559,9000560,9000561,9000562,9000563,9000564,9000565,9000566,9000567,9000568,9000569,9000570,9000571,9000572,9000573,9000574,9000575,9000576,9000577,9000578,9000579,9000580,9000581,9000582,9000583,9000584,9000585,9000586,9000587,9000588,9000589,9000590,9000591,9000592,9000593,9000594,9000595,9000596,9000597,9000598,9000599,9000600,9000601,9000602,9000603,9000604,9000605,9000606,9000607,9000608,9000609,9000610,9000611,9000612,9000613,9000614,9000615,9000616,9000617,9000618,9000619,9000620,9000621,9000622,9000623,9000624,9000625,9000626,9000627,9000628,9000629,9000630,9000631,9000632,9000633,9000634,9000635,9000636,9000637,9000638,9000639,9000640,9000641,9000642,9000643,9000644,9000645,9000646,9000647,9000648,9000649,9000650,9000651,9000652,9000653,9000654,9000655,9000656,9000657,9000658,9000659,9000660,9000661,9000662,9000663,9000664,9000665,9000666,9000667,9000668,9000669,9000670,9000671,9000672,9000673,9000674,9000675,9000676,9000677,9000678,9000679,9000680,9000681,9000682,9000683,9000684,9000685,9000686,9000687,9000688,9000689,9000690,9000691,9000692,9000693,9000694,9000695,9000696,9000697,9000698,9000699,9000700,9000701,9000702,9000703,9000704,9000705,9000706,9000707,9000708,9000709,9000710,9000711,9000712,9000713,9000714,9000715,9000716,9000717,9000718,9000719,9000720,9000721,9000722,9000723,9000724,9000725,9000726,9000727,9000728,9000729,9000730,9000731,9000732,9000733,9000734,9000735,9000736,9000737,9000738,9000739,9000740,9000741,9000742,9000743,9000744,9000745,9000746,9000747,9000748,9000749,9000750,9000751,9000752,9000753,9000754,9000755,9000756,9000757,9000758,9000759,9000760,9000761,9000762,9000763,9000764,9000765,9000766,9000767,9000768,9000769,9000770,9000771,9000772,9000773,9000774,9000775,9000776,9000777,9000778,9000779,9000780,9000781,9000782,9000783,9000784,9000785,9000786,9000787,9000788,9000789,9000790,9000791,9000792,9000793,9000794,9000795,9000796,9000797,9000798,9000799,9000800,9000801,9000802,9000803,9000804,9000805,9000806,9000807,9000808,9000809,9000810,9000811,9000812,9000813,9000814,9000815,9000816,9000817,9000818,9000819,9000820,9000821,9000822,9000823,9000824,9000825,9000826,9000827,9000828,9000829,9000830,9000831,9000832,9000833,9000834,9000835,9000836,9000837,9000838,9000839,9000840,9000841,9000842,9000843,9000844,9000845,9000846,9000847,9000848,9000849,9000850,9000851,9000852,9000853,9000854,9000855,9000856,9000857,9000858,9000859,9000860,9000861,9000862,9000863,9000864,9000865,9000866,9000867,9000868,9000869,9000870,9000871,9000872,9000873,9000874,9000875,9000876,9000877,9000878,9000879,9000880,9000881,9000882,9000883,9000884,9000885,9000886,9000887,9000888,9000889,9000890,9000891,9000892,9000893,9000894,9000895,9000896,9000897,9000898,9000899,9000900,9000901,9000902,9000903,9000904,9000905,9000906,9000907,9000908,9000909,9000910,9000911,9000912,9000913,9000914,9000915,9000916,9000917,9000918,9000919,9000920,9000921,9000922,9000923,9000924,9000925,9000926,9000927,9000928,9000929,9000930,9000931,9000932,9000933,9000934,9000935,9000936,9000937,9000938,9000939,9000940,9000941,9000942,9000943,9000944,9000945,9000946,9000947,9000948,9000949,9000950,9000951,9000952,9000953,9000954,9000955,9000956,9000957,9000958,9000959,9000960,9000961,9000962,9000963,9000964,9000965,9000966,9000967,9000968,9000969,9000970,9000971,9000972,9000973,9000974,9000975,9000976,9000977,9000978,9000979,9000980,9000981,9000982,9000983,9000984,9000985,9000986,9000987,9000988,9000989,9000990,9000991,9000992,9000993,9000994,9000995,9000996,9000997,9000998,9000999,9001000,10000001,10000002,10000003,10000004,10000005,10000006,10000007,10000008,10000009,10000010,10000011,10000012,10000013,10000014,10000015,10000016,10000017,10000018,10000019,10000020,10000021,10000022,10000023,10000024,10000025,10000026,10000027,10000028,10000029,10000030,10000031,10000032,10000033,10000034,10000035,10000036,10000037,10000038,10000039,10000040,10000041,10000042,10000043,10000044,10000045,10000046,10000047,10000048,10000049,10000050,10000051,10000052,10000053,10000054,10000055,10000056,10000057,10000058,10000059,10000060,10000061,10000062,10000063,10000064,10000065,10000066,10000067,10000068,10000069,10000070,10000071,10000072,10000073,10000074,10000075,10000076,10000077,10000078,10000079,10000080,10000081,10000082,10000083,10000084,10000085,10000086,10000087,10000088,10000089,10000090,10000091,10000092,10000093,10000094,10000095,10000096,10000097,10000098,10000099,10000100,10000101,10000102,10000103,10000104,10000105,10000106,10000107,10000108,10000109,10000110,10000111,10000112,10000113,10000114,10000115,10000116,10000117,10000118,10000119,10000120,10000121,10000122,10000123,10000124,10000125,10000126,10000127,10000128,10000129,10000130,10000131,10000132,10000133,10000134,10000135,10000136,10000137,10000138,10000139,10000140,10000141,10000142,10000143,10000144,10000145,10000146,10000147,10000148,10000149,10000150,10000151,10000152,10000153,10000154,10000155,10000156,10000157,10000158,10000159,10000160,10000161,10000162,10000163,10000164,10000165,10000166,10000167,10000168,10000169,10000170,10000171,10000172,10000173,10000174,10000175,10000176,10000177,10000178,10000179,10000180,10000181,10000182,10000183,10000184,10000185,10000186,10000187,10000188,10000189,10000190,10000191,10000192,10000193,10000194,10000195,10000196,10000197,10000198,10000199,10000200,10000201,10000202,10000203,10000204,10000205,10000206,10000207,10000208,10000209,10000210,10000211,10000212,10000213,10000214,10000215,10000216,10000217,10000218,10000219,10000220,10000221,10000222,10000223,10000224,10000225,10000226,10000227,10000228,10000229,10000230,10000231,10000232,10000233,10000234,10000235,10000236,10000237,10000238,10000239,10000240,10000241,10000242,10000243,10000244,10000245,10000246,10000247,10000248,10000249,10000250,10000251,10000252,10000253,10000254,10000255,10000256,10000257,10000258,10000259,10000260,10000261,10000262,10000263,10000264,10000265,10000266,10000267,10000268,10000269,10000270,10000271,10000272,10000273,10000274,10000275,10000276,10000277,10000278,10000279,10000280,10000281,10000282,10000283,10000284,10000285,10000286,10000287,10000288,10000289,10000290,10000291,10000292,10000293,10000294,10000295,10000296,10000297,10000298,10000299,10000300,10000301,10000302,10000303,10000304,10000305,10000306,10000307,10000308,10000309,10000310,10000311,10000312,10000313,10000314,10000315,10000316,10000317,10000318,10000319,10000320,10000321,10000322,10000323,10000324,10000325,10000326,10000327,10000328,10000329,10000330,10000331,10000332,10000333,10000334,10000335,10000336,10000337,10000338,10000339,10000340,10000341,10000342,10000343,10000344,10000345,10000346,10000347,10000348,10000349,10000350,10000351,10000352,10000353,10000354,10000355,10000356,10000357,10000358,10000359,10000360,10000361,10000362,10000363,10000364,10000365,10000366,10000367,10000368,10000369,10000370,10000371,10000372,10000373,10000374,10000375,10000376,10000377,10000378,10000379,10000380,10000381,10000382,10000383,10000384,10000385,10000386,10000387,10000388,10000389,10000390,10000391,10000392,10000393,10000394,10000395,10000396,10000397,10000398,10000399,10000400,10000401,10000402,10000403,10000404,10000405,10000406,10000407,10000408,10000409,10000410,10000411,10000412,10000413,10000414,10000415,10000416,10000417,10000418,10000419,10000420,10000421,10000422,10000423,10000424,10000425,10000426,10000427,10000428,10000429,10000430,10000431,10000432,10000433,10000434,10000435,10000436,10000437,10000438,10000439,10000440,10000441,10000442,10000443,10000444,10000445,10000446,10000447,10000448,10000449,10000450,10000451,10000452,10000453,10000454,10000455,10000456,10000457,10000458,10000459,10000460,10000461,10000462,10000463,10000464,10000465,10000466,10000467,10000468,10000469,10000470,10000471,10000472,10000473,10000474,10000475,10000476,10000477,10000478,10000479,10000480,10000481,10000482,10000483,10000484,10000485,10000486,10000487,10000488,10000489,10000490,10000491,10000492,10000493,10000494,10000495,10000496,10000497,10000498,10000499,10000500,10000501,10000502,10000503,10000504,10000505,10000506,10000507,10000508,10000509,10000510,10000511,10000512,10000513,10000514,10000515,10000516,10000517,10000518,10000519,10000520,10000521,10000522,10000523,10000524,10000525,10000526,10000527,10000528,10000529,10000530,10000531,10000532,10000533,10000534,10000535,10000536,10000537,10000538,10000539,10000540,10000541,10000542,10000543,10000544,10000545,10000546,10000547,10000548,10000549,10000550,10000551,10000552,10000553,10000554,10000555,10000556,10000557,10000558,10000559,10000560,10000561,10000562,10000563,10000564,10000565,10000566,10000567,10000568,10000569,10000570,10000571,10000572,10000573,10000574,10000575,10000576,10000577,10000578,10000579,10000580,10000581,10000582,10000583,10000584,10000585,10000586,10000587,10000588,10000589,10000590,10000591,10000592,10000593,10000594,10000595,10000596,10000597,10000598,10000599,10000600,10000601,10000602,10000603,10000604,10000605,10000606,10000607,10000608,10000609,10000610,10000611,10000612,10000613,10000614,10000615,10000616,10000617,10000618,10000619,10000620,10000621,10000622,10000623,10000624,10000625,10000626,10000627,10000628,10000629,10000630,10000631,10000632,10000633,10000634,10000635,10000636,10000637,10000638,10000639,10000640,10000641,10000642,10000643,10000644,10000645,10000646,10000647,10000648,10000649,10000650,10000651,10000652,10000653,10000654,10000655,10000656,10000657,10000658,10000659,10000660,10000661,10000662,10000663,10000664,10000665,10000666,10000667,10000668,10000669,10000670,10000671,10000672,10000673,10000674,10000675,10000676,10000677,10000678,10000679,10000680,10000681,10000682,10000683,10000684,10000685,10000686,10000687,10000688,10000689,10000690,10000691,10000692,10000693,10000694,10000695,10000696,10000697,10000698,10000699,10000700,10000701,10000702,10000703,10000704,10000705,10000706,10000707,10000708,10000709,10000710,10000711,10000712,10000713,10000714,10000715,10000716,10000717,10000718,10000719,10000720,10000721,10000722,10000723,10000724,10000725,10000726,10000727,10000728,10000729,10000730,10000731,10000732,10000733,10000734,10000735,10000736,10000737,10000738,10000739,10000740,10000741,10000742,10000743,10000744,10000745,10000746,10000747,10000748,10000749,10000750,10000751,10000752,10000753,10000754,10000755,10000756,10000757,10000758,10000759,10000760,10000761,10000762,10000763,10000764,10000765,10000766,10000767,10000768,10000769,10000770,10000771,10000772,10000773,10000774,10000775,10000776,10000777,10000778,10000779,10000780,10000781,10000782,10000783,10000784,10000785,10000786,10000787,10000788,10000789,10000790,10000791,10000792,10000793,10000794,10000795,10000796,10000797,10000798,10000799,10000800,10000801,10000802,10000803,10000804,10000805,10000806,10000807,10000808,10000809,10000810,10000811,10000812,10000813,10000814,10000815,10000816,10000817,10000818,10000819,10000820,10000821,10000822,10000823,10000824,10000825,10000826,10000827,10000828,10000829,10000830,10000831,10000832,10000833,10000834,10000835,10000836,10000837,10000838,10000839,10000840,10000841,10000842,10000843,10000844,10000845,10000846,10000847,10000848,10000849,10000850,10000851,10000852,10000853,10000854,10000855,10000856,10000857,10000858,10000859,10000860,10000861,10000862,10000863,10000864,10000865,10000866,10000867,10000868,10000869,10000870,10000871,10000872,10000873,10000874,10000875,10000876,10000877,10000878,10000879,10000880,10000881,10000882,10000883,10000884,10000885,10000886,10000887,10000888,10000889,10000890,10000891,10000892,10000893,10000894,10000895,10000896,10000897,10000898,10000899,10000900,10000901,10000902,10000903,10000904,10000905,10000906,10000907,10000908,10000909,10000910,10000911,10000912,10000913,10000914,10000915,10000916,10000917,10000918,10000919,10000920,10000921,10000922,10000923,10000924,10000925,10000926,10000927,10000928,10000929,10000930,10000931,10000932,10000933,10000934,10000935,10000936,10000937,10000938,10000939,10000940,10000941,10000942,10000943,10000944,10000945,10000946,10000947,10000948,10000949,10000950,10000951,10000952,10000953,10000954,10000955,10000956,10000957,10000958,10000959,10000960,10000961,10000962,10000963,10000964,10000965,10000966,10000967,10000968,10000969,10000970,10000971,10000972,10000973,10000974,10000975,10000976,10000977,10000978,10000979,10000980,10000981,10000982,10000983,10000984,10000985,10000986,10000987,10000988,10000989,10000990,10000991,10000992,10000993,10000994,10000995,10000996,10000997,10000998,10000999,10001000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ #Table3 1*10k 100*100 1000*10
+ - table: pkeyBigint10k_
+ count: 1
+ rows: 10000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: JoinG5_1_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: customer=3,schematype=colocated,partition=range,pkey=asc,cardinality=multiple,projection=all,filtercount=two,filteron=rangepkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangepkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+ - workload: JoinG5_2_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=multiple,projection=all,filtercount=two,filteron=rangepkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangepkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card3_1 in (1000058);
+
+ - workload: JoinG5_3_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: customer=7,schematype=colocated,partition=range,pkey=asc,cardinality=multiple,projection=all,filtercount=two,filteron=rangepkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangepkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG5_4_1Mtbl_join_1Mtbl_two_conditions_seqscan_two_filters
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=multiple,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangepkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card2_1=b.col_bigint_card2_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG5_5_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=1,schematype=colocated,partition=range,pkey=asc,cardinality=multiple,projection=all,filtercount=two,filteron=rangepkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangepkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+ - workload: JoinG5_6_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=3,schematype=colocated,partition=range,pkey=asc,cardinality=multiple,projection=all,filtercount=two,filteron=rangepkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangepkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card3_1 in (1000058);
+
+ - workload: JoinG5_7_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=8,schematype=colocated,partition=range,pkey=asc,cardinality=multiple,projection=all,filtercount=two,filteron=rangepkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangepkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG5_8_1Mtbl_join_10ktbl_two_conditions_seqscan_two_filters
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=multiple,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangepkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card2_1=b.col_bigint_card2_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card2_1 in (1000058);
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING6_to_test_data_cardinality_skey.yaml b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING6_to_test_data_cardinality_skey.yaml
new file mode 100644
index 000000000..02455cd7f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING6_to_test_data_cardinality_skey.yaml
@@ -0,0 +1,200 @@
+#100000 col1 col2 col3 col4
+#Table1 1*1M 1000*1k 10000*100
+#Table2 1*1L 1000*100 10000*10
+#Table3 1*10k 100*100 1000*10
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint10k_1;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint10k_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card1_1 ASC,col_bigint_card2_1 ASC,col_bigint_card3_1 ASC)
+ - CREATE INDEX ON pkeyBigint1M_2(col_bigint_card1_1 ASC,col_bigint_card2_1 ASC,col_bigint_card3_1 ASC)
+ - CREATE INDEX ON pkeyBigint10k_1(col_bigint_card1_1 ASC,col_bigint_card2_1 ASC,col_bigint_card3_1 ASC)
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint10k_1;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000,2000002,2000003,2000004,2000005,2000006,2000007,2000008,2000009,2000010,2000011,2000012,2000013,2000014,2000015,2000016,2000017,2000018,2000019,2000020,2000021,2000022,2000023,2000024,2000025,2000026,2000027,2000028,2000029,2000030,2000031,2000032,2000033,2000034,2000035,2000036,2000037,2000038,2000039,2000040,2000041,2000042,2000043,2000044,2000045,2000046,2000047,2000048,2000049,2000050,2000051,2000052,2000053,2000054,2000055,2000056,2000057,2000058,2000059,2000060,2000061,2000062,2000063,2000064,2000065,2000066,2000067,2000068,2000069,2000070,2000071,2000072,2000073,2000074,2000075,2000076,2000077,2000078,2000079,2000080,2000081,2000082,2000083,2000084,2000085,2000086,2000087,2000088,2000089,2000090,2000091,2000092,2000093,2000094,2000095,2000096,2000097,2000098,2000099,2000100,2000101,2000102,2000103,2000104,2000105,2000106,2000107,2000108,2000109,2000110,2000111,2000112,2000113,2000114,2000115,2000116,2000117,2000118,2000119,2000120,2000121,2000122,2000123,2000124,2000125,2000126,2000127,2000128,2000129,2000130,2000131,2000132,2000133,2000134,2000135,2000136,2000137,2000138,2000139,2000140,2000141,2000142,2000143,2000144,2000145,2000146,2000147,2000148,2000149,2000150,2000151,2000152,2000153,2000154,2000155,2000156,2000157,2000158,2000159,2000160,2000161,2000162,2000163,2000164,2000165,2000166,2000167,2000168,2000169,2000170,2000171,2000172,2000173,2000174,2000175,2000176,2000177,2000178,2000179,2000180,2000181,2000182,2000183,2000184,2000185,2000186,2000187,2000188,2000189,2000190,2000191,2000192,2000193,2000194,2000195,2000196,2000197,2000198,2000199,2000200,2000201,2000202,2000203,2000204,2000205,2000206,2000207,2000208,2000209,2000210,2000211,2000212,2000213,2000214,2000215,2000216,2000217,2000218,2000219,2000220,2000221,2000222,2000223,2000224,2000225,2000226,2000227,2000228,2000229,2000230,2000231,2000232,2000233,2000234,2000235,2000236,2000237,2000238,2000239,2000240,2000241,2000242,2000243,2000244,2000245,2000246,2000247,2000248,2000249,2000250,2000251,2000252,2000253,2000254,2000255,2000256,2000257,2000258,2000259,2000260,2000261,2000262,2000263,2000264,2000265,2000266,2000267,2000268,2000269,2000270,2000271,2000272,2000273,2000274,2000275,2000276,2000277,2000278,2000279,2000280,2000281,2000282,2000283,2000284,2000285,2000286,2000287,2000288,2000289,2000290,2000291,2000292,2000293,2000294,2000295,2000296,2000297,2000298,2000299,2000300,2000301,2000302,2000303,2000304,2000305,2000306,2000307,2000308,2000309,2000310,2000311,2000312,2000313,2000314,2000315,2000316,2000317,2000318,2000319,2000320,2000321,2000322,2000323,2000324,2000325,2000326,2000327,2000328,2000329,2000330,2000331,2000332,2000333,2000334,2000335,2000336,2000337,2000338,2000339,2000340,2000341,2000342,2000343,2000344,2000345,2000346,2000347,2000348,2000349,2000350,2000351,2000352,2000353,2000354,2000355,2000356,2000357,2000358,2000359,2000360,2000361,2000362,2000363,2000364,2000365,2000366,2000367,2000368,2000369,2000370,2000371,2000372,2000373,2000374,2000375,2000376,2000377,2000378,2000379,2000380,2000381,2000382,2000383,2000384,2000385,2000386,2000387,2000388,2000389,2000390,2000391,2000392,2000393,2000394,2000395,2000396,2000397,2000398,2000399,2000400,2000401,2000402,2000403,2000404,2000405,2000406,2000407,2000408,2000409,2000410,2000411,2000412,2000413,2000414,2000415,2000416,2000417,2000418,2000419,2000420,2000421,2000422,2000423,2000424,2000425,2000426,2000427,2000428,2000429,2000430,2000431,2000432,2000433,2000434,2000435,2000436,2000437,2000438,2000439,2000440,2000441,2000442,2000443,2000444,2000445,2000446,2000447,2000448,2000449,2000450,2000451,2000452,2000453,2000454,2000455,2000456,2000457,2000458,2000459,2000460,2000461,2000462,2000463,2000464,2000465,2000466,2000467,2000468,2000469,2000470,2000471,2000472,2000473,2000474,2000475,2000476,2000477,2000478,2000479,2000480,2000481,2000482,2000483,2000484,2000485,2000486,2000487,2000488,2000489,2000490,2000491,2000492,2000493,2000494,2000495,2000496,2000497,2000498,2000499,2000500,2000501,2000502,2000503,2000504,2000505,2000506,2000507,2000508,2000509,2000510,2000511,2000512,2000513,2000514,2000515,2000516,2000517,2000518,2000519,2000520,2000521,2000522,2000523,2000524,2000525,2000526,2000527,2000528,2000529,2000530,2000531,2000532,2000533,2000534,2000535,2000536,2000537,2000538,2000539,2000540,2000541,2000542,2000543,2000544,2000545,2000546,2000547,2000548,2000549,2000550,2000551,2000552,2000553,2000554,2000555,2000556,2000557,2000558,2000559,2000560,2000561,2000562,2000563,2000564,2000565,2000566,2000567,2000568,2000569,2000570,2000571,2000572,2000573,2000574,2000575,2000576,2000577,2000578,2000579,2000580,2000581,2000582,2000583,2000584,2000585,2000586,2000587,2000588,2000589,2000590,2000591,2000592,2000593,2000594,2000595,2000596,2000597,2000598,2000599,2000600,2000601,2000602,2000603,2000604,2000605,2000606,2000607,2000608,2000609,2000610,2000611,2000612,2000613,2000614,2000615,2000616,2000617,2000618,2000619,2000620,2000621,2000622,2000623,2000624,2000625,2000626,2000627,2000628,2000629,2000630,2000631,2000632,2000633,2000634,2000635,2000636,2000637,2000638,2000639,2000640,2000641,2000642,2000643,2000644,2000645,2000646,2000647,2000648,2000649,2000650,2000651,2000652,2000653,2000654,2000655,2000656,2000657,2000658,2000659,2000660,2000661,2000662,2000663,2000664,2000665,2000666,2000667,2000668,2000669,2000670,2000671,2000672,2000673,2000674,2000675,2000676,2000677,2000678,2000679,2000680,2000681,2000682,2000683,2000684,2000685,2000686,2000687,2000688,2000689,2000690,2000691,2000692,2000693,2000694,2000695,2000696,2000697,2000698,2000699,2000700,2000701,2000702,2000703,2000704,2000705,2000706,2000707,2000708,2000709,2000710,2000711,2000712,2000713,2000714,2000715,2000716,2000717,2000718,2000719,2000720,2000721,2000722,2000723,2000724,2000725,2000726,2000727,2000728,2000729,2000730,2000731,2000732,2000733,2000734,2000735,2000736,2000737,2000738,2000739,2000740,2000741,2000742,2000743,2000744,2000745,2000746,2000747,2000748,2000749,2000750,2000751,2000752,2000753,2000754,2000755,2000756,2000757,2000758,2000759,2000760,2000761,2000762,2000763,2000764,2000765,2000766,2000767,2000768,2000769,2000770,2000771,2000772,2000773,2000774,2000775,2000776,2000777,2000778,2000779,2000780,2000781,2000782,2000783,2000784,2000785,2000786,2000787,2000788,2000789,2000790,2000791,2000792,2000793,2000794,2000795,2000796,2000797,2000798,2000799,2000800,2000801,2000802,2000803,2000804,2000805,2000806,2000807,2000808,2000809,2000810,2000811,2000812,2000813,2000814,2000815,2000816,2000817,2000818,2000819,2000820,2000821,2000822,2000823,2000824,2000825,2000826,2000827,2000828,2000829,2000830,2000831,2000832,2000833,2000834,2000835,2000836,2000837,2000838,2000839,2000840,2000841,2000842,2000843,2000844,2000845,2000846,2000847,2000848,2000849,2000850,2000851,2000852,2000853,2000854,2000855,2000856,2000857,2000858,2000859,2000860,2000861,2000862,2000863,2000864,2000865,2000866,2000867,2000868,2000869,2000870,2000871,2000872,2000873,2000874,2000875,2000876,2000877,2000878,2000879,2000880,2000881,2000882,2000883,2000884,2000885,2000886,2000887,2000888,2000889,2000890,2000891,2000892,2000893,2000894,2000895,2000896,2000897,2000898,2000899,2000900,2000901,2000902,2000903,2000904,2000905,2000906,2000907,2000908,2000909,2000910,2000911,2000912,2000913,2000914,2000915,2000916,2000917,2000918,2000919,2000920,2000921,2000922,2000923,2000924,2000925,2000926,2000927,2000928,2000929,2000930,2000931,2000932,2000933,2000934,2000935,2000936,2000937,2000938,2000939,2000940,2000941,2000942,2000943,2000944,2000945,2000946,2000947,2000948,2000949,2000950,2000951,2000952,2000953,2000954,2000955,2000956,2000957,2000958,2000959,2000960,2000961,2000962,2000963,2000964,2000965,2000966,2000967,2000968,2000969,2000970,2000971,2000972,2000973,2000974,2000975,2000976,2000977,2000978,2000979,2000980,2000981,2000982,2000983,2000984,2000985,2000986,2000987,2000988,2000989,2000990,2000991,2000992,2000993,2000994,2000995,2000996,2000997,2000998,2000999,2001000,3000001,3000002,3000003,3000004,3000005,3000006,3000007,3000008,3000009,3000010,3000011,3000012,3000013,3000014,3000015,3000016,3000017,3000018,3000019,3000020,3000021,3000022,3000023,3000024,3000025,3000026,3000027,3000028,3000029,3000030,3000031,3000032,3000033,3000034,3000035,3000036,3000037,3000038,3000039,3000040,3000041,3000042,3000043,3000044,3000045,3000046,3000047,3000048,3000049,3000050,3000051,3000052,3000053,3000054,3000055,3000056,3000057,3000058,3000059,3000060,3000061,3000062,3000063,3000064,3000065,3000066,3000067,3000068,3000069,3000070,3000071,3000072,3000073,3000074,3000075,3000076,3000077,3000078,3000079,3000080,3000081,3000082,3000083,3000084,3000085,3000086,3000087,3000088,3000089,3000090,3000091,3000092,3000093,3000094,3000095,3000096,3000097,3000098,3000099,3000100,3000101,3000102,3000103,3000104,3000105,3000106,3000107,3000108,3000109,3000110,3000111,3000112,3000113,3000114,3000115,3000116,3000117,3000118,3000119,3000120,3000121,3000122,3000123,3000124,3000125,3000126,3000127,3000128,3000129,3000130,3000131,3000132,3000133,3000134,3000135,3000136,3000137,3000138,3000139,3000140,3000141,3000142,3000143,3000144,3000145,3000146,3000147,3000148,3000149,3000150,3000151,3000152,3000153,3000154,3000155,3000156,3000157,3000158,3000159,3000160,3000161,3000162,3000163,3000164,3000165,3000166,3000167,3000168,3000169,3000170,3000171,3000172,3000173,3000174,3000175,3000176,3000177,3000178,3000179,3000180,3000181,3000182,3000183,3000184,3000185,3000186,3000187,3000188,3000189,3000190,3000191,3000192,3000193,3000194,3000195,3000196,3000197,3000198,3000199,3000200,3000201,3000202,3000203,3000204,3000205,3000206,3000207,3000208,3000209,3000210,3000211,3000212,3000213,3000214,3000215,3000216,3000217,3000218,3000219,3000220,3000221,3000222,3000223,3000224,3000225,3000226,3000227,3000228,3000229,3000230,3000231,3000232,3000233,3000234,3000235,3000236,3000237,3000238,3000239,3000240,3000241,3000242,3000243,3000244,3000245,3000246,3000247,3000248,3000249,3000250,3000251,3000252,3000253,3000254,3000255,3000256,3000257,3000258,3000259,3000260,3000261,3000262,3000263,3000264,3000265,3000266,3000267,3000268,3000269,3000270,3000271,3000272,3000273,3000274,3000275,3000276,3000277,3000278,3000279,3000280,3000281,3000282,3000283,3000284,3000285,3000286,3000287,3000288,3000289,3000290,3000291,3000292,3000293,3000294,3000295,3000296,3000297,3000298,3000299,3000300,3000301,3000302,3000303,3000304,3000305,3000306,3000307,3000308,3000309,3000310,3000311,3000312,3000313,3000314,3000315,3000316,3000317,3000318,3000319,3000320,3000321,3000322,3000323,3000324,3000325,3000326,3000327,3000328,3000329,3000330,3000331,3000332,3000333,3000334,3000335,3000336,3000337,3000338,3000339,3000340,3000341,3000342,3000343,3000344,3000345,3000346,3000347,3000348,3000349,3000350,3000351,3000352,3000353,3000354,3000355,3000356,3000357,3000358,3000359,3000360,3000361,3000362,3000363,3000364,3000365,3000366,3000367,3000368,3000369,3000370,3000371,3000372,3000373,3000374,3000375,3000376,3000377,3000378,3000379,3000380,3000381,3000382,3000383,3000384,3000385,3000386,3000387,3000388,3000389,3000390,3000391,3000392,3000393,3000394,3000395,3000396,3000397,3000398,3000399,3000400,3000401,3000402,3000403,3000404,3000405,3000406,3000407,3000408,3000409,3000410,3000411,3000412,3000413,3000414,3000415,3000416,3000417,3000418,3000419,3000420,3000421,3000422,3000423,3000424,3000425,3000426,3000427,3000428,3000429,3000430,3000431,3000432,3000433,3000434,3000435,3000436,3000437,3000438,3000439,3000440,3000441,3000442,3000443,3000444,3000445,3000446,3000447,3000448,3000449,3000450,3000451,3000452,3000453,3000454,3000455,3000456,3000457,3000458,3000459,3000460,3000461,3000462,3000463,3000464,3000465,3000466,3000467,3000468,3000469,3000470,3000471,3000472,3000473,3000474,3000475,3000476,3000477,3000478,3000479,3000480,3000481,3000482,3000483,3000484,3000485,3000486,3000487,3000488,3000489,3000490,3000491,3000492,3000493,3000494,3000495,3000496,3000497,3000498,3000499,3000500,3000501,3000502,3000503,3000504,3000505,3000506,3000507,3000508,3000509,3000510,3000511,3000512,3000513,3000514,3000515,3000516,3000517,3000518,3000519,3000520,3000521,3000522,3000523,3000524,3000525,3000526,3000527,3000528,3000529,3000530,3000531,3000532,3000533,3000534,3000535,3000536,3000537,3000538,3000539,3000540,3000541,3000542,3000543,3000544,3000545,3000546,3000547,3000548,3000549,3000550,3000551,3000552,3000553,3000554,3000555,3000556,3000557,3000558,3000559,3000560,3000561,3000562,3000563,3000564,3000565,3000566,3000567,3000568,3000569,3000570,3000571,3000572,3000573,3000574,3000575,3000576,3000577,3000578,3000579,3000580,3000581,3000582,3000583,3000584,3000585,3000586,3000587,3000588,3000589,3000590,3000591,3000592,3000593,3000594,3000595,3000596,3000597,3000598,3000599,3000600,3000601,3000602,3000603,3000604,3000605,3000606,3000607,3000608,3000609,3000610,3000611,3000612,3000613,3000614,3000615,3000616,3000617,3000618,3000619,3000620,3000621,3000622,3000623,3000624,3000625,3000626,3000627,3000628,3000629,3000630,3000631,3000632,3000633,3000634,3000635,3000636,3000637,3000638,3000639,3000640,3000641,3000642,3000643,3000644,3000645,3000646,3000647,3000648,3000649,3000650,3000651,3000652,3000653,3000654,3000655,3000656,3000657,3000658,3000659,3000660,3000661,3000662,3000663,3000664,3000665,3000666,3000667,3000668,3000669,3000670,3000671,3000672,3000673,3000674,3000675,3000676,3000677,3000678,3000679,3000680,3000681,3000682,3000683,3000684,3000685,3000686,3000687,3000688,3000689,3000690,3000691,3000692,3000693,3000694,3000695,3000696,3000697,3000698,3000699,3000700,3000701,3000702,3000703,3000704,3000705,3000706,3000707,3000708,3000709,3000710,3000711,3000712,3000713,3000714,3000715,3000716,3000717,3000718,3000719,3000720,3000721,3000722,3000723,3000724,3000725,3000726,3000727,3000728,3000729,3000730,3000731,3000732,3000733,3000734,3000735,3000736,3000737,3000738,3000739,3000740,3000741,3000742,3000743,3000744,3000745,3000746,3000747,3000748,3000749,3000750,3000751,3000752,3000753,3000754,3000755,3000756,3000757,3000758,3000759,3000760,3000761,3000762,3000763,3000764,3000765,3000766,3000767,3000768,3000769,3000770,3000771,3000772,3000773,3000774,3000775,3000776,3000777,3000778,3000779,3000780,3000781,3000782,3000783,3000784,3000785,3000786,3000787,3000788,3000789,3000790,3000791,3000792,3000793,3000794,3000795,3000796,3000797,3000798,3000799,3000800,3000801,3000802,3000803,3000804,3000805,3000806,3000807,3000808,3000809,3000810,3000811,3000812,3000813,3000814,3000815,3000816,3000817,3000818,3000819,3000820,3000821,3000822,3000823,3000824,3000825,3000826,3000827,3000828,3000829,3000830,3000831,3000832,3000833,3000834,3000835,3000836,3000837,3000838,3000839,3000840,3000841,3000842,3000843,3000844,3000845,3000846,3000847,3000848,3000849,3000850,3000851,3000852,3000853,3000854,3000855,3000856,3000857,3000858,3000859,3000860,3000861,3000862,3000863,3000864,3000865,3000866,3000867,3000868,3000869,3000870,3000871,3000872,3000873,3000874,3000875,3000876,3000877,3000878,3000879,3000880,3000881,3000882,3000883,3000884,3000885,3000886,3000887,3000888,3000889,3000890,3000891,3000892,3000893,3000894,3000895,3000896,3000897,3000898,3000899,3000900,3000901,3000902,3000903,3000904,3000905,3000906,3000907,3000908,3000909,3000910,3000911,3000912,3000913,3000914,3000915,3000916,3000917,3000918,3000919,3000920,3000921,3000922,3000923,3000924,3000925,3000926,3000927,3000928,3000929,3000930,3000931,3000932,3000933,3000934,3000935,3000936,3000937,3000938,3000939,3000940,3000941,3000942,3000943,3000944,3000945,3000946,3000947,3000948,3000949,3000950,3000951,3000952,3000953,3000954,3000955,3000956,3000957,3000958,3000959,3000960,3000961,3000962,3000963,3000964,3000965,3000966,3000967,3000968,3000969,3000970,3000971,3000972,3000973,3000974,3000975,3000976,3000977,3000978,3000979,3000980,3000981,3000982,3000983,3000984,3000985,3000986,3000987,3000988,3000989,3000990,3000991,3000992,3000993,3000994,3000995,3000996,3000997,3000998,3000999,3001000,4000001,4000002,4000003,4000004,4000005,4000006,4000007,4000008,4000009,4000010,4000011,4000012,4000013,4000014,4000015,4000016,4000017,4000018,4000019,4000020,4000021,4000022,4000023,4000024,4000025,4000026,4000027,4000028,4000029,4000030,4000031,4000032,4000033,4000034,4000035,4000036,4000037,4000038,4000039,4000040,4000041,4000042,4000043,4000044,4000045,4000046,4000047,4000048,4000049,4000050,4000051,4000052,4000053,4000054,4000055,4000056,4000057,4000058,4000059,4000060,4000061,4000062,4000063,4000064,4000065,4000066,4000067,4000068,4000069,4000070,4000071,4000072,4000073,4000074,4000075,4000076,4000077,4000078,4000079,4000080,4000081,4000082,4000083,4000084,4000085,4000086,4000087,4000088,4000089,4000090,4000091,4000092,4000093,4000094,4000095,4000096,4000097,4000098,4000099,4000100,4000101,4000102,4000103,4000104,4000105,4000106,4000107,4000108,4000109,4000110,4000111,4000112,4000113,4000114,4000115,4000116,4000117,4000118,4000119,4000120,4000121,4000122,4000123,4000124,4000125,4000126,4000127,4000128,4000129,4000130,4000131,4000132,4000133,4000134,4000135,4000136,4000137,4000138,4000139,4000140,4000141,4000142,4000143,4000144,4000145,4000146,4000147,4000148,4000149,4000150,4000151,4000152,4000153,4000154,4000155,4000156,4000157,4000158,4000159,4000160,4000161,4000162,4000163,4000164,4000165,4000166,4000167,4000168,4000169,4000170,4000171,4000172,4000173,4000174,4000175,4000176,4000177,4000178,4000179,4000180,4000181,4000182,4000183,4000184,4000185,4000186,4000187,4000188,4000189,4000190,4000191,4000192,4000193,4000194,4000195,4000196,4000197,4000198,4000199,4000200,4000201,4000202,4000203,4000204,4000205,4000206,4000207,4000208,4000209,4000210,4000211,4000212,4000213,4000214,4000215,4000216,4000217,4000218,4000219,4000220,4000221,4000222,4000223,4000224,4000225,4000226,4000227,4000228,4000229,4000230,4000231,4000232,4000233,4000234,4000235,4000236,4000237,4000238,4000239,4000240,4000241,4000242,4000243,4000244,4000245,4000246,4000247,4000248,4000249,4000250,4000251,4000252,4000253,4000254,4000255,4000256,4000257,4000258,4000259,4000260,4000261,4000262,4000263,4000264,4000265,4000266,4000267,4000268,4000269,4000270,4000271,4000272,4000273,4000274,4000275,4000276,4000277,4000278,4000279,4000280,4000281,4000282,4000283,4000284,4000285,4000286,4000287,4000288,4000289,4000290,4000291,4000292,4000293,4000294,4000295,4000296,4000297,4000298,4000299,4000300,4000301,4000302,4000303,4000304,4000305,4000306,4000307,4000308,4000309,4000310,4000311,4000312,4000313,4000314,4000315,4000316,4000317,4000318,4000319,4000320,4000321,4000322,4000323,4000324,4000325,4000326,4000327,4000328,4000329,4000330,4000331,4000332,4000333,4000334,4000335,4000336,4000337,4000338,4000339,4000340,4000341,4000342,4000343,4000344,4000345,4000346,4000347,4000348,4000349,4000350,4000351,4000352,4000353,4000354,4000355,4000356,4000357,4000358,4000359,4000360,4000361,4000362,4000363,4000364,4000365,4000366,4000367,4000368,4000369,4000370,4000371,4000372,4000373,4000374,4000375,4000376,4000377,4000378,4000379,4000380,4000381,4000382,4000383,4000384,4000385,4000386,4000387,4000388,4000389,4000390,4000391,4000392,4000393,4000394,4000395,4000396,4000397,4000398,4000399,4000400,4000401,4000402,4000403,4000404,4000405,4000406,4000407,4000408,4000409,4000410,4000411,4000412,4000413,4000414,4000415,4000416,4000417,4000418,4000419,4000420,4000421,4000422,4000423,4000424,4000425,4000426,4000427,4000428,4000429,4000430,4000431,4000432,4000433,4000434,4000435,4000436,4000437,4000438,4000439,4000440,4000441,4000442,4000443,4000444,4000445,4000446,4000447,4000448,4000449,4000450,4000451,4000452,4000453,4000454,4000455,4000456,4000457,4000458,4000459,4000460,4000461,4000462,4000463,4000464,4000465,4000466,4000467,4000468,4000469,4000470,4000471,4000472,4000473,4000474,4000475,4000476,4000477,4000478,4000479,4000480,4000481,4000482,4000483,4000484,4000485,4000486,4000487,4000488,4000489,4000490,4000491,4000492,4000493,4000494,4000495,4000496,4000497,4000498,4000499,4000500,4000501,4000502,4000503,4000504,4000505,4000506,4000507,4000508,4000509,4000510,4000511,4000512,4000513,4000514,4000515,4000516,4000517,4000518,4000519,4000520,4000521,4000522,4000523,4000524,4000525,4000526,4000527,4000528,4000529,4000530,4000531,4000532,4000533,4000534,4000535,4000536,4000537,4000538,4000539,4000540,4000541,4000542,4000543,4000544,4000545,4000546,4000547,4000548,4000549,4000550,4000551,4000552,4000553,4000554,4000555,4000556,4000557,4000558,4000559,4000560,4000561,4000562,4000563,4000564,4000565,4000566,4000567,4000568,4000569,4000570,4000571,4000572,4000573,4000574,4000575,4000576,4000577,4000578,4000579,4000580,4000581,4000582,4000583,4000584,4000585,4000586,4000587,4000588,4000589,4000590,4000591,4000592,4000593,4000594,4000595,4000596,4000597,4000598,4000599,4000600,4000601,4000602,4000603,4000604,4000605,4000606,4000607,4000608,4000609,4000610,4000611,4000612,4000613,4000614,4000615,4000616,4000617,4000618,4000619,4000620,4000621,4000622,4000623,4000624,4000625,4000626,4000627,4000628,4000629,4000630,4000631,4000632,4000633,4000634,4000635,4000636,4000637,4000638,4000639,4000640,4000641,4000642,4000643,4000644,4000645,4000646,4000647,4000648,4000649,4000650,4000651,4000652,4000653,4000654,4000655,4000656,4000657,4000658,4000659,4000660,4000661,4000662,4000663,4000664,4000665,4000666,4000667,4000668,4000669,4000670,4000671,4000672,4000673,4000674,4000675,4000676,4000677,4000678,4000679,4000680,4000681,4000682,4000683,4000684,4000685,4000686,4000687,4000688,4000689,4000690,4000691,4000692,4000693,4000694,4000695,4000696,4000697,4000698,4000699,4000700,4000701,4000702,4000703,4000704,4000705,4000706,4000707,4000708,4000709,4000710,4000711,4000712,4000713,4000714,4000715,4000716,4000717,4000718,4000719,4000720,4000721,4000722,4000723,4000724,4000725,4000726,4000727,4000728,4000729,4000730,4000731,4000732,4000733,4000734,4000735,4000736,4000737,4000738,4000739,4000740,4000741,4000742,4000743,4000744,4000745,4000746,4000747,4000748,4000749,4000750,4000751,4000752,4000753,4000754,4000755,4000756,4000757,4000758,4000759,4000760,4000761,4000762,4000763,4000764,4000765,4000766,4000767,4000768,4000769,4000770,4000771,4000772,4000773,4000774,4000775,4000776,4000777,4000778,4000779,4000780,4000781,4000782,4000783,4000784,4000785,4000786,4000787,4000788,4000789,4000790,4000791,4000792,4000793,4000794,4000795,4000796,4000797,4000798,4000799,4000800,4000801,4000802,4000803,4000804,4000805,4000806,4000807,4000808,4000809,4000810,4000811,4000812,4000813,4000814,4000815,4000816,4000817,4000818,4000819,4000820,4000821,4000822,4000823,4000824,4000825,4000826,4000827,4000828,4000829,4000830,4000831,4000832,4000833,4000834,4000835,4000836,4000837,4000838,4000839,4000840,4000841,4000842,4000843,4000844,4000845,4000846,4000847,4000848,4000849,4000850,4000851,4000852,4000853,4000854,4000855,4000856,4000857,4000858,4000859,4000860,4000861,4000862,4000863,4000864,4000865,4000866,4000867,4000868,4000869,4000870,4000871,4000872,4000873,4000874,4000875,4000876,4000877,4000878,4000879,4000880,4000881,4000882,4000883,4000884,4000885,4000886,4000887,4000888,4000889,4000890,4000891,4000892,4000893,4000894,4000895,4000896,4000897,4000898,4000899,4000900,4000901,4000902,4000903,4000904,4000905,4000906,4000907,4000908,4000909,4000910,4000911,4000912,4000913,4000914,4000915,4000916,4000917,4000918,4000919,4000920,4000921,4000922,4000923,4000924,4000925,4000926,4000927,4000928,4000929,4000930,4000931,4000932,4000933,4000934,4000935,4000936,4000937,4000938,4000939,4000940,4000941,4000942,4000943,4000944,4000945,4000946,4000947,4000948,4000949,4000950,4000951,4000952,4000953,4000954,4000955,4000956,4000957,4000958,4000959,4000960,4000961,4000962,4000963,4000964,4000965,4000966,4000967,4000968,4000969,4000970,4000971,4000972,4000973,4000974,4000975,4000976,4000977,4000978,4000979,4000980,4000981,4000982,4000983,4000984,4000985,4000986,4000987,4000988,4000989,4000990,4000991,4000992,4000993,4000994,4000995,4000996,4000997,4000998,4000999,4001000,5000002,5000003,5000004,5000005,5000006,5000007,5000008,5000009,5000010,5000011,5000012,5000013,5000014,5000015,5000016,5000017,5000018,5000019,5000020,5000021,5000022,5000023,5000024,5000025,5000026,5000027,5000028,5000029,5000030,5000031,5000032,5000033,5000034,5000035,5000036,5000037,5000038,5000039,5000040,5000041,5000042,5000043,5000044,5000045,5000046,5000047,5000048,5000049,5000050,5000051,5000052,5000053,5000054,5000055,5000056,5000057,5000058,5000059,5000060,5000061,5000062,5000063,5000064,5000065,5000066,5000067,5000068,5000069,5000070,5000071,5000072,5000073,5000074,5000075,5000076,5000077,5000078,5000079,5000080,5000081,5000082,5000083,5000084,5000085,5000086,5000087,5000088,5000089,5000090,5000091,5000092,5000093,5000094,5000095,5000096,5000097,5000098,5000099,5000100,5000101,5000102,5000103,5000104,5000105,5000106,5000107,5000108,5000109,5000110,5000111,5000112,5000113,5000114,5000115,5000116,5000117,5000118,5000119,5000120,5000121,5000122,5000123,5000124,5000125,5000126,5000127,5000128,5000129,5000130,5000131,5000132,5000133,5000134,5000135,5000136,5000137,5000138,5000139,5000140,5000141,5000142,5000143,5000144,5000145,5000146,5000147,5000148,5000149,5000150,5000151,5000152,5000153,5000154,5000155,5000156,5000157,5000158,5000159,5000160,5000161,5000162,5000163,5000164,5000165,5000166,5000167,5000168,5000169,5000170,5000171,5000172,5000173,5000174,5000175,5000176,5000177,5000178,5000179,5000180,5000181,5000182,5000183,5000184,5000185,5000186,5000187,5000188,5000189,5000190,5000191,5000192,5000193,5000194,5000195,5000196,5000197,5000198,5000199,5000200,5000201,5000202,5000203,5000204,5000205,5000206,5000207,5000208,5000209,5000210,5000211,5000212,5000213,5000214,5000215,5000216,5000217,5000218,5000219,5000220,5000221,5000222,5000223,5000224,5000225,5000226,5000227,5000228,5000229,5000230,5000231,5000232,5000233,5000234,5000235,5000236,5000237,5000238,5000239,5000240,5000241,5000242,5000243,5000244,5000245,5000246,5000247,5000248,5000249,5000250,5000251,5000252,5000253,5000254,5000255,5000256,5000257,5000258,5000259,5000260,5000261,5000262,5000263,5000264,5000265,5000266,5000267,5000268,5000269,5000270,5000271,5000272,5000273,5000274,5000275,5000276,5000277,5000278,5000279,5000280,5000281,5000282,5000283,5000284,5000285,5000286,5000287,5000288,5000289,5000290,5000291,5000292,5000293,5000294,5000295,5000296,5000297,5000298,5000299,5000300,5000301,5000302,5000303,5000304,5000305,5000306,5000307,5000308,5000309,5000310,5000311,5000312,5000313,5000314,5000315,5000316,5000317,5000318,5000319,5000320,5000321,5000322,5000323,5000324,5000325,5000326,5000327,5000328,5000329,5000330,5000331,5000332,5000333,5000334,5000335,5000336,5000337,5000338,5000339,5000340,5000341,5000342,5000343,5000344,5000345,5000346,5000347,5000348,5000349,5000350,5000351,5000352,5000353,5000354,5000355,5000356,5000357,5000358,5000359,5000360,5000361,5000362,5000363,5000364,5000365,5000366,5000367,5000368,5000369,5000370,5000371,5000372,5000373,5000374,5000375,5000376,5000377,5000378,5000379,5000380,5000381,5000382,5000383,5000384,5000385,5000386,5000387,5000388,5000389,5000390,5000391,5000392,5000393,5000394,5000395,5000396,5000397,5000398,5000399,5000400,5000401,5000402,5000403,5000404,5000405,5000406,5000407,5000408,5000409,5000410,5000411,5000412,5000413,5000414,5000415,5000416,5000417,5000418,5000419,5000420,5000421,5000422,5000423,5000424,5000425,5000426,5000427,5000428,5000429,5000430,5000431,5000432,5000433,5000434,5000435,5000436,5000437,5000438,5000439,5000440,5000441,5000442,5000443,5000444,5000445,5000446,5000447,5000448,5000449,5000450,5000451,5000452,5000453,5000454,5000455,5000456,5000457,5000458,5000459,5000460,5000461,5000462,5000463,5000464,5000465,5000466,5000467,5000468,5000469,5000470,5000471,5000472,5000473,5000474,5000475,5000476,5000477,5000478,5000479,5000480,5000481,5000482,5000483,5000484,5000485,5000486,5000487,5000488,5000489,5000490,5000491,5000492,5000493,5000494,5000495,5000496,5000497,5000498,5000499,5000500,5000501,5000502,5000503,5000504,5000505,5000506,5000507,5000508,5000509,5000510,5000511,5000512,5000513,5000514,5000515,5000516,5000517,5000518,5000519,5000520,5000521,5000522,5000523,5000524,5000525,5000526,5000527,5000528,5000529,5000530,5000531,5000532,5000533,5000534,5000535,5000536,5000537,5000538,5000539,5000540,5000541,5000542,5000543,5000544,5000545,5000546,5000547,5000548,5000549,5000550,5000551,5000552,5000553,5000554,5000555,5000556,5000557,5000558,5000559,5000560,5000561,5000562,5000563,5000564,5000565,5000566,5000567,5000568,5000569,5000570,5000571,5000572,5000573,5000574,5000575,5000576,5000577,5000578,5000579,5000580,5000581,5000582,5000583,5000584,5000585,5000586,5000587,5000588,5000589,5000590,5000591,5000592,5000593,5000594,5000595,5000596,5000597,5000598,5000599,5000600,5000601,5000602,5000603,5000604,5000605,5000606,5000607,5000608,5000609,5000610,5000611,5000612,5000613,5000614,5000615,5000616,5000617,5000618,5000619,5000620,5000621,5000622,5000623,5000624,5000625,5000626,5000627,5000628,5000629,5000630,5000631,5000632,5000633,5000634,5000635,5000636,5000637,5000638,5000639,5000640,5000641,5000642,5000643,5000644,5000645,5000646,5000647,5000648,5000649,5000650,5000651,5000652,5000653,5000654,5000655,5000656,5000657,5000658,5000659,5000660,5000661,5000662,5000663,5000664,5000665,5000666,5000667,5000668,5000669,5000670,5000671,5000672,5000673,5000674,5000675,5000676,5000677,5000678,5000679,5000680,5000681,5000682,5000683,5000684,5000685,5000686,5000687,5000688,5000689,5000690,5000691,5000692,5000693,5000694,5000695,5000696,5000697,5000698,5000699,5000700,5000701,5000702,5000703,5000704,5000705,5000706,5000707,5000708,5000709,5000710,5000711,5000712,5000713,5000714,5000715,5000716,5000717,5000718,5000719,5000720,5000721,5000722,5000723,5000724,5000725,5000726,5000727,5000728,5000729,5000730,5000731,5000732,5000733,5000734,5000735,5000736,5000737,5000738,5000739,5000740,5000741,5000742,5000743,5000744,5000745,5000746,5000747,5000748,5000749,5000750,5000751,5000752,5000753,5000754,5000755,5000756,5000757,5000758,5000759,5000760,5000761,5000762,5000763,5000764,5000765,5000766,5000767,5000768,5000769,5000770,5000771,5000772,5000773,5000774,5000775,5000776,5000777,5000778,5000779,5000780,5000781,5000782,5000783,5000784,5000785,5000786,5000787,5000788,5000789,5000790,5000791,5000792,5000793,5000794,5000795,5000796,5000797,5000798,5000799,5000800,5000801,5000802,5000803,5000804,5000805,5000806,5000807,5000808,5000809,5000810,5000811,5000812,5000813,5000814,5000815,5000816,5000817,5000818,5000819,5000820,5000821,5000822,5000823,5000824,5000825,5000826,5000827,5000828,5000829,5000830,5000831,5000832,5000833,5000834,5000835,5000836,5000837,5000838,5000839,5000840,5000841,5000842,5000843,5000844,5000845,5000846,5000847,5000848,5000849,5000850,5000851,5000852,5000853,5000854,5000855,5000856,5000857,5000858,5000859,5000860,5000861,5000862,5000863,5000864,5000865,5000866,5000867,5000868,5000869,5000870,5000871,5000872,5000873,5000874,5000875,5000876,5000877,5000878,5000879,5000880,5000881,5000882,5000883,5000884,5000885,5000886,5000887,5000888,5000889,5000890,5000891,5000892,5000893,5000894,5000895,5000896,5000897,5000898,5000899,5000900,5000901,5000902,5000903,5000904,5000905,5000906,5000907,5000908,5000909,5000910,5000911,5000912,5000913,5000914,5000915,5000916,5000917,5000918,5000919,5000920,5000921,5000922,5000923,5000924,5000925,5000926,5000927,5000928,5000929,5000930,5000931,5000932,5000933,5000934,5000935,5000936,5000937,5000938,5000939,5000940,5000941,5000942,5000943,5000944,5000945,5000946,5000947,5000948,5000949,5000950,5000951,5000952,5000953,5000954,5000955,5000956,5000957,5000958,5000959,5000960,5000961,5000962,5000963,5000964,5000965,5000966,5000967,5000968,5000969,5000970,5000971,5000972,5000973,5000974,5000975,5000976,5000977,5000978,5000979,5000980,5000981,5000982,5000983,5000984,5000985,5000986,5000987,5000988,5000989,5000990,5000991,5000992,5000993,5000994,5000995,5000996,5000997,5000998,5000999,5001000,6000001,6000002,6000003,6000004,6000005,6000006,6000007,6000008,6000009,6000010,6000011,6000012,6000013,6000014,6000015,6000016,6000017,6000018,6000019,6000020,6000021,6000022,6000023,6000024,6000025,6000026,6000027,6000028,6000029,6000030,6000031,6000032,6000033,6000034,6000035,6000036,6000037,6000038,6000039,6000040,6000041,6000042,6000043,6000044,6000045,6000046,6000047,6000048,6000049,6000050,6000051,6000052,6000053,6000054,6000055,6000056,6000057,6000058,6000059,6000060,6000061,6000062,6000063,6000064,6000065,6000066,6000067,6000068,6000069,6000070,6000071,6000072,6000073,6000074,6000075,6000076,6000077,6000078,6000079,6000080,6000081,6000082,6000083,6000084,6000085,6000086,6000087,6000088,6000089,6000090,6000091,6000092,6000093,6000094,6000095,6000096,6000097,6000098,6000099,6000100,6000101,6000102,6000103,6000104,6000105,6000106,6000107,6000108,6000109,6000110,6000111,6000112,6000113,6000114,6000115,6000116,6000117,6000118,6000119,6000120,6000121,6000122,6000123,6000124,6000125,6000126,6000127,6000128,6000129,6000130,6000131,6000132,6000133,6000134,6000135,6000136,6000137,6000138,6000139,6000140,6000141,6000142,6000143,6000144,6000145,6000146,6000147,6000148,6000149,6000150,6000151,6000152,6000153,6000154,6000155,6000156,6000157,6000158,6000159,6000160,6000161,6000162,6000163,6000164,6000165,6000166,6000167,6000168,6000169,6000170,6000171,6000172,6000173,6000174,6000175,6000176,6000177,6000178,6000179,6000180,6000181,6000182,6000183,6000184,6000185,6000186,6000187,6000188,6000189,6000190,6000191,6000192,6000193,6000194,6000195,6000196,6000197,6000198,6000199,6000200,6000201,6000202,6000203,6000204,6000205,6000206,6000207,6000208,6000209,6000210,6000211,6000212,6000213,6000214,6000215,6000216,6000217,6000218,6000219,6000220,6000221,6000222,6000223,6000224,6000225,6000226,6000227,6000228,6000229,6000230,6000231,6000232,6000233,6000234,6000235,6000236,6000237,6000238,6000239,6000240,6000241,6000242,6000243,6000244,6000245,6000246,6000247,6000248,6000249,6000250,6000251,6000252,6000253,6000254,6000255,6000256,6000257,6000258,6000259,6000260,6000261,6000262,6000263,6000264,6000265,6000266,6000267,6000268,6000269,6000270,6000271,6000272,6000273,6000274,6000275,6000276,6000277,6000278,6000279,6000280,6000281,6000282,6000283,6000284,6000285,6000286,6000287,6000288,6000289,6000290,6000291,6000292,6000293,6000294,6000295,6000296,6000297,6000298,6000299,6000300,6000301,6000302,6000303,6000304,6000305,6000306,6000307,6000308,6000309,6000310,6000311,6000312,6000313,6000314,6000315,6000316,6000317,6000318,6000319,6000320,6000321,6000322,6000323,6000324,6000325,6000326,6000327,6000328,6000329,6000330,6000331,6000332,6000333,6000334,6000335,6000336,6000337,6000338,6000339,6000340,6000341,6000342,6000343,6000344,6000345,6000346,6000347,6000348,6000349,6000350,6000351,6000352,6000353,6000354,6000355,6000356,6000357,6000358,6000359,6000360,6000361,6000362,6000363,6000364,6000365,6000366,6000367,6000368,6000369,6000370,6000371,6000372,6000373,6000374,6000375,6000376,6000377,6000378,6000379,6000380,6000381,6000382,6000383,6000384,6000385,6000386,6000387,6000388,6000389,6000390,6000391,6000392,6000393,6000394,6000395,6000396,6000397,6000398,6000399,6000400,6000401,6000402,6000403,6000404,6000405,6000406,6000407,6000408,6000409,6000410,6000411,6000412,6000413,6000414,6000415,6000416,6000417,6000418,6000419,6000420,6000421,6000422,6000423,6000424,6000425,6000426,6000427,6000428,6000429,6000430,6000431,6000432,6000433,6000434,6000435,6000436,6000437,6000438,6000439,6000440,6000441,6000442,6000443,6000444,6000445,6000446,6000447,6000448,6000449,6000450,6000451,6000452,6000453,6000454,6000455,6000456,6000457,6000458,6000459,6000460,6000461,6000462,6000463,6000464,6000465,6000466,6000467,6000468,6000469,6000470,6000471,6000472,6000473,6000474,6000475,6000476,6000477,6000478,6000479,6000480,6000481,6000482,6000483,6000484,6000485,6000486,6000487,6000488,6000489,6000490,6000491,6000492,6000493,6000494,6000495,6000496,6000497,6000498,6000499,6000500,6000501,6000502,6000503,6000504,6000505,6000506,6000507,6000508,6000509,6000510,6000511,6000512,6000513,6000514,6000515,6000516,6000517,6000518,6000519,6000520,6000521,6000522,6000523,6000524,6000525,6000526,6000527,6000528,6000529,6000530,6000531,6000532,6000533,6000534,6000535,6000536,6000537,6000538,6000539,6000540,6000541,6000542,6000543,6000544,6000545,6000546,6000547,6000548,6000549,6000550,6000551,6000552,6000553,6000554,6000555,6000556,6000557,6000558,6000559,6000560,6000561,6000562,6000563,6000564,6000565,6000566,6000567,6000568,6000569,6000570,6000571,6000572,6000573,6000574,6000575,6000576,6000577,6000578,6000579,6000580,6000581,6000582,6000583,6000584,6000585,6000586,6000587,6000588,6000589,6000590,6000591,6000592,6000593,6000594,6000595,6000596,6000597,6000598,6000599,6000600,6000601,6000602,6000603,6000604,6000605,6000606,6000607,6000608,6000609,6000610,6000611,6000612,6000613,6000614,6000615,6000616,6000617,6000618,6000619,6000620,6000621,6000622,6000623,6000624,6000625,6000626,6000627,6000628,6000629,6000630,6000631,6000632,6000633,6000634,6000635,6000636,6000637,6000638,6000639,6000640,6000641,6000642,6000643,6000644,6000645,6000646,6000647,6000648,6000649,6000650,6000651,6000652,6000653,6000654,6000655,6000656,6000657,6000658,6000659,6000660,6000661,6000662,6000663,6000664,6000665,6000666,6000667,6000668,6000669,6000670,6000671,6000672,6000673,6000674,6000675,6000676,6000677,6000678,6000679,6000680,6000681,6000682,6000683,6000684,6000685,6000686,6000687,6000688,6000689,6000690,6000691,6000692,6000693,6000694,6000695,6000696,6000697,6000698,6000699,6000700,6000701,6000702,6000703,6000704,6000705,6000706,6000707,6000708,6000709,6000710,6000711,6000712,6000713,6000714,6000715,6000716,6000717,6000718,6000719,6000720,6000721,6000722,6000723,6000724,6000725,6000726,6000727,6000728,6000729,6000730,6000731,6000732,6000733,6000734,6000735,6000736,6000737,6000738,6000739,6000740,6000741,6000742,6000743,6000744,6000745,6000746,6000747,6000748,6000749,6000750,6000751,6000752,6000753,6000754,6000755,6000756,6000757,6000758,6000759,6000760,6000761,6000762,6000763,6000764,6000765,6000766,6000767,6000768,6000769,6000770,6000771,6000772,6000773,6000774,6000775,6000776,6000777,6000778,6000779,6000780,6000781,6000782,6000783,6000784,6000785,6000786,6000787,6000788,6000789,6000790,6000791,6000792,6000793,6000794,6000795,6000796,6000797,6000798,6000799,6000800,6000801,6000802,6000803,6000804,6000805,6000806,6000807,6000808,6000809,6000810,6000811,6000812,6000813,6000814,6000815,6000816,6000817,6000818,6000819,6000820,6000821,6000822,6000823,6000824,6000825,6000826,6000827,6000828,6000829,6000830,6000831,6000832,6000833,6000834,6000835,6000836,6000837,6000838,6000839,6000840,6000841,6000842,6000843,6000844,6000845,6000846,6000847,6000848,6000849,6000850,6000851,6000852,6000853,6000854,6000855,6000856,6000857,6000858,6000859,6000860,6000861,6000862,6000863,6000864,6000865,6000866,6000867,6000868,6000869,6000870,6000871,6000872,6000873,6000874,6000875,6000876,6000877,6000878,6000879,6000880,6000881,6000882,6000883,6000884,6000885,6000886,6000887,6000888,6000889,6000890,6000891,6000892,6000893,6000894,6000895,6000896,6000897,6000898,6000899,6000900,6000901,6000902,6000903,6000904,6000905,6000906,6000907,6000908,6000909,6000910,6000911,6000912,6000913,6000914,6000915,6000916,6000917,6000918,6000919,6000920,6000921,6000922,6000923,6000924,6000925,6000926,6000927,6000928,6000929,6000930,6000931,6000932,6000933,6000934,6000935,6000936,6000937,6000938,6000939,6000940,6000941,6000942,6000943,6000944,6000945,6000946,6000947,6000948,6000949,6000950,6000951,6000952,6000953,6000954,6000955,6000956,6000957,6000958,6000959,6000960,6000961,6000962,6000963,6000964,6000965,6000966,6000967,6000968,6000969,6000970,6000971,6000972,6000973,6000974,6000975,6000976,6000977,6000978,6000979,6000980,6000981,6000982,6000983,6000984,6000985,6000986,6000987,6000988,6000989,6000990,6000991,6000992,6000993,6000994,6000995,6000996,6000997,6000998,6000999,6001000,7000001,7000002,7000003,7000004,7000005,7000006,7000007,7000008,7000009,7000010,7000011,7000012,7000013,7000014,7000015,7000016,7000017,7000018,7000019,7000020,7000021,7000022,7000023,7000024,7000025,7000026,7000027,7000028,7000029,7000030,7000031,7000032,7000033,7000034,7000035,7000036,7000037,7000038,7000039,7000040,7000041,7000042,7000043,7000044,7000045,7000046,7000047,7000048,7000049,7000050,7000051,7000052,7000053,7000054,7000055,7000056,7000057,7000058,7000059,7000060,7000061,7000062,7000063,7000064,7000065,7000066,7000067,7000068,7000069,7000070,7000071,7000072,7000073,7000074,7000075,7000076,7000077,7000078,7000079,7000080,7000081,7000082,7000083,7000084,7000085,7000086,7000087,7000088,7000089,7000090,7000091,7000092,7000093,7000094,7000095,7000096,7000097,7000098,7000099,7000100,7000101,7000102,7000103,7000104,7000105,7000106,7000107,7000108,7000109,7000110,7000111,7000112,7000113,7000114,7000115,7000116,7000117,7000118,7000119,7000120,7000121,7000122,7000123,7000124,7000125,7000126,7000127,7000128,7000129,7000130,7000131,7000132,7000133,7000134,7000135,7000136,7000137,7000138,7000139,7000140,7000141,7000142,7000143,7000144,7000145,7000146,7000147,7000148,7000149,7000150,7000151,7000152,7000153,7000154,7000155,7000156,7000157,7000158,7000159,7000160,7000161,7000162,7000163,7000164,7000165,7000166,7000167,7000168,7000169,7000170,7000171,7000172,7000173,7000174,7000175,7000176,7000177,7000178,7000179,7000180,7000181,7000182,7000183,7000184,7000185,7000186,7000187,7000188,7000189,7000190,7000191,7000192,7000193,7000194,7000195,7000196,7000197,7000198,7000199,7000200,7000201,7000202,7000203,7000204,7000205,7000206,7000207,7000208,7000209,7000210,7000211,7000212,7000213,7000214,7000215,7000216,7000217,7000218,7000219,7000220,7000221,7000222,7000223,7000224,7000225,7000226,7000227,7000228,7000229,7000230,7000231,7000232,7000233,7000234,7000235,7000236,7000237,7000238,7000239,7000240,7000241,7000242,7000243,7000244,7000245,7000246,7000247,7000248,7000249,7000250,7000251,7000252,7000253,7000254,7000255,7000256,7000257,7000258,7000259,7000260,7000261,7000262,7000263,7000264,7000265,7000266,7000267,7000268,7000269,7000270,7000271,7000272,7000273,7000274,7000275,7000276,7000277,7000278,7000279,7000280,7000281,7000282,7000283,7000284,7000285,7000286,7000287,7000288,7000289,7000290,7000291,7000292,7000293,7000294,7000295,7000296,7000297,7000298,7000299,7000300,7000301,7000302,7000303,7000304,7000305,7000306,7000307,7000308,7000309,7000310,7000311,7000312,7000313,7000314,7000315,7000316,7000317,7000318,7000319,7000320,7000321,7000322,7000323,7000324,7000325,7000326,7000327,7000328,7000329,7000330,7000331,7000332,7000333,7000334,7000335,7000336,7000337,7000338,7000339,7000340,7000341,7000342,7000343,7000344,7000345,7000346,7000347,7000348,7000349,7000350,7000351,7000352,7000353,7000354,7000355,7000356,7000357,7000358,7000359,7000360,7000361,7000362,7000363,7000364,7000365,7000366,7000367,7000368,7000369,7000370,7000371,7000372,7000373,7000374,7000375,7000376,7000377,7000378,7000379,7000380,7000381,7000382,7000383,7000384,7000385,7000386,7000387,7000388,7000389,7000390,7000391,7000392,7000393,7000394,7000395,7000396,7000397,7000398,7000399,7000400,7000401,7000402,7000403,7000404,7000405,7000406,7000407,7000408,7000409,7000410,7000411,7000412,7000413,7000414,7000415,7000416,7000417,7000418,7000419,7000420,7000421,7000422,7000423,7000424,7000425,7000426,7000427,7000428,7000429,7000430,7000431,7000432,7000433,7000434,7000435,7000436,7000437,7000438,7000439,7000440,7000441,7000442,7000443,7000444,7000445,7000446,7000447,7000448,7000449,7000450,7000451,7000452,7000453,7000454,7000455,7000456,7000457,7000458,7000459,7000460,7000461,7000462,7000463,7000464,7000465,7000466,7000467,7000468,7000469,7000470,7000471,7000472,7000473,7000474,7000475,7000476,7000477,7000478,7000479,7000480,7000481,7000482,7000483,7000484,7000485,7000486,7000487,7000488,7000489,7000490,7000491,7000492,7000493,7000494,7000495,7000496,7000497,7000498,7000499,7000500,7000501,7000502,7000503,7000504,7000505,7000506,7000507,7000508,7000509,7000510,7000511,7000512,7000513,7000514,7000515,7000516,7000517,7000518,7000519,7000520,7000521,7000522,7000523,7000524,7000525,7000526,7000527,7000528,7000529,7000530,7000531,7000532,7000533,7000534,7000535,7000536,7000537,7000538,7000539,7000540,7000541,7000542,7000543,7000544,7000545,7000546,7000547,7000548,7000549,7000550,7000551,7000552,7000553,7000554,7000555,7000556,7000557,7000558,7000559,7000560,7000561,7000562,7000563,7000564,7000565,7000566,7000567,7000568,7000569,7000570,7000571,7000572,7000573,7000574,7000575,7000576,7000577,7000578,7000579,7000580,7000581,7000582,7000583,7000584,7000585,7000586,7000587,7000588,7000589,7000590,7000591,7000592,7000593,7000594,7000595,7000596,7000597,7000598,7000599,7000600,7000601,7000602,7000603,7000604,7000605,7000606,7000607,7000608,7000609,7000610,7000611,7000612,7000613,7000614,7000615,7000616,7000617,7000618,7000619,7000620,7000621,7000622,7000623,7000624,7000625,7000626,7000627,7000628,7000629,7000630,7000631,7000632,7000633,7000634,7000635,7000636,7000637,7000638,7000639,7000640,7000641,7000642,7000643,7000644,7000645,7000646,7000647,7000648,7000649,7000650,7000651,7000652,7000653,7000654,7000655,7000656,7000657,7000658,7000659,7000660,7000661,7000662,7000663,7000664,7000665,7000666,7000667,7000668,7000669,7000670,7000671,7000672,7000673,7000674,7000675,7000676,7000677,7000678,7000679,7000680,7000681,7000682,7000683,7000684,7000685,7000686,7000687,7000688,7000689,7000690,7000691,7000692,7000693,7000694,7000695,7000696,7000697,7000698,7000699,7000700,7000701,7000702,7000703,7000704,7000705,7000706,7000707,7000708,7000709,7000710,7000711,7000712,7000713,7000714,7000715,7000716,7000717,7000718,7000719,7000720,7000721,7000722,7000723,7000724,7000725,7000726,7000727,7000728,7000729,7000730,7000731,7000732,7000733,7000734,7000735,7000736,7000737,7000738,7000739,7000740,7000741,7000742,7000743,7000744,7000745,7000746,7000747,7000748,7000749,7000750,7000751,7000752,7000753,7000754,7000755,7000756,7000757,7000758,7000759,7000760,7000761,7000762,7000763,7000764,7000765,7000766,7000767,7000768,7000769,7000770,7000771,7000772,7000773,7000774,7000775,7000776,7000777,7000778,7000779,7000780,7000781,7000782,7000783,7000784,7000785,7000786,7000787,7000788,7000789,7000790,7000791,7000792,7000793,7000794,7000795,7000796,7000797,7000798,7000799,7000800,7000801,7000802,7000803,7000804,7000805,7000806,7000807,7000808,7000809,7000810,7000811,7000812,7000813,7000814,7000815,7000816,7000817,7000818,7000819,7000820,7000821,7000822,7000823,7000824,7000825,7000826,7000827,7000828,7000829,7000830,7000831,7000832,7000833,7000834,7000835,7000836,7000837,7000838,7000839,7000840,7000841,7000842,7000843,7000844,7000845,7000846,7000847,7000848,7000849,7000850,7000851,7000852,7000853,7000854,7000855,7000856,7000857,7000858,7000859,7000860,7000861,7000862,7000863,7000864,7000865,7000866,7000867,7000868,7000869,7000870,7000871,7000872,7000873,7000874,7000875,7000876,7000877,7000878,7000879,7000880,7000881,7000882,7000883,7000884,7000885,7000886,7000887,7000888,7000889,7000890,7000891,7000892,7000893,7000894,7000895,7000896,7000897,7000898,7000899,7000900,7000901,7000902,7000903,7000904,7000905,7000906,7000907,7000908,7000909,7000910,7000911,7000912,7000913,7000914,7000915,7000916,7000917,7000918,7000919,7000920,7000921,7000922,7000923,7000924,7000925,7000926,7000927,7000928,7000929,7000930,7000931,7000932,7000933,7000934,7000935,7000936,7000937,7000938,7000939,7000940,7000941,7000942,7000943,7000944,7000945,7000946,7000947,7000948,7000949,7000950,7000951,7000952,7000953,7000954,7000955,7000956,7000957,7000958,7000959,7000960,7000961,7000962,7000963,7000964,7000965,7000966,7000967,7000968,7000969,7000970,7000971,7000972,7000973,7000974,7000975,7000976,7000977,7000978,7000979,7000980,7000981,7000982,7000983,7000984,7000985,7000986,7000987,7000988,7000989,7000990,7000991,7000992,7000993,7000994,7000995,7000996,7000997,7000998,7000999,7001000,8000002,8000003,8000004,8000005,8000006,8000007,8000008,8000009,8000010,8000011,8000012,8000013,8000014,8000015,8000016,8000017,8000018,8000019,8000020,8000021,8000022,8000023,8000024,8000025,8000026,8000027,8000028,8000029,8000030,8000031,8000032,8000033,8000034,8000035,8000036,8000037,8000038,8000039,8000040,8000041,8000042,8000043,8000044,8000045,8000046,8000047,8000048,8000049,8000050,8000051,8000052,8000053,8000054,8000055,8000056,8000057,8000058,8000059,8000060,8000061,8000062,8000063,8000064,8000065,8000066,8000067,8000068,8000069,8000070,8000071,8000072,8000073,8000074,8000075,8000076,8000077,8000078,8000079,8000080,8000081,8000082,8000083,8000084,8000085,8000086,8000087,8000088,8000089,8000090,8000091,8000092,8000093,8000094,8000095,8000096,8000097,8000098,8000099,8000100,8000101,8000102,8000103,8000104,8000105,8000106,8000107,8000108,8000109,8000110,8000111,8000112,8000113,8000114,8000115,8000116,8000117,8000118,8000119,8000120,8000121,8000122,8000123,8000124,8000125,8000126,8000127,8000128,8000129,8000130,8000131,8000132,8000133,8000134,8000135,8000136,8000137,8000138,8000139,8000140,8000141,8000142,8000143,8000144,8000145,8000146,8000147,8000148,8000149,8000150,8000151,8000152,8000153,8000154,8000155,8000156,8000157,8000158,8000159,8000160,8000161,8000162,8000163,8000164,8000165,8000166,8000167,8000168,8000169,8000170,8000171,8000172,8000173,8000174,8000175,8000176,8000177,8000178,8000179,8000180,8000181,8000182,8000183,8000184,8000185,8000186,8000187,8000188,8000189,8000190,8000191,8000192,8000193,8000194,8000195,8000196,8000197,8000198,8000199,8000200,8000201,8000202,8000203,8000204,8000205,8000206,8000207,8000208,8000209,8000210,8000211,8000212,8000213,8000214,8000215,8000216,8000217,8000218,8000219,8000220,8000221,8000222,8000223,8000224,8000225,8000226,8000227,8000228,8000229,8000230,8000231,8000232,8000233,8000234,8000235,8000236,8000237,8000238,8000239,8000240,8000241,8000242,8000243,8000244,8000245,8000246,8000247,8000248,8000249,8000250,8000251,8000252,8000253,8000254,8000255,8000256,8000257,8000258,8000259,8000260,8000261,8000262,8000263,8000264,8000265,8000266,8000267,8000268,8000269,8000270,8000271,8000272,8000273,8000274,8000275,8000276,8000277,8000278,8000279,8000280,8000281,8000282,8000283,8000284,8000285,8000286,8000287,8000288,8000289,8000290,8000291,8000292,8000293,8000294,8000295,8000296,8000297,8000298,8000299,8000300,8000301,8000302,8000303,8000304,8000305,8000306,8000307,8000308,8000309,8000310,8000311,8000312,8000313,8000314,8000315,8000316,8000317,8000318,8000319,8000320,8000321,8000322,8000323,8000324,8000325,8000326,8000327,8000328,8000329,8000330,8000331,8000332,8000333,8000334,8000335,8000336,8000337,8000338,8000339,8000340,8000341,8000342,8000343,8000344,8000345,8000346,8000347,8000348,8000349,8000350,8000351,8000352,8000353,8000354,8000355,8000356,8000357,8000358,8000359,8000360,8000361,8000362,8000363,8000364,8000365,8000366,8000367,8000368,8000369,8000370,8000371,8000372,8000373,8000374,8000375,8000376,8000377,8000378,8000379,8000380,8000381,8000382,8000383,8000384,8000385,8000386,8000387,8000388,8000389,8000390,8000391,8000392,8000393,8000394,8000395,8000396,8000397,8000398,8000399,8000400,8000401,8000402,8000403,8000404,8000405,8000406,8000407,8000408,8000409,8000410,8000411,8000412,8000413,8000414,8000415,8000416,8000417,8000418,8000419,8000420,8000421,8000422,8000423,8000424,8000425,8000426,8000427,8000428,8000429,8000430,8000431,8000432,8000433,8000434,8000435,8000436,8000437,8000438,8000439,8000440,8000441,8000442,8000443,8000444,8000445,8000446,8000447,8000448,8000449,8000450,8000451,8000452,8000453,8000454,8000455,8000456,8000457,8000458,8000459,8000460,8000461,8000462,8000463,8000464,8000465,8000466,8000467,8000468,8000469,8000470,8000471,8000472,8000473,8000474,8000475,8000476,8000477,8000478,8000479,8000480,8000481,8000482,8000483,8000484,8000485,8000486,8000487,8000488,8000489,8000490,8000491,8000492,8000493,8000494,8000495,8000496,8000497,8000498,8000499,8000500,8000501,8000502,8000503,8000504,8000505,8000506,8000507,8000508,8000509,8000510,8000511,8000512,8000513,8000514,8000515,8000516,8000517,8000518,8000519,8000520,8000521,8000522,8000523,8000524,8000525,8000526,8000527,8000528,8000529,8000530,8000531,8000532,8000533,8000534,8000535,8000536,8000537,8000538,8000539,8000540,8000541,8000542,8000543,8000544,8000545,8000546,8000547,8000548,8000549,8000550,8000551,8000552,8000553,8000554,8000555,8000556,8000557,8000558,8000559,8000560,8000561,8000562,8000563,8000564,8000565,8000566,8000567,8000568,8000569,8000570,8000571,8000572,8000573,8000574,8000575,8000576,8000577,8000578,8000579,8000580,8000581,8000582,8000583,8000584,8000585,8000586,8000587,8000588,8000589,8000590,8000591,8000592,8000593,8000594,8000595,8000596,8000597,8000598,8000599,8000600,8000601,8000602,8000603,8000604,8000605,8000606,8000607,8000608,8000609,8000610,8000611,8000612,8000613,8000614,8000615,8000616,8000617,8000618,8000619,8000620,8000621,8000622,8000623,8000624,8000625,8000626,8000627,8000628,8000629,8000630,8000631,8000632,8000633,8000634,8000635,8000636,8000637,8000638,8000639,8000640,8000641,8000642,8000643,8000644,8000645,8000646,8000647,8000648,8000649,8000650,8000651,8000652,8000653,8000654,8000655,8000656,8000657,8000658,8000659,8000660,8000661,8000662,8000663,8000664,8000665,8000666,8000667,8000668,8000669,8000670,8000671,8000672,8000673,8000674,8000675,8000676,8000677,8000678,8000679,8000680,8000681,8000682,8000683,8000684,8000685,8000686,8000687,8000688,8000689,8000690,8000691,8000692,8000693,8000694,8000695,8000696,8000697,8000698,8000699,8000700,8000701,8000702,8000703,8000704,8000705,8000706,8000707,8000708,8000709,8000710,8000711,8000712,8000713,8000714,8000715,8000716,8000717,8000718,8000719,8000720,8000721,8000722,8000723,8000724,8000725,8000726,8000727,8000728,8000729,8000730,8000731,8000732,8000733,8000734,8000735,8000736,8000737,8000738,8000739,8000740,8000741,8000742,8000743,8000744,8000745,8000746,8000747,8000748,8000749,8000750,8000751,8000752,8000753,8000754,8000755,8000756,8000757,8000758,8000759,8000760,8000761,8000762,8000763,8000764,8000765,8000766,8000767,8000768,8000769,8000770,8000771,8000772,8000773,8000774,8000775,8000776,8000777,8000778,8000779,8000780,8000781,8000782,8000783,8000784,8000785,8000786,8000787,8000788,8000789,8000790,8000791,8000792,8000793,8000794,8000795,8000796,8000797,8000798,8000799,8000800,8000801,8000802,8000803,8000804,8000805,8000806,8000807,8000808,8000809,8000810,8000811,8000812,8000813,8000814,8000815,8000816,8000817,8000818,8000819,8000820,8000821,8000822,8000823,8000824,8000825,8000826,8000827,8000828,8000829,8000830,8000831,8000832,8000833,8000834,8000835,8000836,8000837,8000838,8000839,8000840,8000841,8000842,8000843,8000844,8000845,8000846,8000847,8000848,8000849,8000850,8000851,8000852,8000853,8000854,8000855,8000856,8000857,8000858,8000859,8000860,8000861,8000862,8000863,8000864,8000865,8000866,8000867,8000868,8000869,8000870,8000871,8000872,8000873,8000874,8000875,8000876,8000877,8000878,8000879,8000880,8000881,8000882,8000883,8000884,8000885,8000886,8000887,8000888,8000889,8000890,8000891,8000892,8000893,8000894,8000895,8000896,8000897,8000898,8000899,8000900,8000901,8000902,8000903,8000904,8000905,8000906,8000907,8000908,8000909,8000910,8000911,8000912,8000913,8000914,8000915,8000916,8000917,8000918,8000919,8000920,8000921,8000922,8000923,8000924,8000925,8000926,8000927,8000928,8000929,8000930,8000931,8000932,8000933,8000934,8000935,8000936,8000937,8000938,8000939,8000940,8000941,8000942,8000943,8000944,8000945,8000946,8000947,8000948,8000949,8000950,8000951,8000952,8000953,8000954,8000955,8000956,8000957,8000958,8000959,8000960,8000961,8000962,8000963,8000964,8000965,8000966,8000967,8000968,8000969,8000970,8000971,8000972,8000973,8000974,8000975,8000976,8000977,8000978,8000979,8000980,8000981,8000982,8000983,8000984,8000985,8000986,8000987,8000988,8000989,8000990,8000991,8000992,8000993,8000994,8000995,8000996,8000997,8000998,8000999,8001000,9000001,9000002,9000003,9000004,9000005,9000006,9000007,9000008,9000009,9000010,9000011,9000012,9000013,9000014,9000015,9000016,9000017,9000018,9000019,9000020,9000021,9000022,9000023,9000024,9000025,9000026,9000027,9000028,9000029,9000030,9000031,9000032,9000033,9000034,9000035,9000036,9000037,9000038,9000039,9000040,9000041,9000042,9000043,9000044,9000045,9000046,9000047,9000048,9000049,9000050,9000051,9000052,9000053,9000054,9000055,9000056,9000057,9000058,9000059,9000060,9000061,9000062,9000063,9000064,9000065,9000066,9000067,9000068,9000069,9000070,9000071,9000072,9000073,9000074,9000075,9000076,9000077,9000078,9000079,9000080,9000081,9000082,9000083,9000084,9000085,9000086,9000087,9000088,9000089,9000090,9000091,9000092,9000093,9000094,9000095,9000096,9000097,9000098,9000099,9000100,9000101,9000102,9000103,9000104,9000105,9000106,9000107,9000108,9000109,9000110,9000111,9000112,9000113,9000114,9000115,9000116,9000117,9000118,9000119,9000120,9000121,9000122,9000123,9000124,9000125,9000126,9000127,9000128,9000129,9000130,9000131,9000132,9000133,9000134,9000135,9000136,9000137,9000138,9000139,9000140,9000141,9000142,9000143,9000144,9000145,9000146,9000147,9000148,9000149,9000150,9000151,9000152,9000153,9000154,9000155,9000156,9000157,9000158,9000159,9000160,9000161,9000162,9000163,9000164,9000165,9000166,9000167,9000168,9000169,9000170,9000171,9000172,9000173,9000174,9000175,9000176,9000177,9000178,9000179,9000180,9000181,9000182,9000183,9000184,9000185,9000186,9000187,9000188,9000189,9000190,9000191,9000192,9000193,9000194,9000195,9000196,9000197,9000198,9000199,9000200,9000201,9000202,9000203,9000204,9000205,9000206,9000207,9000208,9000209,9000210,9000211,9000212,9000213,9000214,9000215,9000216,9000217,9000218,9000219,9000220,9000221,9000222,9000223,9000224,9000225,9000226,9000227,9000228,9000229,9000230,9000231,9000232,9000233,9000234,9000235,9000236,9000237,9000238,9000239,9000240,9000241,9000242,9000243,9000244,9000245,9000246,9000247,9000248,9000249,9000250,9000251,9000252,9000253,9000254,9000255,9000256,9000257,9000258,9000259,9000260,9000261,9000262,9000263,9000264,9000265,9000266,9000267,9000268,9000269,9000270,9000271,9000272,9000273,9000274,9000275,9000276,9000277,9000278,9000279,9000280,9000281,9000282,9000283,9000284,9000285,9000286,9000287,9000288,9000289,9000290,9000291,9000292,9000293,9000294,9000295,9000296,9000297,9000298,9000299,9000300,9000301,9000302,9000303,9000304,9000305,9000306,9000307,9000308,9000309,9000310,9000311,9000312,9000313,9000314,9000315,9000316,9000317,9000318,9000319,9000320,9000321,9000322,9000323,9000324,9000325,9000326,9000327,9000328,9000329,9000330,9000331,9000332,9000333,9000334,9000335,9000336,9000337,9000338,9000339,9000340,9000341,9000342,9000343,9000344,9000345,9000346,9000347,9000348,9000349,9000350,9000351,9000352,9000353,9000354,9000355,9000356,9000357,9000358,9000359,9000360,9000361,9000362,9000363,9000364,9000365,9000366,9000367,9000368,9000369,9000370,9000371,9000372,9000373,9000374,9000375,9000376,9000377,9000378,9000379,9000380,9000381,9000382,9000383,9000384,9000385,9000386,9000387,9000388,9000389,9000390,9000391,9000392,9000393,9000394,9000395,9000396,9000397,9000398,9000399,9000400,9000401,9000402,9000403,9000404,9000405,9000406,9000407,9000408,9000409,9000410,9000411,9000412,9000413,9000414,9000415,9000416,9000417,9000418,9000419,9000420,9000421,9000422,9000423,9000424,9000425,9000426,9000427,9000428,9000429,9000430,9000431,9000432,9000433,9000434,9000435,9000436,9000437,9000438,9000439,9000440,9000441,9000442,9000443,9000444,9000445,9000446,9000447,9000448,9000449,9000450,9000451,9000452,9000453,9000454,9000455,9000456,9000457,9000458,9000459,9000460,9000461,9000462,9000463,9000464,9000465,9000466,9000467,9000468,9000469,9000470,9000471,9000472,9000473,9000474,9000475,9000476,9000477,9000478,9000479,9000480,9000481,9000482,9000483,9000484,9000485,9000486,9000487,9000488,9000489,9000490,9000491,9000492,9000493,9000494,9000495,9000496,9000497,9000498,9000499,9000500,9000501,9000502,9000503,9000504,9000505,9000506,9000507,9000508,9000509,9000510,9000511,9000512,9000513,9000514,9000515,9000516,9000517,9000518,9000519,9000520,9000521,9000522,9000523,9000524,9000525,9000526,9000527,9000528,9000529,9000530,9000531,9000532,9000533,9000534,9000535,9000536,9000537,9000538,9000539,9000540,9000541,9000542,9000543,9000544,9000545,9000546,9000547,9000548,9000549,9000550,9000551,9000552,9000553,9000554,9000555,9000556,9000557,9000558,9000559,9000560,9000561,9000562,9000563,9000564,9000565,9000566,9000567,9000568,9000569,9000570,9000571,9000572,9000573,9000574,9000575,9000576,9000577,9000578,9000579,9000580,9000581,9000582,9000583,9000584,9000585,9000586,9000587,9000588,9000589,9000590,9000591,9000592,9000593,9000594,9000595,9000596,9000597,9000598,9000599,9000600,9000601,9000602,9000603,9000604,9000605,9000606,9000607,9000608,9000609,9000610,9000611,9000612,9000613,9000614,9000615,9000616,9000617,9000618,9000619,9000620,9000621,9000622,9000623,9000624,9000625,9000626,9000627,9000628,9000629,9000630,9000631,9000632,9000633,9000634,9000635,9000636,9000637,9000638,9000639,9000640,9000641,9000642,9000643,9000644,9000645,9000646,9000647,9000648,9000649,9000650,9000651,9000652,9000653,9000654,9000655,9000656,9000657,9000658,9000659,9000660,9000661,9000662,9000663,9000664,9000665,9000666,9000667,9000668,9000669,9000670,9000671,9000672,9000673,9000674,9000675,9000676,9000677,9000678,9000679,9000680,9000681,9000682,9000683,9000684,9000685,9000686,9000687,9000688,9000689,9000690,9000691,9000692,9000693,9000694,9000695,9000696,9000697,9000698,9000699,9000700,9000701,9000702,9000703,9000704,9000705,9000706,9000707,9000708,9000709,9000710,9000711,9000712,9000713,9000714,9000715,9000716,9000717,9000718,9000719,9000720,9000721,9000722,9000723,9000724,9000725,9000726,9000727,9000728,9000729,9000730,9000731,9000732,9000733,9000734,9000735,9000736,9000737,9000738,9000739,9000740,9000741,9000742,9000743,9000744,9000745,9000746,9000747,9000748,9000749,9000750,9000751,9000752,9000753,9000754,9000755,9000756,9000757,9000758,9000759,9000760,9000761,9000762,9000763,9000764,9000765,9000766,9000767,9000768,9000769,9000770,9000771,9000772,9000773,9000774,9000775,9000776,9000777,9000778,9000779,9000780,9000781,9000782,9000783,9000784,9000785,9000786,9000787,9000788,9000789,9000790,9000791,9000792,9000793,9000794,9000795,9000796,9000797,9000798,9000799,9000800,9000801,9000802,9000803,9000804,9000805,9000806,9000807,9000808,9000809,9000810,9000811,9000812,9000813,9000814,9000815,9000816,9000817,9000818,9000819,9000820,9000821,9000822,9000823,9000824,9000825,9000826,9000827,9000828,9000829,9000830,9000831,9000832,9000833,9000834,9000835,9000836,9000837,9000838,9000839,9000840,9000841,9000842,9000843,9000844,9000845,9000846,9000847,9000848,9000849,9000850,9000851,9000852,9000853,9000854,9000855,9000856,9000857,9000858,9000859,9000860,9000861,9000862,9000863,9000864,9000865,9000866,9000867,9000868,9000869,9000870,9000871,9000872,9000873,9000874,9000875,9000876,9000877,9000878,9000879,9000880,9000881,9000882,9000883,9000884,9000885,9000886,9000887,9000888,9000889,9000890,9000891,9000892,9000893,9000894,9000895,9000896,9000897,9000898,9000899,9000900,9000901,9000902,9000903,9000904,9000905,9000906,9000907,9000908,9000909,9000910,9000911,9000912,9000913,9000914,9000915,9000916,9000917,9000918,9000919,9000920,9000921,9000922,9000923,9000924,9000925,9000926,9000927,9000928,9000929,9000930,9000931,9000932,9000933,9000934,9000935,9000936,9000937,9000938,9000939,9000940,9000941,9000942,9000943,9000944,9000945,9000946,9000947,9000948,9000949,9000950,9000951,9000952,9000953,9000954,9000955,9000956,9000957,9000958,9000959,9000960,9000961,9000962,9000963,9000964,9000965,9000966,9000967,9000968,9000969,9000970,9000971,9000972,9000973,9000974,9000975,9000976,9000977,9000978,9000979,9000980,9000981,9000982,9000983,9000984,9000985,9000986,9000987,9000988,9000989,9000990,9000991,9000992,9000993,9000994,9000995,9000996,9000997,9000998,9000999,9001000,10000001,10000002,10000003,10000004,10000005,10000006,10000007,10000008,10000009,10000010,10000011,10000012,10000013,10000014,10000015,10000016,10000017,10000018,10000019,10000020,10000021,10000022,10000023,10000024,10000025,10000026,10000027,10000028,10000029,10000030,10000031,10000032,10000033,10000034,10000035,10000036,10000037,10000038,10000039,10000040,10000041,10000042,10000043,10000044,10000045,10000046,10000047,10000048,10000049,10000050,10000051,10000052,10000053,10000054,10000055,10000056,10000057,10000058,10000059,10000060,10000061,10000062,10000063,10000064,10000065,10000066,10000067,10000068,10000069,10000070,10000071,10000072,10000073,10000074,10000075,10000076,10000077,10000078,10000079,10000080,10000081,10000082,10000083,10000084,10000085,10000086,10000087,10000088,10000089,10000090,10000091,10000092,10000093,10000094,10000095,10000096,10000097,10000098,10000099,10000100,10000101,10000102,10000103,10000104,10000105,10000106,10000107,10000108,10000109,10000110,10000111,10000112,10000113,10000114,10000115,10000116,10000117,10000118,10000119,10000120,10000121,10000122,10000123,10000124,10000125,10000126,10000127,10000128,10000129,10000130,10000131,10000132,10000133,10000134,10000135,10000136,10000137,10000138,10000139,10000140,10000141,10000142,10000143,10000144,10000145,10000146,10000147,10000148,10000149,10000150,10000151,10000152,10000153,10000154,10000155,10000156,10000157,10000158,10000159,10000160,10000161,10000162,10000163,10000164,10000165,10000166,10000167,10000168,10000169,10000170,10000171,10000172,10000173,10000174,10000175,10000176,10000177,10000178,10000179,10000180,10000181,10000182,10000183,10000184,10000185,10000186,10000187,10000188,10000189,10000190,10000191,10000192,10000193,10000194,10000195,10000196,10000197,10000198,10000199,10000200,10000201,10000202,10000203,10000204,10000205,10000206,10000207,10000208,10000209,10000210,10000211,10000212,10000213,10000214,10000215,10000216,10000217,10000218,10000219,10000220,10000221,10000222,10000223,10000224,10000225,10000226,10000227,10000228,10000229,10000230,10000231,10000232,10000233,10000234,10000235,10000236,10000237,10000238,10000239,10000240,10000241,10000242,10000243,10000244,10000245,10000246,10000247,10000248,10000249,10000250,10000251,10000252,10000253,10000254,10000255,10000256,10000257,10000258,10000259,10000260,10000261,10000262,10000263,10000264,10000265,10000266,10000267,10000268,10000269,10000270,10000271,10000272,10000273,10000274,10000275,10000276,10000277,10000278,10000279,10000280,10000281,10000282,10000283,10000284,10000285,10000286,10000287,10000288,10000289,10000290,10000291,10000292,10000293,10000294,10000295,10000296,10000297,10000298,10000299,10000300,10000301,10000302,10000303,10000304,10000305,10000306,10000307,10000308,10000309,10000310,10000311,10000312,10000313,10000314,10000315,10000316,10000317,10000318,10000319,10000320,10000321,10000322,10000323,10000324,10000325,10000326,10000327,10000328,10000329,10000330,10000331,10000332,10000333,10000334,10000335,10000336,10000337,10000338,10000339,10000340,10000341,10000342,10000343,10000344,10000345,10000346,10000347,10000348,10000349,10000350,10000351,10000352,10000353,10000354,10000355,10000356,10000357,10000358,10000359,10000360,10000361,10000362,10000363,10000364,10000365,10000366,10000367,10000368,10000369,10000370,10000371,10000372,10000373,10000374,10000375,10000376,10000377,10000378,10000379,10000380,10000381,10000382,10000383,10000384,10000385,10000386,10000387,10000388,10000389,10000390,10000391,10000392,10000393,10000394,10000395,10000396,10000397,10000398,10000399,10000400,10000401,10000402,10000403,10000404,10000405,10000406,10000407,10000408,10000409,10000410,10000411,10000412,10000413,10000414,10000415,10000416,10000417,10000418,10000419,10000420,10000421,10000422,10000423,10000424,10000425,10000426,10000427,10000428,10000429,10000430,10000431,10000432,10000433,10000434,10000435,10000436,10000437,10000438,10000439,10000440,10000441,10000442,10000443,10000444,10000445,10000446,10000447,10000448,10000449,10000450,10000451,10000452,10000453,10000454,10000455,10000456,10000457,10000458,10000459,10000460,10000461,10000462,10000463,10000464,10000465,10000466,10000467,10000468,10000469,10000470,10000471,10000472,10000473,10000474,10000475,10000476,10000477,10000478,10000479,10000480,10000481,10000482,10000483,10000484,10000485,10000486,10000487,10000488,10000489,10000490,10000491,10000492,10000493,10000494,10000495,10000496,10000497,10000498,10000499,10000500,10000501,10000502,10000503,10000504,10000505,10000506,10000507,10000508,10000509,10000510,10000511,10000512,10000513,10000514,10000515,10000516,10000517,10000518,10000519,10000520,10000521,10000522,10000523,10000524,10000525,10000526,10000527,10000528,10000529,10000530,10000531,10000532,10000533,10000534,10000535,10000536,10000537,10000538,10000539,10000540,10000541,10000542,10000543,10000544,10000545,10000546,10000547,10000548,10000549,10000550,10000551,10000552,10000553,10000554,10000555,10000556,10000557,10000558,10000559,10000560,10000561,10000562,10000563,10000564,10000565,10000566,10000567,10000568,10000569,10000570,10000571,10000572,10000573,10000574,10000575,10000576,10000577,10000578,10000579,10000580,10000581,10000582,10000583,10000584,10000585,10000586,10000587,10000588,10000589,10000590,10000591,10000592,10000593,10000594,10000595,10000596,10000597,10000598,10000599,10000600,10000601,10000602,10000603,10000604,10000605,10000606,10000607,10000608,10000609,10000610,10000611,10000612,10000613,10000614,10000615,10000616,10000617,10000618,10000619,10000620,10000621,10000622,10000623,10000624,10000625,10000626,10000627,10000628,10000629,10000630,10000631,10000632,10000633,10000634,10000635,10000636,10000637,10000638,10000639,10000640,10000641,10000642,10000643,10000644,10000645,10000646,10000647,10000648,10000649,10000650,10000651,10000652,10000653,10000654,10000655,10000656,10000657,10000658,10000659,10000660,10000661,10000662,10000663,10000664,10000665,10000666,10000667,10000668,10000669,10000670,10000671,10000672,10000673,10000674,10000675,10000676,10000677,10000678,10000679,10000680,10000681,10000682,10000683,10000684,10000685,10000686,10000687,10000688,10000689,10000690,10000691,10000692,10000693,10000694,10000695,10000696,10000697,10000698,10000699,10000700,10000701,10000702,10000703,10000704,10000705,10000706,10000707,10000708,10000709,10000710,10000711,10000712,10000713,10000714,10000715,10000716,10000717,10000718,10000719,10000720,10000721,10000722,10000723,10000724,10000725,10000726,10000727,10000728,10000729,10000730,10000731,10000732,10000733,10000734,10000735,10000736,10000737,10000738,10000739,10000740,10000741,10000742,10000743,10000744,10000745,10000746,10000747,10000748,10000749,10000750,10000751,10000752,10000753,10000754,10000755,10000756,10000757,10000758,10000759,10000760,10000761,10000762,10000763,10000764,10000765,10000766,10000767,10000768,10000769,10000770,10000771,10000772,10000773,10000774,10000775,10000776,10000777,10000778,10000779,10000780,10000781,10000782,10000783,10000784,10000785,10000786,10000787,10000788,10000789,10000790,10000791,10000792,10000793,10000794,10000795,10000796,10000797,10000798,10000799,10000800,10000801,10000802,10000803,10000804,10000805,10000806,10000807,10000808,10000809,10000810,10000811,10000812,10000813,10000814,10000815,10000816,10000817,10000818,10000819,10000820,10000821,10000822,10000823,10000824,10000825,10000826,10000827,10000828,10000829,10000830,10000831,10000832,10000833,10000834,10000835,10000836,10000837,10000838,10000839,10000840,10000841,10000842,10000843,10000844,10000845,10000846,10000847,10000848,10000849,10000850,10000851,10000852,10000853,10000854,10000855,10000856,10000857,10000858,10000859,10000860,10000861,10000862,10000863,10000864,10000865,10000866,10000867,10000868,10000869,10000870,10000871,10000872,10000873,10000874,10000875,10000876,10000877,10000878,10000879,10000880,10000881,10000882,10000883,10000884,10000885,10000886,10000887,10000888,10000889,10000890,10000891,10000892,10000893,10000894,10000895,10000896,10000897,10000898,10000899,10000900,10000901,10000902,10000903,10000904,10000905,10000906,10000907,10000908,10000909,10000910,10000911,10000912,10000913,10000914,10000915,10000916,10000917,10000918,10000919,10000920,10000921,10000922,10000923,10000924,10000925,10000926,10000927,10000928,10000929,10000930,10000931,10000932,10000933,10000934,10000935,10000936,10000937,10000938,10000939,10000940,10000941,10000942,10000943,10000944,10000945,10000946,10000947,10000948,10000949,10000950,10000951,10000952,10000953,10000954,10000955,10000956,10000957,10000958,10000959,10000960,10000961,10000962,10000963,10000964,10000965,10000966,10000967,10000968,10000969,10000970,10000971,10000972,10000973,10000974,10000975,10000976,10000977,10000978,10000979,10000980,10000981,10000982,10000983,10000984,10000985,10000986,10000987,10000988,10000989,10000990,10000991,10000992,10000993,10000994,10000995,10000996,10000997,10000998,10000999,10001000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ #Table3 1*10k 100*100 1000*10
+ - table: pkeyBigint10k_
+ count: 1
+ rows: 10000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: JoinG6_1_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: customer=3,schematype=colocated,partition=range,skey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+ - workload: JoinG6_2_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: schematype=colocated,partition=range,skey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card3_1 in (1000058);
+
+ - workload: JoinG6_3_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: customer=3,schematype=colocated,partition=range,skey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG6_4_1Mtbl_join_1Mtbl_two_conditions_seqscan_two_filters
+ customTags: schematype=colocated,partition=range,skey=asc,cardinality=multiple,projection=all,filtercount=two,filteron=rangeskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangeskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card2_1=b.col_bigint_card2_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG6_5_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=3,schematype=colocated,partition=range,skey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+ - workload: JoinG6_6_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: schematype=colocated,partition=range,skey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card3_1 in (1000058);
+
+ - workload: JoinG6_7_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=3,schematype=colocated,partition=range,skey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG6_8_1Mtbl_join_10ktbl_two_conditions_seqscan_two_filters
+ customTags: schematype=colocated,partition=range,skey=asc,cardinality=multiple,projection=all,filtercount=two,filteron=rangeskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangeskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card2_1=b.col_bigint_card2_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card2_1 in (1000058);
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING7_pkey_rangescan_join.yaml b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING7_pkey_rangescan_join.yaml
new file mode 100644
index 000000000..e13d6e6e4
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING7_pkey_rangescan_join.yaml
@@ -0,0 +1,104 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL11 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Join + Primary Key: Range + Join condition: Range Primary key. + Filter: range scan
+#TESTS:
+# Filter condition returns 1 rows
+# Filter condition returns 10 rows
+# Filter condition returns 1000 rows
+# Filter condition returns 100000 rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ - CREATE TABLE pkey_rangescan_join_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkey_rangescan_join_2(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ loadRules:
+ - table: pkey_rangescan_join_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: JoinG7_pkey_rangescan_join_fetch_1row
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=join,joinon=rangepkey
+ run:
+ - name: pkey_rangescan_join_fetch_1row_test
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1<2;
+ - workload: JoinG7_pkey_rangescan_join_fetch_10row
+ customTags: customer=4,schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=join,joinon=rangepkey
+ run:
+ - name: pkey_rangescan_join_fetch_10row_test
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1<11;
+ - workload: JoinG7_pkey_rangescan_join_fetch_1000row
+ customTags: customer=6,schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=join,joinon=rangepkey
+ run:
+ - name: pkey_rangescan_join_fetch_1000row_test
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1<1001;
+ - workload: JoinG7_pkey_rangescan_join_fetch_100000row
+ customTags: customer=1,schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=join,joinon=rangepkey
+ run:
+ - name: pkey_rangescan_join_fetch_100000row_test
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1<100001;
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING8_hash_merge_join.yaml b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING8_hash_merge_join.yaml
new file mode 100644
index 000000000..9937b0599
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING8_hash_merge_join.yaml
@@ -0,0 +1,103 @@
+#GOAL12 HashJoin and Merge join tests
+#TESTS:
+# Filter condition returns 1 rows
+# Filter condition returns 1000 rows .
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{ username }}
+password: {{ password }}
+isolation: TRANSACTION_REPEATABLE_READ
+batchsize: 128
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ - CREATE TABLE pkey_rangescan_join_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC, col_bigint_1 ASC));
+ - CREATE TABLE pkey_rangescan_join_2(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC, col_bigint_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ loadRules:
+ - table: pkey_rangescan_join_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: JoinG8_hash_join_fetch_1row
+ customTags: customer=1,schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=two,filteron=rangepkey,filtertype=pointselect,queryshape=join,joinon=rangepkey,joinconditions=one
+ run:
+ - name: hash_join_fetch_1row
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_2=pkey_rangescan_join_2.col_bigint_2 and pkey_rangescan_join_1.col_bigint_id_1 = 2 and pkey_rangescan_join_2.col_bigint_id_1 = 2 ;
+
+ - workload: JoinG8_hash_join_fetch_1000row
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=two,filteron=rangepkey,filtertype=pointselect,queryshape=join,joinon=rangepkey,joinconditions=one
+ run:
+ - name: hash_join_fetch_1000row
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_2=pkey_rangescan_join_2.col_bigint_2 and pkey_rangescan_join_1.col_bigint_id_1 < 1001 and pkey_rangescan_join_2.col_bigint_id_1 < 1001 ;
+
+ - workload: JoinG8_merge_join_fetch_1row
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=two,filteron=rangepkey,filtertype=pointselect,queryshape=join,joinon=rangepkey,joinconditions=one
+ run:
+ - name: merge_join_fetch_1row
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1 < 2 and pkey_rangescan_join_2.col_bigint_id_1 < 2;
+
+
+ - workload: JoinG8_merge_join_fetch_1000row
+ customTags: customer=4,schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=two,filteron=rangepkey,filtertype=pointselect,queryshape=join,joinon=rangepkey,joinconditions=one
+ run:
+ - name: merge_join_fetch_1000row
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1 < 1001 and pkey_rangescan_join_2.col_bigint_id_1 < 1001 ;
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING9_cascadded_joins.yaml b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING9_cascadded_joins.yaml
new file mode 100644
index 000000000..266a8025e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yb_colocated/JOING9_cascadded_joins.yaml
@@ -0,0 +1,138 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{ username }}
+password: {{ password }}
+isolation: TRANSACTION_REPEATABLE_READ
+batchsize: 128
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M_3;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE TABLE pkeyBigint1M_3(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card2_1);
+ - CREATE INDEX ON pkeyBigint1M_2(col_bigint_card2_1);
+ - CREATE INDEX ON pkeyBigint1M_3(col_bigint_card2_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M_3;
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 3
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000,2000002,2000003,2000004,2000005,2000006,2000007,2000008,2000009,2000010,2000011,2000012,2000013,2000014,2000015,2000016,2000017,2000018,2000019,2000020,2000021,2000022,2000023,2000024,2000025,2000026,2000027,2000028,2000029,2000030,2000031,2000032,2000033,2000034,2000035,2000036,2000037,2000038,2000039,2000040,2000041,2000042,2000043,2000044,2000045,2000046,2000047,2000048,2000049,2000050,2000051,2000052,2000053,2000054,2000055,2000056,2000057,2000058,2000059,2000060,2000061,2000062,2000063,2000064,2000065,2000066,2000067,2000068,2000069,2000070,2000071,2000072,2000073,2000074,2000075,2000076,2000077,2000078,2000079,2000080,2000081,2000082,2000083,2000084,2000085,2000086,2000087,2000088,2000089,2000090,2000091,2000092,2000093,2000094,2000095,2000096,2000097,2000098,2000099,2000100,2000101,2000102,2000103,2000104,2000105,2000106,2000107,2000108,2000109,2000110,2000111,2000112,2000113,2000114,2000115,2000116,2000117,2000118,2000119,2000120,2000121,2000122,2000123,2000124,2000125,2000126,2000127,2000128,2000129,2000130,2000131,2000132,2000133,2000134,2000135,2000136,2000137,2000138,2000139,2000140,2000141,2000142,2000143,2000144,2000145,2000146,2000147,2000148,2000149,2000150,2000151,2000152,2000153,2000154,2000155,2000156,2000157,2000158,2000159,2000160,2000161,2000162,2000163,2000164,2000165,2000166,2000167,2000168,2000169,2000170,2000171,2000172,2000173,2000174,2000175,2000176,2000177,2000178,2000179,2000180,2000181,2000182,2000183,2000184,2000185,2000186,2000187,2000188,2000189,2000190,2000191,2000192,2000193,2000194,2000195,2000196,2000197,2000198,2000199,2000200,2000201,2000202,2000203,2000204,2000205,2000206,2000207,2000208,2000209,2000210,2000211,2000212,2000213,2000214,2000215,2000216,2000217,2000218,2000219,2000220,2000221,2000222,2000223,2000224,2000225,2000226,2000227,2000228,2000229,2000230,2000231,2000232,2000233,2000234,2000235,2000236,2000237,2000238,2000239,2000240,2000241,2000242,2000243,2000244,2000245,2000246,2000247,2000248,2000249,2000250,2000251,2000252,2000253,2000254,2000255,2000256,2000257,2000258,2000259,2000260,2000261,2000262,2000263,2000264,2000265,2000266,2000267,2000268,2000269,2000270,2000271,2000272,2000273,2000274,2000275,2000276,2000277,2000278,2000279,2000280,2000281,2000282,2000283,2000284,2000285,2000286,2000287,2000288,2000289,2000290,2000291,2000292,2000293,2000294,2000295,2000296,2000297,2000298,2000299,2000300,2000301,2000302,2000303,2000304,2000305,2000306,2000307,2000308,2000309,2000310,2000311,2000312,2000313,2000314,2000315,2000316,2000317,2000318,2000319,2000320,2000321,2000322,2000323,2000324,2000325,2000326,2000327,2000328,2000329,2000330,2000331,2000332,2000333,2000334,2000335,2000336,2000337,2000338,2000339,2000340,2000341,2000342,2000343,2000344,2000345,2000346,2000347,2000348,2000349,2000350,2000351,2000352,2000353,2000354,2000355,2000356,2000357,2000358,2000359,2000360,2000361,2000362,2000363,2000364,2000365,2000366,2000367,2000368,2000369,2000370,2000371,2000372,2000373,2000374,2000375,2000376,2000377,2000378,2000379,2000380,2000381,2000382,2000383,2000384,2000385,2000386,2000387,2000388,2000389,2000390,2000391,2000392,2000393,2000394,2000395,2000396,2000397,2000398,2000399,2000400,2000401,2000402,2000403,2000404,2000405,2000406,2000407,2000408,2000409,2000410,2000411,2000412,2000413,2000414,2000415,2000416,2000417,2000418,2000419,2000420,2000421,2000422,2000423,2000424,2000425,2000426,2000427,2000428,2000429,2000430,2000431,2000432,2000433,2000434,2000435,2000436,2000437,2000438,2000439,2000440,2000441,2000442,2000443,2000444,2000445,2000446,2000447,2000448,2000449,2000450,2000451,2000452,2000453,2000454,2000455,2000456,2000457,2000458,2000459,2000460,2000461,2000462,2000463,2000464,2000465,2000466,2000467,2000468,2000469,2000470,2000471,2000472,2000473,2000474,2000475,2000476,2000477,2000478,2000479,2000480,2000481,2000482,2000483,2000484,2000485,2000486,2000487,2000488,2000489,2000490,2000491,2000492,2000493,2000494,2000495,2000496,2000497,2000498,2000499,2000500,2000501,2000502,2000503,2000504,2000505,2000506,2000507,2000508,2000509,2000510,2000511,2000512,2000513,2000514,2000515,2000516,2000517,2000518,2000519,2000520,2000521,2000522,2000523,2000524,2000525,2000526,2000527,2000528,2000529,2000530,2000531,2000532,2000533,2000534,2000535,2000536,2000537,2000538,2000539,2000540,2000541,2000542,2000543,2000544,2000545,2000546,2000547,2000548,2000549,2000550,2000551,2000552,2000553,2000554,2000555,2000556,2000557,2000558,2000559,2000560,2000561,2000562,2000563,2000564,2000565,2000566,2000567,2000568,2000569,2000570,2000571,2000572,2000573,2000574,2000575,2000576,2000577,2000578,2000579,2000580,2000581,2000582,2000583,2000584,2000585,2000586,2000587,2000588,2000589,2000590,2000591,2000592,2000593,2000594,2000595,2000596,2000597,2000598,2000599,2000600,2000601,2000602,2000603,2000604,2000605,2000606,2000607,2000608,2000609,2000610,2000611,2000612,2000613,2000614,2000615,2000616,2000617,2000618,2000619,2000620,2000621,2000622,2000623,2000624,2000625,2000626,2000627,2000628,2000629,2000630,2000631,2000632,2000633,2000634,2000635,2000636,2000637,2000638,2000639,2000640,2000641,2000642,2000643,2000644,2000645,2000646,2000647,2000648,2000649,2000650,2000651,2000652,2000653,2000654,2000655,2000656,2000657,2000658,2000659,2000660,2000661,2000662,2000663,2000664,2000665,2000666,2000667,2000668,2000669,2000670,2000671,2000672,2000673,2000674,2000675,2000676,2000677,2000678,2000679,2000680,2000681,2000682,2000683,2000684,2000685,2000686,2000687,2000688,2000689,2000690,2000691,2000692,2000693,2000694,2000695,2000696,2000697,2000698,2000699,2000700,2000701,2000702,2000703,2000704,2000705,2000706,2000707,2000708,2000709,2000710,2000711,2000712,2000713,2000714,2000715,2000716,2000717,2000718,2000719,2000720,2000721,2000722,2000723,2000724,2000725,2000726,2000727,2000728,2000729,2000730,2000731,2000732,2000733,2000734,2000735,2000736,2000737,2000738,2000739,2000740,2000741,2000742,2000743,2000744,2000745,2000746,2000747,2000748,2000749,2000750,2000751,2000752,2000753,2000754,2000755,2000756,2000757,2000758,2000759,2000760,2000761,2000762,2000763,2000764,2000765,2000766,2000767,2000768,2000769,2000770,2000771,2000772,2000773,2000774,2000775,2000776,2000777,2000778,2000779,2000780,2000781,2000782,2000783,2000784,2000785,2000786,2000787,2000788,2000789,2000790,2000791,2000792,2000793,2000794,2000795,2000796,2000797,2000798,2000799,2000800,2000801,2000802,2000803,2000804,2000805,2000806,2000807,2000808,2000809,2000810,2000811,2000812,2000813,2000814,2000815,2000816,2000817,2000818,2000819,2000820,2000821,2000822,2000823,2000824,2000825,2000826,2000827,2000828,2000829,2000830,2000831,2000832,2000833,2000834,2000835,2000836,2000837,2000838,2000839,2000840,2000841,2000842,2000843,2000844,2000845,2000846,2000847,2000848,2000849,2000850,2000851,2000852,2000853,2000854,2000855,2000856,2000857,2000858,2000859,2000860,2000861,2000862,2000863,2000864,2000865,2000866,2000867,2000868,2000869,2000870,2000871,2000872,2000873,2000874,2000875,2000876,2000877,2000878,2000879,2000880,2000881,2000882,2000883,2000884,2000885,2000886,2000887,2000888,2000889,2000890,2000891,2000892,2000893,2000894,2000895,2000896,2000897,2000898,2000899,2000900,2000901,2000902,2000903,2000904,2000905,2000906,2000907,2000908,2000909,2000910,2000911,2000912,2000913,2000914,2000915,2000916,2000917,2000918,2000919,2000920,2000921,2000922,2000923,2000924,2000925,2000926,2000927,2000928,2000929,2000930,2000931,2000932,2000933,2000934,2000935,2000936,2000937,2000938,2000939,2000940,2000941,2000942,2000943,2000944,2000945,2000946,2000947,2000948,2000949,2000950,2000951,2000952,2000953,2000954,2000955,2000956,2000957,2000958,2000959,2000960,2000961,2000962,2000963,2000964,2000965,2000966,2000967,2000968,2000969,2000970,2000971,2000972,2000973,2000974,2000975,2000976,2000977,2000978,2000979,2000980,2000981,2000982,2000983,2000984,2000985,2000986,2000987,2000988,2000989,2000990,2000991,2000992,2000993,2000994,2000995,2000996,2000997,2000998,2000999,2001000,3000001,3000002,3000003,3000004,3000005,3000006,3000007,3000008,3000009,3000010,3000011,3000012,3000013,3000014,3000015,3000016,3000017,3000018,3000019,3000020,3000021,3000022,3000023,3000024,3000025,3000026,3000027,3000028,3000029,3000030,3000031,3000032,3000033,3000034,3000035,3000036,3000037,3000038,3000039,3000040,3000041,3000042,3000043,3000044,3000045,3000046,3000047,3000048,3000049,3000050,3000051,3000052,3000053,3000054,3000055,3000056,3000057,3000058,3000059,3000060,3000061,3000062,3000063,3000064,3000065,3000066,3000067,3000068,3000069,3000070,3000071,3000072,3000073,3000074,3000075,3000076,3000077,3000078,3000079,3000080,3000081,3000082,3000083,3000084,3000085,3000086,3000087,3000088,3000089,3000090,3000091,3000092,3000093,3000094,3000095,3000096,3000097,3000098,3000099,3000100,3000101,3000102,3000103,3000104,3000105,3000106,3000107,3000108,3000109,3000110,3000111,3000112,3000113,3000114,3000115,3000116,3000117,3000118,3000119,3000120,3000121,3000122,3000123,3000124,3000125,3000126,3000127,3000128,3000129,3000130,3000131,3000132,3000133,3000134,3000135,3000136,3000137,3000138,3000139,3000140,3000141,3000142,3000143,3000144,3000145,3000146,3000147,3000148,3000149,3000150,3000151,3000152,3000153,3000154,3000155,3000156,3000157,3000158,3000159,3000160,3000161,3000162,3000163,3000164,3000165,3000166,3000167,3000168,3000169,3000170,3000171,3000172,3000173,3000174,3000175,3000176,3000177,3000178,3000179,3000180,3000181,3000182,3000183,3000184,3000185,3000186,3000187,3000188,3000189,3000190,3000191,3000192,3000193,3000194,3000195,3000196,3000197,3000198,3000199,3000200,3000201,3000202,3000203,3000204,3000205,3000206,3000207,3000208,3000209,3000210,3000211,3000212,3000213,3000214,3000215,3000216,3000217,3000218,3000219,3000220,3000221,3000222,3000223,3000224,3000225,3000226,3000227,3000228,3000229,3000230,3000231,3000232,3000233,3000234,3000235,3000236,3000237,3000238,3000239,3000240,3000241,3000242,3000243,3000244,3000245,3000246,3000247,3000248,3000249,3000250,3000251,3000252,3000253,3000254,3000255,3000256,3000257,3000258,3000259,3000260,3000261,3000262,3000263,3000264,3000265,3000266,3000267,3000268,3000269,3000270,3000271,3000272,3000273,3000274,3000275,3000276,3000277,3000278,3000279,3000280,3000281,3000282,3000283,3000284,3000285,3000286,3000287,3000288,3000289,3000290,3000291,3000292,3000293,3000294,3000295,3000296,3000297,3000298,3000299,3000300,3000301,3000302,3000303,3000304,3000305,3000306,3000307,3000308,3000309,3000310,3000311,3000312,3000313,3000314,3000315,3000316,3000317,3000318,3000319,3000320,3000321,3000322,3000323,3000324,3000325,3000326,3000327,3000328,3000329,3000330,3000331,3000332,3000333,3000334,3000335,3000336,3000337,3000338,3000339,3000340,3000341,3000342,3000343,3000344,3000345,3000346,3000347,3000348,3000349,3000350,3000351,3000352,3000353,3000354,3000355,3000356,3000357,3000358,3000359,3000360,3000361,3000362,3000363,3000364,3000365,3000366,3000367,3000368,3000369,3000370,3000371,3000372,3000373,3000374,3000375,3000376,3000377,3000378,3000379,3000380,3000381,3000382,3000383,3000384,3000385,3000386,3000387,3000388,3000389,3000390,3000391,3000392,3000393,3000394,3000395,3000396,3000397,3000398,3000399,3000400,3000401,3000402,3000403,3000404,3000405,3000406,3000407,3000408,3000409,3000410,3000411,3000412,3000413,3000414,3000415,3000416,3000417,3000418,3000419,3000420,3000421,3000422,3000423,3000424,3000425,3000426,3000427,3000428,3000429,3000430,3000431,3000432,3000433,3000434,3000435,3000436,3000437,3000438,3000439,3000440,3000441,3000442,3000443,3000444,3000445,3000446,3000447,3000448,3000449,3000450,3000451,3000452,3000453,3000454,3000455,3000456,3000457,3000458,3000459,3000460,3000461,3000462,3000463,3000464,3000465,3000466,3000467,3000468,3000469,3000470,3000471,3000472,3000473,3000474,3000475,3000476,3000477,3000478,3000479,3000480,3000481,3000482,3000483,3000484,3000485,3000486,3000487,3000488,3000489,3000490,3000491,3000492,3000493,3000494,3000495,3000496,3000497,3000498,3000499,3000500,3000501,3000502,3000503,3000504,3000505,3000506,3000507,3000508,3000509,3000510,3000511,3000512,3000513,3000514,3000515,3000516,3000517,3000518,3000519,3000520,3000521,3000522,3000523,3000524,3000525,3000526,3000527,3000528,3000529,3000530,3000531,3000532,3000533,3000534,3000535,3000536,3000537,3000538,3000539,3000540,3000541,3000542,3000543,3000544,3000545,3000546,3000547,3000548,3000549,3000550,3000551,3000552,3000553,3000554,3000555,3000556,3000557,3000558,3000559,3000560,3000561,3000562,3000563,3000564,3000565,3000566,3000567,3000568,3000569,3000570,3000571,3000572,3000573,3000574,3000575,3000576,3000577,3000578,3000579,3000580,3000581,3000582,3000583,3000584,3000585,3000586,3000587,3000588,3000589,3000590,3000591,3000592,3000593,3000594,3000595,3000596,3000597,3000598,3000599,3000600,3000601,3000602,3000603,3000604,3000605,3000606,3000607,3000608,3000609,3000610,3000611,3000612,3000613,3000614,3000615,3000616,3000617,3000618,3000619,3000620,3000621,3000622,3000623,3000624,3000625,3000626,3000627,3000628,3000629,3000630,3000631,3000632,3000633,3000634,3000635,3000636,3000637,3000638,3000639,3000640,3000641,3000642,3000643,3000644,3000645,3000646,3000647,3000648,3000649,3000650,3000651,3000652,3000653,3000654,3000655,3000656,3000657,3000658,3000659,3000660,3000661,3000662,3000663,3000664,3000665,3000666,3000667,3000668,3000669,3000670,3000671,3000672,3000673,3000674,3000675,3000676,3000677,3000678,3000679,3000680,3000681,3000682,3000683,3000684,3000685,3000686,3000687,3000688,3000689,3000690,3000691,3000692,3000693,3000694,3000695,3000696,3000697,3000698,3000699,3000700,3000701,3000702,3000703,3000704,3000705,3000706,3000707,3000708,3000709,3000710,3000711,3000712,3000713,3000714,3000715,3000716,3000717,3000718,3000719,3000720,3000721,3000722,3000723,3000724,3000725,3000726,3000727,3000728,3000729,3000730,3000731,3000732,3000733,3000734,3000735,3000736,3000737,3000738,3000739,3000740,3000741,3000742,3000743,3000744,3000745,3000746,3000747,3000748,3000749,3000750,3000751,3000752,3000753,3000754,3000755,3000756,3000757,3000758,3000759,3000760,3000761,3000762,3000763,3000764,3000765,3000766,3000767,3000768,3000769,3000770,3000771,3000772,3000773,3000774,3000775,3000776,3000777,3000778,3000779,3000780,3000781,3000782,3000783,3000784,3000785,3000786,3000787,3000788,3000789,3000790,3000791,3000792,3000793,3000794,3000795,3000796,3000797,3000798,3000799,3000800,3000801,3000802,3000803,3000804,3000805,3000806,3000807,3000808,3000809,3000810,3000811,3000812,3000813,3000814,3000815,3000816,3000817,3000818,3000819,3000820,3000821,3000822,3000823,3000824,3000825,3000826,3000827,3000828,3000829,3000830,3000831,3000832,3000833,3000834,3000835,3000836,3000837,3000838,3000839,3000840,3000841,3000842,3000843,3000844,3000845,3000846,3000847,3000848,3000849,3000850,3000851,3000852,3000853,3000854,3000855,3000856,3000857,3000858,3000859,3000860,3000861,3000862,3000863,3000864,3000865,3000866,3000867,3000868,3000869,3000870,3000871,3000872,3000873,3000874,3000875,3000876,3000877,3000878,3000879,3000880,3000881,3000882,3000883,3000884,3000885,3000886,3000887,3000888,3000889,3000890,3000891,3000892,3000893,3000894,3000895,3000896,3000897,3000898,3000899,3000900,3000901,3000902,3000903,3000904,3000905,3000906,3000907,3000908,3000909,3000910,3000911,3000912,3000913,3000914,3000915,3000916,3000917,3000918,3000919,3000920,3000921,3000922,3000923,3000924,3000925,3000926,3000927,3000928,3000929,3000930,3000931,3000932,3000933,3000934,3000935,3000936,3000937,3000938,3000939,3000940,3000941,3000942,3000943,3000944,3000945,3000946,3000947,3000948,3000949,3000950,3000951,3000952,3000953,3000954,3000955,3000956,3000957,3000958,3000959,3000960,3000961,3000962,3000963,3000964,3000965,3000966,3000967,3000968,3000969,3000970,3000971,3000972,3000973,3000974,3000975,3000976,3000977,3000978,3000979,3000980,3000981,3000982,3000983,3000984,3000985,3000986,3000987,3000988,3000989,3000990,3000991,3000992,3000993,3000994,3000995,3000996,3000997,3000998,3000999,3001000,4000001,4000002,4000003,4000004,4000005,4000006,4000007,4000008,4000009,4000010,4000011,4000012,4000013,4000014,4000015,4000016,4000017,4000018,4000019,4000020,4000021,4000022,4000023,4000024,4000025,4000026,4000027,4000028,4000029,4000030,4000031,4000032,4000033,4000034,4000035,4000036,4000037,4000038,4000039,4000040,4000041,4000042,4000043,4000044,4000045,4000046,4000047,4000048,4000049,4000050,4000051,4000052,4000053,4000054,4000055,4000056,4000057,4000058,4000059,4000060,4000061,4000062,4000063,4000064,4000065,4000066,4000067,4000068,4000069,4000070,4000071,4000072,4000073,4000074,4000075,4000076,4000077,4000078,4000079,4000080,4000081,4000082,4000083,4000084,4000085,4000086,4000087,4000088,4000089,4000090,4000091,4000092,4000093,4000094,4000095,4000096,4000097,4000098,4000099,4000100,4000101,4000102,4000103,4000104,4000105,4000106,4000107,4000108,4000109,4000110,4000111,4000112,4000113,4000114,4000115,4000116,4000117,4000118,4000119,4000120,4000121,4000122,4000123,4000124,4000125,4000126,4000127,4000128,4000129,4000130,4000131,4000132,4000133,4000134,4000135,4000136,4000137,4000138,4000139,4000140,4000141,4000142,4000143,4000144,4000145,4000146,4000147,4000148,4000149,4000150,4000151,4000152,4000153,4000154,4000155,4000156,4000157,4000158,4000159,4000160,4000161,4000162,4000163,4000164,4000165,4000166,4000167,4000168,4000169,4000170,4000171,4000172,4000173,4000174,4000175,4000176,4000177,4000178,4000179,4000180,4000181,4000182,4000183,4000184,4000185,4000186,4000187,4000188,4000189,4000190,4000191,4000192,4000193,4000194,4000195,4000196,4000197,4000198,4000199,4000200,4000201,4000202,4000203,4000204,4000205,4000206,4000207,4000208,4000209,4000210,4000211,4000212,4000213,4000214,4000215,4000216,4000217,4000218,4000219,4000220,4000221,4000222,4000223,4000224,4000225,4000226,4000227,4000228,4000229,4000230,4000231,4000232,4000233,4000234,4000235,4000236,4000237,4000238,4000239,4000240,4000241,4000242,4000243,4000244,4000245,4000246,4000247,4000248,4000249,4000250,4000251,4000252,4000253,4000254,4000255,4000256,4000257,4000258,4000259,4000260,4000261,4000262,4000263,4000264,4000265,4000266,4000267,4000268,4000269,4000270,4000271,4000272,4000273,4000274,4000275,4000276,4000277,4000278,4000279,4000280,4000281,4000282,4000283,4000284,4000285,4000286,4000287,4000288,4000289,4000290,4000291,4000292,4000293,4000294,4000295,4000296,4000297,4000298,4000299,4000300,4000301,4000302,4000303,4000304,4000305,4000306,4000307,4000308,4000309,4000310,4000311,4000312,4000313,4000314,4000315,4000316,4000317,4000318,4000319,4000320,4000321,4000322,4000323,4000324,4000325,4000326,4000327,4000328,4000329,4000330,4000331,4000332,4000333,4000334,4000335,4000336,4000337,4000338,4000339,4000340,4000341,4000342,4000343,4000344,4000345,4000346,4000347,4000348,4000349,4000350,4000351,4000352,4000353,4000354,4000355,4000356,4000357,4000358,4000359,4000360,4000361,4000362,4000363,4000364,4000365,4000366,4000367,4000368,4000369,4000370,4000371,4000372,4000373,4000374,4000375,4000376,4000377,4000378,4000379,4000380,4000381,4000382,4000383,4000384,4000385,4000386,4000387,4000388,4000389,4000390,4000391,4000392,4000393,4000394,4000395,4000396,4000397,4000398,4000399,4000400,4000401,4000402,4000403,4000404,4000405,4000406,4000407,4000408,4000409,4000410,4000411,4000412,4000413,4000414,4000415,4000416,4000417,4000418,4000419,4000420,4000421,4000422,4000423,4000424,4000425,4000426,4000427,4000428,4000429,4000430,4000431,4000432,4000433,4000434,4000435,4000436,4000437,4000438,4000439,4000440,4000441,4000442,4000443,4000444,4000445,4000446,4000447,4000448,4000449,4000450,4000451,4000452,4000453,4000454,4000455,4000456,4000457,4000458,4000459,4000460,4000461,4000462,4000463,4000464,4000465,4000466,4000467,4000468,4000469,4000470,4000471,4000472,4000473,4000474,4000475,4000476,4000477,4000478,4000479,4000480,4000481,4000482,4000483,4000484,4000485,4000486,4000487,4000488,4000489,4000490,4000491,4000492,4000493,4000494,4000495,4000496,4000497,4000498,4000499,4000500,4000501,4000502,4000503,4000504,4000505,4000506,4000507,4000508,4000509,4000510,4000511,4000512,4000513,4000514,4000515,4000516,4000517,4000518,4000519,4000520,4000521,4000522,4000523,4000524,4000525,4000526,4000527,4000528,4000529,4000530,4000531,4000532,4000533,4000534,4000535,4000536,4000537,4000538,4000539,4000540,4000541,4000542,4000543,4000544,4000545,4000546,4000547,4000548,4000549,4000550,4000551,4000552,4000553,4000554,4000555,4000556,4000557,4000558,4000559,4000560,4000561,4000562,4000563,4000564,4000565,4000566,4000567,4000568,4000569,4000570,4000571,4000572,4000573,4000574,4000575,4000576,4000577,4000578,4000579,4000580,4000581,4000582,4000583,4000584,4000585,4000586,4000587,4000588,4000589,4000590,4000591,4000592,4000593,4000594,4000595,4000596,4000597,4000598,4000599,4000600,4000601,4000602,4000603,4000604,4000605,4000606,4000607,4000608,4000609,4000610,4000611,4000612,4000613,4000614,4000615,4000616,4000617,4000618,4000619,4000620,4000621,4000622,4000623,4000624,4000625,4000626,4000627,4000628,4000629,4000630,4000631,4000632,4000633,4000634,4000635,4000636,4000637,4000638,4000639,4000640,4000641,4000642,4000643,4000644,4000645,4000646,4000647,4000648,4000649,4000650,4000651,4000652,4000653,4000654,4000655,4000656,4000657,4000658,4000659,4000660,4000661,4000662,4000663,4000664,4000665,4000666,4000667,4000668,4000669,4000670,4000671,4000672,4000673,4000674,4000675,4000676,4000677,4000678,4000679,4000680,4000681,4000682,4000683,4000684,4000685,4000686,4000687,4000688,4000689,4000690,4000691,4000692,4000693,4000694,4000695,4000696,4000697,4000698,4000699,4000700,4000701,4000702,4000703,4000704,4000705,4000706,4000707,4000708,4000709,4000710,4000711,4000712,4000713,4000714,4000715,4000716,4000717,4000718,4000719,4000720,4000721,4000722,4000723,4000724,4000725,4000726,4000727,4000728,4000729,4000730,4000731,4000732,4000733,4000734,4000735,4000736,4000737,4000738,4000739,4000740,4000741,4000742,4000743,4000744,4000745,4000746,4000747,4000748,4000749,4000750,4000751,4000752,4000753,4000754,4000755,4000756,4000757,4000758,4000759,4000760,4000761,4000762,4000763,4000764,4000765,4000766,4000767,4000768,4000769,4000770,4000771,4000772,4000773,4000774,4000775,4000776,4000777,4000778,4000779,4000780,4000781,4000782,4000783,4000784,4000785,4000786,4000787,4000788,4000789,4000790,4000791,4000792,4000793,4000794,4000795,4000796,4000797,4000798,4000799,4000800,4000801,4000802,4000803,4000804,4000805,4000806,4000807,4000808,4000809,4000810,4000811,4000812,4000813,4000814,4000815,4000816,4000817,4000818,4000819,4000820,4000821,4000822,4000823,4000824,4000825,4000826,4000827,4000828,4000829,4000830,4000831,4000832,4000833,4000834,4000835,4000836,4000837,4000838,4000839,4000840,4000841,4000842,4000843,4000844,4000845,4000846,4000847,4000848,4000849,4000850,4000851,4000852,4000853,4000854,4000855,4000856,4000857,4000858,4000859,4000860,4000861,4000862,4000863,4000864,4000865,4000866,4000867,4000868,4000869,4000870,4000871,4000872,4000873,4000874,4000875,4000876,4000877,4000878,4000879,4000880,4000881,4000882,4000883,4000884,4000885,4000886,4000887,4000888,4000889,4000890,4000891,4000892,4000893,4000894,4000895,4000896,4000897,4000898,4000899,4000900,4000901,4000902,4000903,4000904,4000905,4000906,4000907,4000908,4000909,4000910,4000911,4000912,4000913,4000914,4000915,4000916,4000917,4000918,4000919,4000920,4000921,4000922,4000923,4000924,4000925,4000926,4000927,4000928,4000929,4000930,4000931,4000932,4000933,4000934,4000935,4000936,4000937,4000938,4000939,4000940,4000941,4000942,4000943,4000944,4000945,4000946,4000947,4000948,4000949,4000950,4000951,4000952,4000953,4000954,4000955,4000956,4000957,4000958,4000959,4000960,4000961,4000962,4000963,4000964,4000965,4000966,4000967,4000968,4000969,4000970,4000971,4000972,4000973,4000974,4000975,4000976,4000977,4000978,4000979,4000980,4000981,4000982,4000983,4000984,4000985,4000986,4000987,4000988,4000989,4000990,4000991,4000992,4000993,4000994,4000995,4000996,4000997,4000998,4000999,4001000,5000002,5000003,5000004,5000005,5000006,5000007,5000008,5000009,5000010,5000011,5000012,5000013,5000014,5000015,5000016,5000017,5000018,5000019,5000020,5000021,5000022,5000023,5000024,5000025,5000026,5000027,5000028,5000029,5000030,5000031,5000032,5000033,5000034,5000035,5000036,5000037,5000038,5000039,5000040,5000041,5000042,5000043,5000044,5000045,5000046,5000047,5000048,5000049,5000050,5000051,5000052,5000053,5000054,5000055,5000056,5000057,5000058,5000059,5000060,5000061,5000062,5000063,5000064,5000065,5000066,5000067,5000068,5000069,5000070,5000071,5000072,5000073,5000074,5000075,5000076,5000077,5000078,5000079,5000080,5000081,5000082,5000083,5000084,5000085,5000086,5000087,5000088,5000089,5000090,5000091,5000092,5000093,5000094,5000095,5000096,5000097,5000098,5000099,5000100,5000101,5000102,5000103,5000104,5000105,5000106,5000107,5000108,5000109,5000110,5000111,5000112,5000113,5000114,5000115,5000116,5000117,5000118,5000119,5000120,5000121,5000122,5000123,5000124,5000125,5000126,5000127,5000128,5000129,5000130,5000131,5000132,5000133,5000134,5000135,5000136,5000137,5000138,5000139,5000140,5000141,5000142,5000143,5000144,5000145,5000146,5000147,5000148,5000149,5000150,5000151,5000152,5000153,5000154,5000155,5000156,5000157,5000158,5000159,5000160,5000161,5000162,5000163,5000164,5000165,5000166,5000167,5000168,5000169,5000170,5000171,5000172,5000173,5000174,5000175,5000176,5000177,5000178,5000179,5000180,5000181,5000182,5000183,5000184,5000185,5000186,5000187,5000188,5000189,5000190,5000191,5000192,5000193,5000194,5000195,5000196,5000197,5000198,5000199,5000200,5000201,5000202,5000203,5000204,5000205,5000206,5000207,5000208,5000209,5000210,5000211,5000212,5000213,5000214,5000215,5000216,5000217,5000218,5000219,5000220,5000221,5000222,5000223,5000224,5000225,5000226,5000227,5000228,5000229,5000230,5000231,5000232,5000233,5000234,5000235,5000236,5000237,5000238,5000239,5000240,5000241,5000242,5000243,5000244,5000245,5000246,5000247,5000248,5000249,5000250,5000251,5000252,5000253,5000254,5000255,5000256,5000257,5000258,5000259,5000260,5000261,5000262,5000263,5000264,5000265,5000266,5000267,5000268,5000269,5000270,5000271,5000272,5000273,5000274,5000275,5000276,5000277,5000278,5000279,5000280,5000281,5000282,5000283,5000284,5000285,5000286,5000287,5000288,5000289,5000290,5000291,5000292,5000293,5000294,5000295,5000296,5000297,5000298,5000299,5000300,5000301,5000302,5000303,5000304,5000305,5000306,5000307,5000308,5000309,5000310,5000311,5000312,5000313,5000314,5000315,5000316,5000317,5000318,5000319,5000320,5000321,5000322,5000323,5000324,5000325,5000326,5000327,5000328,5000329,5000330,5000331,5000332,5000333,5000334,5000335,5000336,5000337,5000338,5000339,5000340,5000341,5000342,5000343,5000344,5000345,5000346,5000347,5000348,5000349,5000350,5000351,5000352,5000353,5000354,5000355,5000356,5000357,5000358,5000359,5000360,5000361,5000362,5000363,5000364,5000365,5000366,5000367,5000368,5000369,5000370,5000371,5000372,5000373,5000374,5000375,5000376,5000377,5000378,5000379,5000380,5000381,5000382,5000383,5000384,5000385,5000386,5000387,5000388,5000389,5000390,5000391,5000392,5000393,5000394,5000395,5000396,5000397,5000398,5000399,5000400,5000401,5000402,5000403,5000404,5000405,5000406,5000407,5000408,5000409,5000410,5000411,5000412,5000413,5000414,5000415,5000416,5000417,5000418,5000419,5000420,5000421,5000422,5000423,5000424,5000425,5000426,5000427,5000428,5000429,5000430,5000431,5000432,5000433,5000434,5000435,5000436,5000437,5000438,5000439,5000440,5000441,5000442,5000443,5000444,5000445,5000446,5000447,5000448,5000449,5000450,5000451,5000452,5000453,5000454,5000455,5000456,5000457,5000458,5000459,5000460,5000461,5000462,5000463,5000464,5000465,5000466,5000467,5000468,5000469,5000470,5000471,5000472,5000473,5000474,5000475,5000476,5000477,5000478,5000479,5000480,5000481,5000482,5000483,5000484,5000485,5000486,5000487,5000488,5000489,5000490,5000491,5000492,5000493,5000494,5000495,5000496,5000497,5000498,5000499,5000500,5000501,5000502,5000503,5000504,5000505,5000506,5000507,5000508,5000509,5000510,5000511,5000512,5000513,5000514,5000515,5000516,5000517,5000518,5000519,5000520,5000521,5000522,5000523,5000524,5000525,5000526,5000527,5000528,5000529,5000530,5000531,5000532,5000533,5000534,5000535,5000536,5000537,5000538,5000539,5000540,5000541,5000542,5000543,5000544,5000545,5000546,5000547,5000548,5000549,5000550,5000551,5000552,5000553,5000554,5000555,5000556,5000557,5000558,5000559,5000560,5000561,5000562,5000563,5000564,5000565,5000566,5000567,5000568,5000569,5000570,5000571,5000572,5000573,5000574,5000575,5000576,5000577,5000578,5000579,5000580,5000581,5000582,5000583,5000584,5000585,5000586,5000587,5000588,5000589,5000590,5000591,5000592,5000593,5000594,5000595,5000596,5000597,5000598,5000599,5000600,5000601,5000602,5000603,5000604,5000605,5000606,5000607,5000608,5000609,5000610,5000611,5000612,5000613,5000614,5000615,5000616,5000617,5000618,5000619,5000620,5000621,5000622,5000623,5000624,5000625,5000626,5000627,5000628,5000629,5000630,5000631,5000632,5000633,5000634,5000635,5000636,5000637,5000638,5000639,5000640,5000641,5000642,5000643,5000644,5000645,5000646,5000647,5000648,5000649,5000650,5000651,5000652,5000653,5000654,5000655,5000656,5000657,5000658,5000659,5000660,5000661,5000662,5000663,5000664,5000665,5000666,5000667,5000668,5000669,5000670,5000671,5000672,5000673,5000674,5000675,5000676,5000677,5000678,5000679,5000680,5000681,5000682,5000683,5000684,5000685,5000686,5000687,5000688,5000689,5000690,5000691,5000692,5000693,5000694,5000695,5000696,5000697,5000698,5000699,5000700,5000701,5000702,5000703,5000704,5000705,5000706,5000707,5000708,5000709,5000710,5000711,5000712,5000713,5000714,5000715,5000716,5000717,5000718,5000719,5000720,5000721,5000722,5000723,5000724,5000725,5000726,5000727,5000728,5000729,5000730,5000731,5000732,5000733,5000734,5000735,5000736,5000737,5000738,5000739,5000740,5000741,5000742,5000743,5000744,5000745,5000746,5000747,5000748,5000749,5000750,5000751,5000752,5000753,5000754,5000755,5000756,5000757,5000758,5000759,5000760,5000761,5000762,5000763,5000764,5000765,5000766,5000767,5000768,5000769,5000770,5000771,5000772,5000773,5000774,5000775,5000776,5000777,5000778,5000779,5000780,5000781,5000782,5000783,5000784,5000785,5000786,5000787,5000788,5000789,5000790,5000791,5000792,5000793,5000794,5000795,5000796,5000797,5000798,5000799,5000800,5000801,5000802,5000803,5000804,5000805,5000806,5000807,5000808,5000809,5000810,5000811,5000812,5000813,5000814,5000815,5000816,5000817,5000818,5000819,5000820,5000821,5000822,5000823,5000824,5000825,5000826,5000827,5000828,5000829,5000830,5000831,5000832,5000833,5000834,5000835,5000836,5000837,5000838,5000839,5000840,5000841,5000842,5000843,5000844,5000845,5000846,5000847,5000848,5000849,5000850,5000851,5000852,5000853,5000854,5000855,5000856,5000857,5000858,5000859,5000860,5000861,5000862,5000863,5000864,5000865,5000866,5000867,5000868,5000869,5000870,5000871,5000872,5000873,5000874,5000875,5000876,5000877,5000878,5000879,5000880,5000881,5000882,5000883,5000884,5000885,5000886,5000887,5000888,5000889,5000890,5000891,5000892,5000893,5000894,5000895,5000896,5000897,5000898,5000899,5000900,5000901,5000902,5000903,5000904,5000905,5000906,5000907,5000908,5000909,5000910,5000911,5000912,5000913,5000914,5000915,5000916,5000917,5000918,5000919,5000920,5000921,5000922,5000923,5000924,5000925,5000926,5000927,5000928,5000929,5000930,5000931,5000932,5000933,5000934,5000935,5000936,5000937,5000938,5000939,5000940,5000941,5000942,5000943,5000944,5000945,5000946,5000947,5000948,5000949,5000950,5000951,5000952,5000953,5000954,5000955,5000956,5000957,5000958,5000959,5000960,5000961,5000962,5000963,5000964,5000965,5000966,5000967,5000968,5000969,5000970,5000971,5000972,5000973,5000974,5000975,5000976,5000977,5000978,5000979,5000980,5000981,5000982,5000983,5000984,5000985,5000986,5000987,5000988,5000989,5000990,5000991,5000992,5000993,5000994,5000995,5000996,5000997,5000998,5000999,5001000,6000001,6000002,6000003,6000004,6000005,6000006,6000007,6000008,6000009,6000010,6000011,6000012,6000013,6000014,6000015,6000016,6000017,6000018,6000019,6000020,6000021,6000022,6000023,6000024,6000025,6000026,6000027,6000028,6000029,6000030,6000031,6000032,6000033,6000034,6000035,6000036,6000037,6000038,6000039,6000040,6000041,6000042,6000043,6000044,6000045,6000046,6000047,6000048,6000049,6000050,6000051,6000052,6000053,6000054,6000055,6000056,6000057,6000058,6000059,6000060,6000061,6000062,6000063,6000064,6000065,6000066,6000067,6000068,6000069,6000070,6000071,6000072,6000073,6000074,6000075,6000076,6000077,6000078,6000079,6000080,6000081,6000082,6000083,6000084,6000085,6000086,6000087,6000088,6000089,6000090,6000091,6000092,6000093,6000094,6000095,6000096,6000097,6000098,6000099,6000100,6000101,6000102,6000103,6000104,6000105,6000106,6000107,6000108,6000109,6000110,6000111,6000112,6000113,6000114,6000115,6000116,6000117,6000118,6000119,6000120,6000121,6000122,6000123,6000124,6000125,6000126,6000127,6000128,6000129,6000130,6000131,6000132,6000133,6000134,6000135,6000136,6000137,6000138,6000139,6000140,6000141,6000142,6000143,6000144,6000145,6000146,6000147,6000148,6000149,6000150,6000151,6000152,6000153,6000154,6000155,6000156,6000157,6000158,6000159,6000160,6000161,6000162,6000163,6000164,6000165,6000166,6000167,6000168,6000169,6000170,6000171,6000172,6000173,6000174,6000175,6000176,6000177,6000178,6000179,6000180,6000181,6000182,6000183,6000184,6000185,6000186,6000187,6000188,6000189,6000190,6000191,6000192,6000193,6000194,6000195,6000196,6000197,6000198,6000199,6000200,6000201,6000202,6000203,6000204,6000205,6000206,6000207,6000208,6000209,6000210,6000211,6000212,6000213,6000214,6000215,6000216,6000217,6000218,6000219,6000220,6000221,6000222,6000223,6000224,6000225,6000226,6000227,6000228,6000229,6000230,6000231,6000232,6000233,6000234,6000235,6000236,6000237,6000238,6000239,6000240,6000241,6000242,6000243,6000244,6000245,6000246,6000247,6000248,6000249,6000250,6000251,6000252,6000253,6000254,6000255,6000256,6000257,6000258,6000259,6000260,6000261,6000262,6000263,6000264,6000265,6000266,6000267,6000268,6000269,6000270,6000271,6000272,6000273,6000274,6000275,6000276,6000277,6000278,6000279,6000280,6000281,6000282,6000283,6000284,6000285,6000286,6000287,6000288,6000289,6000290,6000291,6000292,6000293,6000294,6000295,6000296,6000297,6000298,6000299,6000300,6000301,6000302,6000303,6000304,6000305,6000306,6000307,6000308,6000309,6000310,6000311,6000312,6000313,6000314,6000315,6000316,6000317,6000318,6000319,6000320,6000321,6000322,6000323,6000324,6000325,6000326,6000327,6000328,6000329,6000330,6000331,6000332,6000333,6000334,6000335,6000336,6000337,6000338,6000339,6000340,6000341,6000342,6000343,6000344,6000345,6000346,6000347,6000348,6000349,6000350,6000351,6000352,6000353,6000354,6000355,6000356,6000357,6000358,6000359,6000360,6000361,6000362,6000363,6000364,6000365,6000366,6000367,6000368,6000369,6000370,6000371,6000372,6000373,6000374,6000375,6000376,6000377,6000378,6000379,6000380,6000381,6000382,6000383,6000384,6000385,6000386,6000387,6000388,6000389,6000390,6000391,6000392,6000393,6000394,6000395,6000396,6000397,6000398,6000399,6000400,6000401,6000402,6000403,6000404,6000405,6000406,6000407,6000408,6000409,6000410,6000411,6000412,6000413,6000414,6000415,6000416,6000417,6000418,6000419,6000420,6000421,6000422,6000423,6000424,6000425,6000426,6000427,6000428,6000429,6000430,6000431,6000432,6000433,6000434,6000435,6000436,6000437,6000438,6000439,6000440,6000441,6000442,6000443,6000444,6000445,6000446,6000447,6000448,6000449,6000450,6000451,6000452,6000453,6000454,6000455,6000456,6000457,6000458,6000459,6000460,6000461,6000462,6000463,6000464,6000465,6000466,6000467,6000468,6000469,6000470,6000471,6000472,6000473,6000474,6000475,6000476,6000477,6000478,6000479,6000480,6000481,6000482,6000483,6000484,6000485,6000486,6000487,6000488,6000489,6000490,6000491,6000492,6000493,6000494,6000495,6000496,6000497,6000498,6000499,6000500,6000501,6000502,6000503,6000504,6000505,6000506,6000507,6000508,6000509,6000510,6000511,6000512,6000513,6000514,6000515,6000516,6000517,6000518,6000519,6000520,6000521,6000522,6000523,6000524,6000525,6000526,6000527,6000528,6000529,6000530,6000531,6000532,6000533,6000534,6000535,6000536,6000537,6000538,6000539,6000540,6000541,6000542,6000543,6000544,6000545,6000546,6000547,6000548,6000549,6000550,6000551,6000552,6000553,6000554,6000555,6000556,6000557,6000558,6000559,6000560,6000561,6000562,6000563,6000564,6000565,6000566,6000567,6000568,6000569,6000570,6000571,6000572,6000573,6000574,6000575,6000576,6000577,6000578,6000579,6000580,6000581,6000582,6000583,6000584,6000585,6000586,6000587,6000588,6000589,6000590,6000591,6000592,6000593,6000594,6000595,6000596,6000597,6000598,6000599,6000600,6000601,6000602,6000603,6000604,6000605,6000606,6000607,6000608,6000609,6000610,6000611,6000612,6000613,6000614,6000615,6000616,6000617,6000618,6000619,6000620,6000621,6000622,6000623,6000624,6000625,6000626,6000627,6000628,6000629,6000630,6000631,6000632,6000633,6000634,6000635,6000636,6000637,6000638,6000639,6000640,6000641,6000642,6000643,6000644,6000645,6000646,6000647,6000648,6000649,6000650,6000651,6000652,6000653,6000654,6000655,6000656,6000657,6000658,6000659,6000660,6000661,6000662,6000663,6000664,6000665,6000666,6000667,6000668,6000669,6000670,6000671,6000672,6000673,6000674,6000675,6000676,6000677,6000678,6000679,6000680,6000681,6000682,6000683,6000684,6000685,6000686,6000687,6000688,6000689,6000690,6000691,6000692,6000693,6000694,6000695,6000696,6000697,6000698,6000699,6000700,6000701,6000702,6000703,6000704,6000705,6000706,6000707,6000708,6000709,6000710,6000711,6000712,6000713,6000714,6000715,6000716,6000717,6000718,6000719,6000720,6000721,6000722,6000723,6000724,6000725,6000726,6000727,6000728,6000729,6000730,6000731,6000732,6000733,6000734,6000735,6000736,6000737,6000738,6000739,6000740,6000741,6000742,6000743,6000744,6000745,6000746,6000747,6000748,6000749,6000750,6000751,6000752,6000753,6000754,6000755,6000756,6000757,6000758,6000759,6000760,6000761,6000762,6000763,6000764,6000765,6000766,6000767,6000768,6000769,6000770,6000771,6000772,6000773,6000774,6000775,6000776,6000777,6000778,6000779,6000780,6000781,6000782,6000783,6000784,6000785,6000786,6000787,6000788,6000789,6000790,6000791,6000792,6000793,6000794,6000795,6000796,6000797,6000798,6000799,6000800,6000801,6000802,6000803,6000804,6000805,6000806,6000807,6000808,6000809,6000810,6000811,6000812,6000813,6000814,6000815,6000816,6000817,6000818,6000819,6000820,6000821,6000822,6000823,6000824,6000825,6000826,6000827,6000828,6000829,6000830,6000831,6000832,6000833,6000834,6000835,6000836,6000837,6000838,6000839,6000840,6000841,6000842,6000843,6000844,6000845,6000846,6000847,6000848,6000849,6000850,6000851,6000852,6000853,6000854,6000855,6000856,6000857,6000858,6000859,6000860,6000861,6000862,6000863,6000864,6000865,6000866,6000867,6000868,6000869,6000870,6000871,6000872,6000873,6000874,6000875,6000876,6000877,6000878,6000879,6000880,6000881,6000882,6000883,6000884,6000885,6000886,6000887,6000888,6000889,6000890,6000891,6000892,6000893,6000894,6000895,6000896,6000897,6000898,6000899,6000900,6000901,6000902,6000903,6000904,6000905,6000906,6000907,6000908,6000909,6000910,6000911,6000912,6000913,6000914,6000915,6000916,6000917,6000918,6000919,6000920,6000921,6000922,6000923,6000924,6000925,6000926,6000927,6000928,6000929,6000930,6000931,6000932,6000933,6000934,6000935,6000936,6000937,6000938,6000939,6000940,6000941,6000942,6000943,6000944,6000945,6000946,6000947,6000948,6000949,6000950,6000951,6000952,6000953,6000954,6000955,6000956,6000957,6000958,6000959,6000960,6000961,6000962,6000963,6000964,6000965,6000966,6000967,6000968,6000969,6000970,6000971,6000972,6000973,6000974,6000975,6000976,6000977,6000978,6000979,6000980,6000981,6000982,6000983,6000984,6000985,6000986,6000987,6000988,6000989,6000990,6000991,6000992,6000993,6000994,6000995,6000996,6000997,6000998,6000999,6001000,7000001,7000002,7000003,7000004,7000005,7000006,7000007,7000008,7000009,7000010,7000011,7000012,7000013,7000014,7000015,7000016,7000017,7000018,7000019,7000020,7000021,7000022,7000023,7000024,7000025,7000026,7000027,7000028,7000029,7000030,7000031,7000032,7000033,7000034,7000035,7000036,7000037,7000038,7000039,7000040,7000041,7000042,7000043,7000044,7000045,7000046,7000047,7000048,7000049,7000050,7000051,7000052,7000053,7000054,7000055,7000056,7000057,7000058,7000059,7000060,7000061,7000062,7000063,7000064,7000065,7000066,7000067,7000068,7000069,7000070,7000071,7000072,7000073,7000074,7000075,7000076,7000077,7000078,7000079,7000080,7000081,7000082,7000083,7000084,7000085,7000086,7000087,7000088,7000089,7000090,7000091,7000092,7000093,7000094,7000095,7000096,7000097,7000098,7000099,7000100,7000101,7000102,7000103,7000104,7000105,7000106,7000107,7000108,7000109,7000110,7000111,7000112,7000113,7000114,7000115,7000116,7000117,7000118,7000119,7000120,7000121,7000122,7000123,7000124,7000125,7000126,7000127,7000128,7000129,7000130,7000131,7000132,7000133,7000134,7000135,7000136,7000137,7000138,7000139,7000140,7000141,7000142,7000143,7000144,7000145,7000146,7000147,7000148,7000149,7000150,7000151,7000152,7000153,7000154,7000155,7000156,7000157,7000158,7000159,7000160,7000161,7000162,7000163,7000164,7000165,7000166,7000167,7000168,7000169,7000170,7000171,7000172,7000173,7000174,7000175,7000176,7000177,7000178,7000179,7000180,7000181,7000182,7000183,7000184,7000185,7000186,7000187,7000188,7000189,7000190,7000191,7000192,7000193,7000194,7000195,7000196,7000197,7000198,7000199,7000200,7000201,7000202,7000203,7000204,7000205,7000206,7000207,7000208,7000209,7000210,7000211,7000212,7000213,7000214,7000215,7000216,7000217,7000218,7000219,7000220,7000221,7000222,7000223,7000224,7000225,7000226,7000227,7000228,7000229,7000230,7000231,7000232,7000233,7000234,7000235,7000236,7000237,7000238,7000239,7000240,7000241,7000242,7000243,7000244,7000245,7000246,7000247,7000248,7000249,7000250,7000251,7000252,7000253,7000254,7000255,7000256,7000257,7000258,7000259,7000260,7000261,7000262,7000263,7000264,7000265,7000266,7000267,7000268,7000269,7000270,7000271,7000272,7000273,7000274,7000275,7000276,7000277,7000278,7000279,7000280,7000281,7000282,7000283,7000284,7000285,7000286,7000287,7000288,7000289,7000290,7000291,7000292,7000293,7000294,7000295,7000296,7000297,7000298,7000299,7000300,7000301,7000302,7000303,7000304,7000305,7000306,7000307,7000308,7000309,7000310,7000311,7000312,7000313,7000314,7000315,7000316,7000317,7000318,7000319,7000320,7000321,7000322,7000323,7000324,7000325,7000326,7000327,7000328,7000329,7000330,7000331,7000332,7000333,7000334,7000335,7000336,7000337,7000338,7000339,7000340,7000341,7000342,7000343,7000344,7000345,7000346,7000347,7000348,7000349,7000350,7000351,7000352,7000353,7000354,7000355,7000356,7000357,7000358,7000359,7000360,7000361,7000362,7000363,7000364,7000365,7000366,7000367,7000368,7000369,7000370,7000371,7000372,7000373,7000374,7000375,7000376,7000377,7000378,7000379,7000380,7000381,7000382,7000383,7000384,7000385,7000386,7000387,7000388,7000389,7000390,7000391,7000392,7000393,7000394,7000395,7000396,7000397,7000398,7000399,7000400,7000401,7000402,7000403,7000404,7000405,7000406,7000407,7000408,7000409,7000410,7000411,7000412,7000413,7000414,7000415,7000416,7000417,7000418,7000419,7000420,7000421,7000422,7000423,7000424,7000425,7000426,7000427,7000428,7000429,7000430,7000431,7000432,7000433,7000434,7000435,7000436,7000437,7000438,7000439,7000440,7000441,7000442,7000443,7000444,7000445,7000446,7000447,7000448,7000449,7000450,7000451,7000452,7000453,7000454,7000455,7000456,7000457,7000458,7000459,7000460,7000461,7000462,7000463,7000464,7000465,7000466,7000467,7000468,7000469,7000470,7000471,7000472,7000473,7000474,7000475,7000476,7000477,7000478,7000479,7000480,7000481,7000482,7000483,7000484,7000485,7000486,7000487,7000488,7000489,7000490,7000491,7000492,7000493,7000494,7000495,7000496,7000497,7000498,7000499,7000500,7000501,7000502,7000503,7000504,7000505,7000506,7000507,7000508,7000509,7000510,7000511,7000512,7000513,7000514,7000515,7000516,7000517,7000518,7000519,7000520,7000521,7000522,7000523,7000524,7000525,7000526,7000527,7000528,7000529,7000530,7000531,7000532,7000533,7000534,7000535,7000536,7000537,7000538,7000539,7000540,7000541,7000542,7000543,7000544,7000545,7000546,7000547,7000548,7000549,7000550,7000551,7000552,7000553,7000554,7000555,7000556,7000557,7000558,7000559,7000560,7000561,7000562,7000563,7000564,7000565,7000566,7000567,7000568,7000569,7000570,7000571,7000572,7000573,7000574,7000575,7000576,7000577,7000578,7000579,7000580,7000581,7000582,7000583,7000584,7000585,7000586,7000587,7000588,7000589,7000590,7000591,7000592,7000593,7000594,7000595,7000596,7000597,7000598,7000599,7000600,7000601,7000602,7000603,7000604,7000605,7000606,7000607,7000608,7000609,7000610,7000611,7000612,7000613,7000614,7000615,7000616,7000617,7000618,7000619,7000620,7000621,7000622,7000623,7000624,7000625,7000626,7000627,7000628,7000629,7000630,7000631,7000632,7000633,7000634,7000635,7000636,7000637,7000638,7000639,7000640,7000641,7000642,7000643,7000644,7000645,7000646,7000647,7000648,7000649,7000650,7000651,7000652,7000653,7000654,7000655,7000656,7000657,7000658,7000659,7000660,7000661,7000662,7000663,7000664,7000665,7000666,7000667,7000668,7000669,7000670,7000671,7000672,7000673,7000674,7000675,7000676,7000677,7000678,7000679,7000680,7000681,7000682,7000683,7000684,7000685,7000686,7000687,7000688,7000689,7000690,7000691,7000692,7000693,7000694,7000695,7000696,7000697,7000698,7000699,7000700,7000701,7000702,7000703,7000704,7000705,7000706,7000707,7000708,7000709,7000710,7000711,7000712,7000713,7000714,7000715,7000716,7000717,7000718,7000719,7000720,7000721,7000722,7000723,7000724,7000725,7000726,7000727,7000728,7000729,7000730,7000731,7000732,7000733,7000734,7000735,7000736,7000737,7000738,7000739,7000740,7000741,7000742,7000743,7000744,7000745,7000746,7000747,7000748,7000749,7000750,7000751,7000752,7000753,7000754,7000755,7000756,7000757,7000758,7000759,7000760,7000761,7000762,7000763,7000764,7000765,7000766,7000767,7000768,7000769,7000770,7000771,7000772,7000773,7000774,7000775,7000776,7000777,7000778,7000779,7000780,7000781,7000782,7000783,7000784,7000785,7000786,7000787,7000788,7000789,7000790,7000791,7000792,7000793,7000794,7000795,7000796,7000797,7000798,7000799,7000800,7000801,7000802,7000803,7000804,7000805,7000806,7000807,7000808,7000809,7000810,7000811,7000812,7000813,7000814,7000815,7000816,7000817,7000818,7000819,7000820,7000821,7000822,7000823,7000824,7000825,7000826,7000827,7000828,7000829,7000830,7000831,7000832,7000833,7000834,7000835,7000836,7000837,7000838,7000839,7000840,7000841,7000842,7000843,7000844,7000845,7000846,7000847,7000848,7000849,7000850,7000851,7000852,7000853,7000854,7000855,7000856,7000857,7000858,7000859,7000860,7000861,7000862,7000863,7000864,7000865,7000866,7000867,7000868,7000869,7000870,7000871,7000872,7000873,7000874,7000875,7000876,7000877,7000878,7000879,7000880,7000881,7000882,7000883,7000884,7000885,7000886,7000887,7000888,7000889,7000890,7000891,7000892,7000893,7000894,7000895,7000896,7000897,7000898,7000899,7000900,7000901,7000902,7000903,7000904,7000905,7000906,7000907,7000908,7000909,7000910,7000911,7000912,7000913,7000914,7000915,7000916,7000917,7000918,7000919,7000920,7000921,7000922,7000923,7000924,7000925,7000926,7000927,7000928,7000929,7000930,7000931,7000932,7000933,7000934,7000935,7000936,7000937,7000938,7000939,7000940,7000941,7000942,7000943,7000944,7000945,7000946,7000947,7000948,7000949,7000950,7000951,7000952,7000953,7000954,7000955,7000956,7000957,7000958,7000959,7000960,7000961,7000962,7000963,7000964,7000965,7000966,7000967,7000968,7000969,7000970,7000971,7000972,7000973,7000974,7000975,7000976,7000977,7000978,7000979,7000980,7000981,7000982,7000983,7000984,7000985,7000986,7000987,7000988,7000989,7000990,7000991,7000992,7000993,7000994,7000995,7000996,7000997,7000998,7000999,7001000,8000002,8000003,8000004,8000005,8000006,8000007,8000008,8000009,8000010,8000011,8000012,8000013,8000014,8000015,8000016,8000017,8000018,8000019,8000020,8000021,8000022,8000023,8000024,8000025,8000026,8000027,8000028,8000029,8000030,8000031,8000032,8000033,8000034,8000035,8000036,8000037,8000038,8000039,8000040,8000041,8000042,8000043,8000044,8000045,8000046,8000047,8000048,8000049,8000050,8000051,8000052,8000053,8000054,8000055,8000056,8000057,8000058,8000059,8000060,8000061,8000062,8000063,8000064,8000065,8000066,8000067,8000068,8000069,8000070,8000071,8000072,8000073,8000074,8000075,8000076,8000077,8000078,8000079,8000080,8000081,8000082,8000083,8000084,8000085,8000086,8000087,8000088,8000089,8000090,8000091,8000092,8000093,8000094,8000095,8000096,8000097,8000098,8000099,8000100,8000101,8000102,8000103,8000104,8000105,8000106,8000107,8000108,8000109,8000110,8000111,8000112,8000113,8000114,8000115,8000116,8000117,8000118,8000119,8000120,8000121,8000122,8000123,8000124,8000125,8000126,8000127,8000128,8000129,8000130,8000131,8000132,8000133,8000134,8000135,8000136,8000137,8000138,8000139,8000140,8000141,8000142,8000143,8000144,8000145,8000146,8000147,8000148,8000149,8000150,8000151,8000152,8000153,8000154,8000155,8000156,8000157,8000158,8000159,8000160,8000161,8000162,8000163,8000164,8000165,8000166,8000167,8000168,8000169,8000170,8000171,8000172,8000173,8000174,8000175,8000176,8000177,8000178,8000179,8000180,8000181,8000182,8000183,8000184,8000185,8000186,8000187,8000188,8000189,8000190,8000191,8000192,8000193,8000194,8000195,8000196,8000197,8000198,8000199,8000200,8000201,8000202,8000203,8000204,8000205,8000206,8000207,8000208,8000209,8000210,8000211,8000212,8000213,8000214,8000215,8000216,8000217,8000218,8000219,8000220,8000221,8000222,8000223,8000224,8000225,8000226,8000227,8000228,8000229,8000230,8000231,8000232,8000233,8000234,8000235,8000236,8000237,8000238,8000239,8000240,8000241,8000242,8000243,8000244,8000245,8000246,8000247,8000248,8000249,8000250,8000251,8000252,8000253,8000254,8000255,8000256,8000257,8000258,8000259,8000260,8000261,8000262,8000263,8000264,8000265,8000266,8000267,8000268,8000269,8000270,8000271,8000272,8000273,8000274,8000275,8000276,8000277,8000278,8000279,8000280,8000281,8000282,8000283,8000284,8000285,8000286,8000287,8000288,8000289,8000290,8000291,8000292,8000293,8000294,8000295,8000296,8000297,8000298,8000299,8000300,8000301,8000302,8000303,8000304,8000305,8000306,8000307,8000308,8000309,8000310,8000311,8000312,8000313,8000314,8000315,8000316,8000317,8000318,8000319,8000320,8000321,8000322,8000323,8000324,8000325,8000326,8000327,8000328,8000329,8000330,8000331,8000332,8000333,8000334,8000335,8000336,8000337,8000338,8000339,8000340,8000341,8000342,8000343,8000344,8000345,8000346,8000347,8000348,8000349,8000350,8000351,8000352,8000353,8000354,8000355,8000356,8000357,8000358,8000359,8000360,8000361,8000362,8000363,8000364,8000365,8000366,8000367,8000368,8000369,8000370,8000371,8000372,8000373,8000374,8000375,8000376,8000377,8000378,8000379,8000380,8000381,8000382,8000383,8000384,8000385,8000386,8000387,8000388,8000389,8000390,8000391,8000392,8000393,8000394,8000395,8000396,8000397,8000398,8000399,8000400,8000401,8000402,8000403,8000404,8000405,8000406,8000407,8000408,8000409,8000410,8000411,8000412,8000413,8000414,8000415,8000416,8000417,8000418,8000419,8000420,8000421,8000422,8000423,8000424,8000425,8000426,8000427,8000428,8000429,8000430,8000431,8000432,8000433,8000434,8000435,8000436,8000437,8000438,8000439,8000440,8000441,8000442,8000443,8000444,8000445,8000446,8000447,8000448,8000449,8000450,8000451,8000452,8000453,8000454,8000455,8000456,8000457,8000458,8000459,8000460,8000461,8000462,8000463,8000464,8000465,8000466,8000467,8000468,8000469,8000470,8000471,8000472,8000473,8000474,8000475,8000476,8000477,8000478,8000479,8000480,8000481,8000482,8000483,8000484,8000485,8000486,8000487,8000488,8000489,8000490,8000491,8000492,8000493,8000494,8000495,8000496,8000497,8000498,8000499,8000500,8000501,8000502,8000503,8000504,8000505,8000506,8000507,8000508,8000509,8000510,8000511,8000512,8000513,8000514,8000515,8000516,8000517,8000518,8000519,8000520,8000521,8000522,8000523,8000524,8000525,8000526,8000527,8000528,8000529,8000530,8000531,8000532,8000533,8000534,8000535,8000536,8000537,8000538,8000539,8000540,8000541,8000542,8000543,8000544,8000545,8000546,8000547,8000548,8000549,8000550,8000551,8000552,8000553,8000554,8000555,8000556,8000557,8000558,8000559,8000560,8000561,8000562,8000563,8000564,8000565,8000566,8000567,8000568,8000569,8000570,8000571,8000572,8000573,8000574,8000575,8000576,8000577,8000578,8000579,8000580,8000581,8000582,8000583,8000584,8000585,8000586,8000587,8000588,8000589,8000590,8000591,8000592,8000593,8000594,8000595,8000596,8000597,8000598,8000599,8000600,8000601,8000602,8000603,8000604,8000605,8000606,8000607,8000608,8000609,8000610,8000611,8000612,8000613,8000614,8000615,8000616,8000617,8000618,8000619,8000620,8000621,8000622,8000623,8000624,8000625,8000626,8000627,8000628,8000629,8000630,8000631,8000632,8000633,8000634,8000635,8000636,8000637,8000638,8000639,8000640,8000641,8000642,8000643,8000644,8000645,8000646,8000647,8000648,8000649,8000650,8000651,8000652,8000653,8000654,8000655,8000656,8000657,8000658,8000659,8000660,8000661,8000662,8000663,8000664,8000665,8000666,8000667,8000668,8000669,8000670,8000671,8000672,8000673,8000674,8000675,8000676,8000677,8000678,8000679,8000680,8000681,8000682,8000683,8000684,8000685,8000686,8000687,8000688,8000689,8000690,8000691,8000692,8000693,8000694,8000695,8000696,8000697,8000698,8000699,8000700,8000701,8000702,8000703,8000704,8000705,8000706,8000707,8000708,8000709,8000710,8000711,8000712,8000713,8000714,8000715,8000716,8000717,8000718,8000719,8000720,8000721,8000722,8000723,8000724,8000725,8000726,8000727,8000728,8000729,8000730,8000731,8000732,8000733,8000734,8000735,8000736,8000737,8000738,8000739,8000740,8000741,8000742,8000743,8000744,8000745,8000746,8000747,8000748,8000749,8000750,8000751,8000752,8000753,8000754,8000755,8000756,8000757,8000758,8000759,8000760,8000761,8000762,8000763,8000764,8000765,8000766,8000767,8000768,8000769,8000770,8000771,8000772,8000773,8000774,8000775,8000776,8000777,8000778,8000779,8000780,8000781,8000782,8000783,8000784,8000785,8000786,8000787,8000788,8000789,8000790,8000791,8000792,8000793,8000794,8000795,8000796,8000797,8000798,8000799,8000800,8000801,8000802,8000803,8000804,8000805,8000806,8000807,8000808,8000809,8000810,8000811,8000812,8000813,8000814,8000815,8000816,8000817,8000818,8000819,8000820,8000821,8000822,8000823,8000824,8000825,8000826,8000827,8000828,8000829,8000830,8000831,8000832,8000833,8000834,8000835,8000836,8000837,8000838,8000839,8000840,8000841,8000842,8000843,8000844,8000845,8000846,8000847,8000848,8000849,8000850,8000851,8000852,8000853,8000854,8000855,8000856,8000857,8000858,8000859,8000860,8000861,8000862,8000863,8000864,8000865,8000866,8000867,8000868,8000869,8000870,8000871,8000872,8000873,8000874,8000875,8000876,8000877,8000878,8000879,8000880,8000881,8000882,8000883,8000884,8000885,8000886,8000887,8000888,8000889,8000890,8000891,8000892,8000893,8000894,8000895,8000896,8000897,8000898,8000899,8000900,8000901,8000902,8000903,8000904,8000905,8000906,8000907,8000908,8000909,8000910,8000911,8000912,8000913,8000914,8000915,8000916,8000917,8000918,8000919,8000920,8000921,8000922,8000923,8000924,8000925,8000926,8000927,8000928,8000929,8000930,8000931,8000932,8000933,8000934,8000935,8000936,8000937,8000938,8000939,8000940,8000941,8000942,8000943,8000944,8000945,8000946,8000947,8000948,8000949,8000950,8000951,8000952,8000953,8000954,8000955,8000956,8000957,8000958,8000959,8000960,8000961,8000962,8000963,8000964,8000965,8000966,8000967,8000968,8000969,8000970,8000971,8000972,8000973,8000974,8000975,8000976,8000977,8000978,8000979,8000980,8000981,8000982,8000983,8000984,8000985,8000986,8000987,8000988,8000989,8000990,8000991,8000992,8000993,8000994,8000995,8000996,8000997,8000998,8000999,8001000,9000001,9000002,9000003,9000004,9000005,9000006,9000007,9000008,9000009,9000010,9000011,9000012,9000013,9000014,9000015,9000016,9000017,9000018,9000019,9000020,9000021,9000022,9000023,9000024,9000025,9000026,9000027,9000028,9000029,9000030,9000031,9000032,9000033,9000034,9000035,9000036,9000037,9000038,9000039,9000040,9000041,9000042,9000043,9000044,9000045,9000046,9000047,9000048,9000049,9000050,9000051,9000052,9000053,9000054,9000055,9000056,9000057,9000058,9000059,9000060,9000061,9000062,9000063,9000064,9000065,9000066,9000067,9000068,9000069,9000070,9000071,9000072,9000073,9000074,9000075,9000076,9000077,9000078,9000079,9000080,9000081,9000082,9000083,9000084,9000085,9000086,9000087,9000088,9000089,9000090,9000091,9000092,9000093,9000094,9000095,9000096,9000097,9000098,9000099,9000100,9000101,9000102,9000103,9000104,9000105,9000106,9000107,9000108,9000109,9000110,9000111,9000112,9000113,9000114,9000115,9000116,9000117,9000118,9000119,9000120,9000121,9000122,9000123,9000124,9000125,9000126,9000127,9000128,9000129,9000130,9000131,9000132,9000133,9000134,9000135,9000136,9000137,9000138,9000139,9000140,9000141,9000142,9000143,9000144,9000145,9000146,9000147,9000148,9000149,9000150,9000151,9000152,9000153,9000154,9000155,9000156,9000157,9000158,9000159,9000160,9000161,9000162,9000163,9000164,9000165,9000166,9000167,9000168,9000169,9000170,9000171,9000172,9000173,9000174,9000175,9000176,9000177,9000178,9000179,9000180,9000181,9000182,9000183,9000184,9000185,9000186,9000187,9000188,9000189,9000190,9000191,9000192,9000193,9000194,9000195,9000196,9000197,9000198,9000199,9000200,9000201,9000202,9000203,9000204,9000205,9000206,9000207,9000208,9000209,9000210,9000211,9000212,9000213,9000214,9000215,9000216,9000217,9000218,9000219,9000220,9000221,9000222,9000223,9000224,9000225,9000226,9000227,9000228,9000229,9000230,9000231,9000232,9000233,9000234,9000235,9000236,9000237,9000238,9000239,9000240,9000241,9000242,9000243,9000244,9000245,9000246,9000247,9000248,9000249,9000250,9000251,9000252,9000253,9000254,9000255,9000256,9000257,9000258,9000259,9000260,9000261,9000262,9000263,9000264,9000265,9000266,9000267,9000268,9000269,9000270,9000271,9000272,9000273,9000274,9000275,9000276,9000277,9000278,9000279,9000280,9000281,9000282,9000283,9000284,9000285,9000286,9000287,9000288,9000289,9000290,9000291,9000292,9000293,9000294,9000295,9000296,9000297,9000298,9000299,9000300,9000301,9000302,9000303,9000304,9000305,9000306,9000307,9000308,9000309,9000310,9000311,9000312,9000313,9000314,9000315,9000316,9000317,9000318,9000319,9000320,9000321,9000322,9000323,9000324,9000325,9000326,9000327,9000328,9000329,9000330,9000331,9000332,9000333,9000334,9000335,9000336,9000337,9000338,9000339,9000340,9000341,9000342,9000343,9000344,9000345,9000346,9000347,9000348,9000349,9000350,9000351,9000352,9000353,9000354,9000355,9000356,9000357,9000358,9000359,9000360,9000361,9000362,9000363,9000364,9000365,9000366,9000367,9000368,9000369,9000370,9000371,9000372,9000373,9000374,9000375,9000376,9000377,9000378,9000379,9000380,9000381,9000382,9000383,9000384,9000385,9000386,9000387,9000388,9000389,9000390,9000391,9000392,9000393,9000394,9000395,9000396,9000397,9000398,9000399,9000400,9000401,9000402,9000403,9000404,9000405,9000406,9000407,9000408,9000409,9000410,9000411,9000412,9000413,9000414,9000415,9000416,9000417,9000418,9000419,9000420,9000421,9000422,9000423,9000424,9000425,9000426,9000427,9000428,9000429,9000430,9000431,9000432,9000433,9000434,9000435,9000436,9000437,9000438,9000439,9000440,9000441,9000442,9000443,9000444,9000445,9000446,9000447,9000448,9000449,9000450,9000451,9000452,9000453,9000454,9000455,9000456,9000457,9000458,9000459,9000460,9000461,9000462,9000463,9000464,9000465,9000466,9000467,9000468,9000469,9000470,9000471,9000472,9000473,9000474,9000475,9000476,9000477,9000478,9000479,9000480,9000481,9000482,9000483,9000484,9000485,9000486,9000487,9000488,9000489,9000490,9000491,9000492,9000493,9000494,9000495,9000496,9000497,9000498,9000499,9000500,9000501,9000502,9000503,9000504,9000505,9000506,9000507,9000508,9000509,9000510,9000511,9000512,9000513,9000514,9000515,9000516,9000517,9000518,9000519,9000520,9000521,9000522,9000523,9000524,9000525,9000526,9000527,9000528,9000529,9000530,9000531,9000532,9000533,9000534,9000535,9000536,9000537,9000538,9000539,9000540,9000541,9000542,9000543,9000544,9000545,9000546,9000547,9000548,9000549,9000550,9000551,9000552,9000553,9000554,9000555,9000556,9000557,9000558,9000559,9000560,9000561,9000562,9000563,9000564,9000565,9000566,9000567,9000568,9000569,9000570,9000571,9000572,9000573,9000574,9000575,9000576,9000577,9000578,9000579,9000580,9000581,9000582,9000583,9000584,9000585,9000586,9000587,9000588,9000589,9000590,9000591,9000592,9000593,9000594,9000595,9000596,9000597,9000598,9000599,9000600,9000601,9000602,9000603,9000604,9000605,9000606,9000607,9000608,9000609,9000610,9000611,9000612,9000613,9000614,9000615,9000616,9000617,9000618,9000619,9000620,9000621,9000622,9000623,9000624,9000625,9000626,9000627,9000628,9000629,9000630,9000631,9000632,9000633,9000634,9000635,9000636,9000637,9000638,9000639,9000640,9000641,9000642,9000643,9000644,9000645,9000646,9000647,9000648,9000649,9000650,9000651,9000652,9000653,9000654,9000655,9000656,9000657,9000658,9000659,9000660,9000661,9000662,9000663,9000664,9000665,9000666,9000667,9000668,9000669,9000670,9000671,9000672,9000673,9000674,9000675,9000676,9000677,9000678,9000679,9000680,9000681,9000682,9000683,9000684,9000685,9000686,9000687,9000688,9000689,9000690,9000691,9000692,9000693,9000694,9000695,9000696,9000697,9000698,9000699,9000700,9000701,9000702,9000703,9000704,9000705,9000706,9000707,9000708,9000709,9000710,9000711,9000712,9000713,9000714,9000715,9000716,9000717,9000718,9000719,9000720,9000721,9000722,9000723,9000724,9000725,9000726,9000727,9000728,9000729,9000730,9000731,9000732,9000733,9000734,9000735,9000736,9000737,9000738,9000739,9000740,9000741,9000742,9000743,9000744,9000745,9000746,9000747,9000748,9000749,9000750,9000751,9000752,9000753,9000754,9000755,9000756,9000757,9000758,9000759,9000760,9000761,9000762,9000763,9000764,9000765,9000766,9000767,9000768,9000769,9000770,9000771,9000772,9000773,9000774,9000775,9000776,9000777,9000778,9000779,9000780,9000781,9000782,9000783,9000784,9000785,9000786,9000787,9000788,9000789,9000790,9000791,9000792,9000793,9000794,9000795,9000796,9000797,9000798,9000799,9000800,9000801,9000802,9000803,9000804,9000805,9000806,9000807,9000808,9000809,9000810,9000811,9000812,9000813,9000814,9000815,9000816,9000817,9000818,9000819,9000820,9000821,9000822,9000823,9000824,9000825,9000826,9000827,9000828,9000829,9000830,9000831,9000832,9000833,9000834,9000835,9000836,9000837,9000838,9000839,9000840,9000841,9000842,9000843,9000844,9000845,9000846,9000847,9000848,9000849,9000850,9000851,9000852,9000853,9000854,9000855,9000856,9000857,9000858,9000859,9000860,9000861,9000862,9000863,9000864,9000865,9000866,9000867,9000868,9000869,9000870,9000871,9000872,9000873,9000874,9000875,9000876,9000877,9000878,9000879,9000880,9000881,9000882,9000883,9000884,9000885,9000886,9000887,9000888,9000889,9000890,9000891,9000892,9000893,9000894,9000895,9000896,9000897,9000898,9000899,9000900,9000901,9000902,9000903,9000904,9000905,9000906,9000907,9000908,9000909,9000910,9000911,9000912,9000913,9000914,9000915,9000916,9000917,9000918,9000919,9000920,9000921,9000922,9000923,9000924,9000925,9000926,9000927,9000928,9000929,9000930,9000931,9000932,9000933,9000934,9000935,9000936,9000937,9000938,9000939,9000940,9000941,9000942,9000943,9000944,9000945,9000946,9000947,9000948,9000949,9000950,9000951,9000952,9000953,9000954,9000955,9000956,9000957,9000958,9000959,9000960,9000961,9000962,9000963,9000964,9000965,9000966,9000967,9000968,9000969,9000970,9000971,9000972,9000973,9000974,9000975,9000976,9000977,9000978,9000979,9000980,9000981,9000982,9000983,9000984,9000985,9000986,9000987,9000988,9000989,9000990,9000991,9000992,9000993,9000994,9000995,9000996,9000997,9000998,9000999,9001000,10000001,10000002,10000003,10000004,10000005,10000006,10000007,10000008,10000009,10000010,10000011,10000012,10000013,10000014,10000015,10000016,10000017,10000018,10000019,10000020,10000021,10000022,10000023,10000024,10000025,10000026,10000027,10000028,10000029,10000030,10000031,10000032,10000033,10000034,10000035,10000036,10000037,10000038,10000039,10000040,10000041,10000042,10000043,10000044,10000045,10000046,10000047,10000048,10000049,10000050,10000051,10000052,10000053,10000054,10000055,10000056,10000057,10000058,10000059,10000060,10000061,10000062,10000063,10000064,10000065,10000066,10000067,10000068,10000069,10000070,10000071,10000072,10000073,10000074,10000075,10000076,10000077,10000078,10000079,10000080,10000081,10000082,10000083,10000084,10000085,10000086,10000087,10000088,10000089,10000090,10000091,10000092,10000093,10000094,10000095,10000096,10000097,10000098,10000099,10000100,10000101,10000102,10000103,10000104,10000105,10000106,10000107,10000108,10000109,10000110,10000111,10000112,10000113,10000114,10000115,10000116,10000117,10000118,10000119,10000120,10000121,10000122,10000123,10000124,10000125,10000126,10000127,10000128,10000129,10000130,10000131,10000132,10000133,10000134,10000135,10000136,10000137,10000138,10000139,10000140,10000141,10000142,10000143,10000144,10000145,10000146,10000147,10000148,10000149,10000150,10000151,10000152,10000153,10000154,10000155,10000156,10000157,10000158,10000159,10000160,10000161,10000162,10000163,10000164,10000165,10000166,10000167,10000168,10000169,10000170,10000171,10000172,10000173,10000174,10000175,10000176,10000177,10000178,10000179,10000180,10000181,10000182,10000183,10000184,10000185,10000186,10000187,10000188,10000189,10000190,10000191,10000192,10000193,10000194,10000195,10000196,10000197,10000198,10000199,10000200,10000201,10000202,10000203,10000204,10000205,10000206,10000207,10000208,10000209,10000210,10000211,10000212,10000213,10000214,10000215,10000216,10000217,10000218,10000219,10000220,10000221,10000222,10000223,10000224,10000225,10000226,10000227,10000228,10000229,10000230,10000231,10000232,10000233,10000234,10000235,10000236,10000237,10000238,10000239,10000240,10000241,10000242,10000243,10000244,10000245,10000246,10000247,10000248,10000249,10000250,10000251,10000252,10000253,10000254,10000255,10000256,10000257,10000258,10000259,10000260,10000261,10000262,10000263,10000264,10000265,10000266,10000267,10000268,10000269,10000270,10000271,10000272,10000273,10000274,10000275,10000276,10000277,10000278,10000279,10000280,10000281,10000282,10000283,10000284,10000285,10000286,10000287,10000288,10000289,10000290,10000291,10000292,10000293,10000294,10000295,10000296,10000297,10000298,10000299,10000300,10000301,10000302,10000303,10000304,10000305,10000306,10000307,10000308,10000309,10000310,10000311,10000312,10000313,10000314,10000315,10000316,10000317,10000318,10000319,10000320,10000321,10000322,10000323,10000324,10000325,10000326,10000327,10000328,10000329,10000330,10000331,10000332,10000333,10000334,10000335,10000336,10000337,10000338,10000339,10000340,10000341,10000342,10000343,10000344,10000345,10000346,10000347,10000348,10000349,10000350,10000351,10000352,10000353,10000354,10000355,10000356,10000357,10000358,10000359,10000360,10000361,10000362,10000363,10000364,10000365,10000366,10000367,10000368,10000369,10000370,10000371,10000372,10000373,10000374,10000375,10000376,10000377,10000378,10000379,10000380,10000381,10000382,10000383,10000384,10000385,10000386,10000387,10000388,10000389,10000390,10000391,10000392,10000393,10000394,10000395,10000396,10000397,10000398,10000399,10000400,10000401,10000402,10000403,10000404,10000405,10000406,10000407,10000408,10000409,10000410,10000411,10000412,10000413,10000414,10000415,10000416,10000417,10000418,10000419,10000420,10000421,10000422,10000423,10000424,10000425,10000426,10000427,10000428,10000429,10000430,10000431,10000432,10000433,10000434,10000435,10000436,10000437,10000438,10000439,10000440,10000441,10000442,10000443,10000444,10000445,10000446,10000447,10000448,10000449,10000450,10000451,10000452,10000453,10000454,10000455,10000456,10000457,10000458,10000459,10000460,10000461,10000462,10000463,10000464,10000465,10000466,10000467,10000468,10000469,10000470,10000471,10000472,10000473,10000474,10000475,10000476,10000477,10000478,10000479,10000480,10000481,10000482,10000483,10000484,10000485,10000486,10000487,10000488,10000489,10000490,10000491,10000492,10000493,10000494,10000495,10000496,10000497,10000498,10000499,10000500,10000501,10000502,10000503,10000504,10000505,10000506,10000507,10000508,10000509,10000510,10000511,10000512,10000513,10000514,10000515,10000516,10000517,10000518,10000519,10000520,10000521,10000522,10000523,10000524,10000525,10000526,10000527,10000528,10000529,10000530,10000531,10000532,10000533,10000534,10000535,10000536,10000537,10000538,10000539,10000540,10000541,10000542,10000543,10000544,10000545,10000546,10000547,10000548,10000549,10000550,10000551,10000552,10000553,10000554,10000555,10000556,10000557,10000558,10000559,10000560,10000561,10000562,10000563,10000564,10000565,10000566,10000567,10000568,10000569,10000570,10000571,10000572,10000573,10000574,10000575,10000576,10000577,10000578,10000579,10000580,10000581,10000582,10000583,10000584,10000585,10000586,10000587,10000588,10000589,10000590,10000591,10000592,10000593,10000594,10000595,10000596,10000597,10000598,10000599,10000600,10000601,10000602,10000603,10000604,10000605,10000606,10000607,10000608,10000609,10000610,10000611,10000612,10000613,10000614,10000615,10000616,10000617,10000618,10000619,10000620,10000621,10000622,10000623,10000624,10000625,10000626,10000627,10000628,10000629,10000630,10000631,10000632,10000633,10000634,10000635,10000636,10000637,10000638,10000639,10000640,10000641,10000642,10000643,10000644,10000645,10000646,10000647,10000648,10000649,10000650,10000651,10000652,10000653,10000654,10000655,10000656,10000657,10000658,10000659,10000660,10000661,10000662,10000663,10000664,10000665,10000666,10000667,10000668,10000669,10000670,10000671,10000672,10000673,10000674,10000675,10000676,10000677,10000678,10000679,10000680,10000681,10000682,10000683,10000684,10000685,10000686,10000687,10000688,10000689,10000690,10000691,10000692,10000693,10000694,10000695,10000696,10000697,10000698,10000699,10000700,10000701,10000702,10000703,10000704,10000705,10000706,10000707,10000708,10000709,10000710,10000711,10000712,10000713,10000714,10000715,10000716,10000717,10000718,10000719,10000720,10000721,10000722,10000723,10000724,10000725,10000726,10000727,10000728,10000729,10000730,10000731,10000732,10000733,10000734,10000735,10000736,10000737,10000738,10000739,10000740,10000741,10000742,10000743,10000744,10000745,10000746,10000747,10000748,10000749,10000750,10000751,10000752,10000753,10000754,10000755,10000756,10000757,10000758,10000759,10000760,10000761,10000762,10000763,10000764,10000765,10000766,10000767,10000768,10000769,10000770,10000771,10000772,10000773,10000774,10000775,10000776,10000777,10000778,10000779,10000780,10000781,10000782,10000783,10000784,10000785,10000786,10000787,10000788,10000789,10000790,10000791,10000792,10000793,10000794,10000795,10000796,10000797,10000798,10000799,10000800,10000801,10000802,10000803,10000804,10000805,10000806,10000807,10000808,10000809,10000810,10000811,10000812,10000813,10000814,10000815,10000816,10000817,10000818,10000819,10000820,10000821,10000822,10000823,10000824,10000825,10000826,10000827,10000828,10000829,10000830,10000831,10000832,10000833,10000834,10000835,10000836,10000837,10000838,10000839,10000840,10000841,10000842,10000843,10000844,10000845,10000846,10000847,10000848,10000849,10000850,10000851,10000852,10000853,10000854,10000855,10000856,10000857,10000858,10000859,10000860,10000861,10000862,10000863,10000864,10000865,10000866,10000867,10000868,10000869,10000870,10000871,10000872,10000873,10000874,10000875,10000876,10000877,10000878,10000879,10000880,10000881,10000882,10000883,10000884,10000885,10000886,10000887,10000888,10000889,10000890,10000891,10000892,10000893,10000894,10000895,10000896,10000897,10000898,10000899,10000900,10000901,10000902,10000903,10000904,10000905,10000906,10000907,10000908,10000909,10000910,10000911,10000912,10000913,10000914,10000915,10000916,10000917,10000918,10000919,10000920,10000921,10000922,10000923,10000924,10000925,10000926,10000927,10000928,10000929,10000930,10000931,10000932,10000933,10000934,10000935,10000936,10000937,10000938,10000939,10000940,10000941,10000942,10000943,10000944,10000945,10000946,10000947,10000948,10000949,10000950,10000951,10000952,10000953,10000954,10000955,10000956,10000957,10000958,10000959,10000960,10000961,10000962,10000963,10000964,10000965,10000966,10000967,10000968,10000969,10000970,10000971,10000972,10000973,10000974,10000975,10000976,10000977,10000978,10000979,10000980,10000981,10000982,10000983,10000984,10000985,10000986,10000987,10000988,10000989,10000990,10000991,10000992,10000993,10000994,10000995,10000996,10000997,10000998,10000999,10001000]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING9_1_join_on_3tbls_withfilter_onpkey
+ customTags: schematype=colocated,partition=range,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=IN,queryshape=join,joinon=rangepkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1
+
+ - workload: JOING9_2_join_on_3tbls_withfilter_onskey
+ customTags: schematype=colocated,partition=range,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=join,joinon=rangepkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_1.col_bigint_card2_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1
+
+ - workload: JOING9_3_join_on_3tbls_withfilter_onpkey_subquery
+ customTags: schematype=colocated,partition=range,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=subquery,queryshape=join,joinon=rangepkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_2.col_bigint_card1_1 IN (select distinct(col_bigint_card1_1) from pkeyBigint1M_1 where col_bigint_card1_1 in (1000500)) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1
+
+ - workload: JOING9_4_join_on_3tbls_withfilter_onskey_subquery
+ customTags: schematype=colocated,partition=range,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=subquery,queryshape=join,joinon=rangepkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_2.col_bigint_card2_1 IN (select distinct(col_bigint_card2_1) from pkeyBigint1M_1 where col_bigint_card1_1 in (1000500)) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1
+
+ - workload: JOING9_5_cascade_join_3tbls_withfilter_onpkey
+ customTags: schematype=colocated,partition=range,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=IN,queryshape=join,joinon=rangepkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1 JOIN pkeyBigint1M_2 on pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 JOIN pkeyBigint1M_3 on pkeyBigint1M_2.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500)
+
+ - workload: JOING9_6_join_on_pkey_2ndpart_3tbls_withfilter_onskey
+ customTags: schematype=colocated,partition=range,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=IN,queryshape=join,joinon=mixedpkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1 JOIN pkeyBigint1M_2 on pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 JOIN pkeyBigint1M_3 on pkeyBigint1M_2.col_bigint_card1_1=pkeyBigint1M_3.col_bigint_card1_1 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500)
+
+ - workload: JOING9_7_join_cte_on_3tbls_withfilter_onpkey_subquery
+ customTags: schematype=colocated,partition=range,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=subquery,queryshape=join,joinon=mixedpkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: With v1 as (select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_2 from pkeyBigint1M_1,pkeyBigint1M_2 where pkeyBigint1M_2.col_bigint_card1_1 IN (select distinct(col_bigint_card1_1) from pkeyBigint1M_1 where col_bigint_card1_1 in (1000500)) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1), v2 as (select pkeyBigint1M_3.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_2 from pkeyBigint1M_1,pkeyBigint1M_3 where pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1) select v1.col_bigint_id_1, v1.col_bigint_id_2, v2.col_bigint_id_1, v2.col_bigint_id_2 from v1 join v2 on v1.col_bigint_id_1=v2.col_bigint_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING10_join_groupby_orderby.yaml b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING10_join_groupby_orderby.yaml
new file mode 100644
index 000000000..b187e7a5e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING10_join_groupby_orderby.yaml
@@ -0,0 +1,138 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{ username }}
+password: {{ password }}
+isolation: TRANSACTION_REPEATABLE_READ
+batchsize: 128
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M_3;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE TABLE pkeyBigint1M_3(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card2_1);
+ - CREATE INDEX ON pkeyBigint1M_2(col_bigint_card2_1);
+ - CREATE INDEX ON pkeyBigint1M_3(col_bigint_card2_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M_3;
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 3
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000,2000002,2000003,2000004,2000005,2000006,2000007,2000008,2000009,2000010,2000011,2000012,2000013,2000014,2000015,2000016,2000017,2000018,2000019,2000020,2000021,2000022,2000023,2000024,2000025,2000026,2000027,2000028,2000029,2000030,2000031,2000032,2000033,2000034,2000035,2000036,2000037,2000038,2000039,2000040,2000041,2000042,2000043,2000044,2000045,2000046,2000047,2000048,2000049,2000050,2000051,2000052,2000053,2000054,2000055,2000056,2000057,2000058,2000059,2000060,2000061,2000062,2000063,2000064,2000065,2000066,2000067,2000068,2000069,2000070,2000071,2000072,2000073,2000074,2000075,2000076,2000077,2000078,2000079,2000080,2000081,2000082,2000083,2000084,2000085,2000086,2000087,2000088,2000089,2000090,2000091,2000092,2000093,2000094,2000095,2000096,2000097,2000098,2000099,2000100,2000101,2000102,2000103,2000104,2000105,2000106,2000107,2000108,2000109,2000110,2000111,2000112,2000113,2000114,2000115,2000116,2000117,2000118,2000119,2000120,2000121,2000122,2000123,2000124,2000125,2000126,2000127,2000128,2000129,2000130,2000131,2000132,2000133,2000134,2000135,2000136,2000137,2000138,2000139,2000140,2000141,2000142,2000143,2000144,2000145,2000146,2000147,2000148,2000149,2000150,2000151,2000152,2000153,2000154,2000155,2000156,2000157,2000158,2000159,2000160,2000161,2000162,2000163,2000164,2000165,2000166,2000167,2000168,2000169,2000170,2000171,2000172,2000173,2000174,2000175,2000176,2000177,2000178,2000179,2000180,2000181,2000182,2000183,2000184,2000185,2000186,2000187,2000188,2000189,2000190,2000191,2000192,2000193,2000194,2000195,2000196,2000197,2000198,2000199,2000200,2000201,2000202,2000203,2000204,2000205,2000206,2000207,2000208,2000209,2000210,2000211,2000212,2000213,2000214,2000215,2000216,2000217,2000218,2000219,2000220,2000221,2000222,2000223,2000224,2000225,2000226,2000227,2000228,2000229,2000230,2000231,2000232,2000233,2000234,2000235,2000236,2000237,2000238,2000239,2000240,2000241,2000242,2000243,2000244,2000245,2000246,2000247,2000248,2000249,2000250,2000251,2000252,2000253,2000254,2000255,2000256,2000257,2000258,2000259,2000260,2000261,2000262,2000263,2000264,2000265,2000266,2000267,2000268,2000269,2000270,2000271,2000272,2000273,2000274,2000275,2000276,2000277,2000278,2000279,2000280,2000281,2000282,2000283,2000284,2000285,2000286,2000287,2000288,2000289,2000290,2000291,2000292,2000293,2000294,2000295,2000296,2000297,2000298,2000299,2000300,2000301,2000302,2000303,2000304,2000305,2000306,2000307,2000308,2000309,2000310,2000311,2000312,2000313,2000314,2000315,2000316,2000317,2000318,2000319,2000320,2000321,2000322,2000323,2000324,2000325,2000326,2000327,2000328,2000329,2000330,2000331,2000332,2000333,2000334,2000335,2000336,2000337,2000338,2000339,2000340,2000341,2000342,2000343,2000344,2000345,2000346,2000347,2000348,2000349,2000350,2000351,2000352,2000353,2000354,2000355,2000356,2000357,2000358,2000359,2000360,2000361,2000362,2000363,2000364,2000365,2000366,2000367,2000368,2000369,2000370,2000371,2000372,2000373,2000374,2000375,2000376,2000377,2000378,2000379,2000380,2000381,2000382,2000383,2000384,2000385,2000386,2000387,2000388,2000389,2000390,2000391,2000392,2000393,2000394,2000395,2000396,2000397,2000398,2000399,2000400,2000401,2000402,2000403,2000404,2000405,2000406,2000407,2000408,2000409,2000410,2000411,2000412,2000413,2000414,2000415,2000416,2000417,2000418,2000419,2000420,2000421,2000422,2000423,2000424,2000425,2000426,2000427,2000428,2000429,2000430,2000431,2000432,2000433,2000434,2000435,2000436,2000437,2000438,2000439,2000440,2000441,2000442,2000443,2000444,2000445,2000446,2000447,2000448,2000449,2000450,2000451,2000452,2000453,2000454,2000455,2000456,2000457,2000458,2000459,2000460,2000461,2000462,2000463,2000464,2000465,2000466,2000467,2000468,2000469,2000470,2000471,2000472,2000473,2000474,2000475,2000476,2000477,2000478,2000479,2000480,2000481,2000482,2000483,2000484,2000485,2000486,2000487,2000488,2000489,2000490,2000491,2000492,2000493,2000494,2000495,2000496,2000497,2000498,2000499,2000500,2000501,2000502,2000503,2000504,2000505,2000506,2000507,2000508,2000509,2000510,2000511,2000512,2000513,2000514,2000515,2000516,2000517,2000518,2000519,2000520,2000521,2000522,2000523,2000524,2000525,2000526,2000527,2000528,2000529,2000530,2000531,2000532,2000533,2000534,2000535,2000536,2000537,2000538,2000539,2000540,2000541,2000542,2000543,2000544,2000545,2000546,2000547,2000548,2000549,2000550,2000551,2000552,2000553,2000554,2000555,2000556,2000557,2000558,2000559,2000560,2000561,2000562,2000563,2000564,2000565,2000566,2000567,2000568,2000569,2000570,2000571,2000572,2000573,2000574,2000575,2000576,2000577,2000578,2000579,2000580,2000581,2000582,2000583,2000584,2000585,2000586,2000587,2000588,2000589,2000590,2000591,2000592,2000593,2000594,2000595,2000596,2000597,2000598,2000599,2000600,2000601,2000602,2000603,2000604,2000605,2000606,2000607,2000608,2000609,2000610,2000611,2000612,2000613,2000614,2000615,2000616,2000617,2000618,2000619,2000620,2000621,2000622,2000623,2000624,2000625,2000626,2000627,2000628,2000629,2000630,2000631,2000632,2000633,2000634,2000635,2000636,2000637,2000638,2000639,2000640,2000641,2000642,2000643,2000644,2000645,2000646,2000647,2000648,2000649,2000650,2000651,2000652,2000653,2000654,2000655,2000656,2000657,2000658,2000659,2000660,2000661,2000662,2000663,2000664,2000665,2000666,2000667,2000668,2000669,2000670,2000671,2000672,2000673,2000674,2000675,2000676,2000677,2000678,2000679,2000680,2000681,2000682,2000683,2000684,2000685,2000686,2000687,2000688,2000689,2000690,2000691,2000692,2000693,2000694,2000695,2000696,2000697,2000698,2000699,2000700,2000701,2000702,2000703,2000704,2000705,2000706,2000707,2000708,2000709,2000710,2000711,2000712,2000713,2000714,2000715,2000716,2000717,2000718,2000719,2000720,2000721,2000722,2000723,2000724,2000725,2000726,2000727,2000728,2000729,2000730,2000731,2000732,2000733,2000734,2000735,2000736,2000737,2000738,2000739,2000740,2000741,2000742,2000743,2000744,2000745,2000746,2000747,2000748,2000749,2000750,2000751,2000752,2000753,2000754,2000755,2000756,2000757,2000758,2000759,2000760,2000761,2000762,2000763,2000764,2000765,2000766,2000767,2000768,2000769,2000770,2000771,2000772,2000773,2000774,2000775,2000776,2000777,2000778,2000779,2000780,2000781,2000782,2000783,2000784,2000785,2000786,2000787,2000788,2000789,2000790,2000791,2000792,2000793,2000794,2000795,2000796,2000797,2000798,2000799,2000800,2000801,2000802,2000803,2000804,2000805,2000806,2000807,2000808,2000809,2000810,2000811,2000812,2000813,2000814,2000815,2000816,2000817,2000818,2000819,2000820,2000821,2000822,2000823,2000824,2000825,2000826,2000827,2000828,2000829,2000830,2000831,2000832,2000833,2000834,2000835,2000836,2000837,2000838,2000839,2000840,2000841,2000842,2000843,2000844,2000845,2000846,2000847,2000848,2000849,2000850,2000851,2000852,2000853,2000854,2000855,2000856,2000857,2000858,2000859,2000860,2000861,2000862,2000863,2000864,2000865,2000866,2000867,2000868,2000869,2000870,2000871,2000872,2000873,2000874,2000875,2000876,2000877,2000878,2000879,2000880,2000881,2000882,2000883,2000884,2000885,2000886,2000887,2000888,2000889,2000890,2000891,2000892,2000893,2000894,2000895,2000896,2000897,2000898,2000899,2000900,2000901,2000902,2000903,2000904,2000905,2000906,2000907,2000908,2000909,2000910,2000911,2000912,2000913,2000914,2000915,2000916,2000917,2000918,2000919,2000920,2000921,2000922,2000923,2000924,2000925,2000926,2000927,2000928,2000929,2000930,2000931,2000932,2000933,2000934,2000935,2000936,2000937,2000938,2000939,2000940,2000941,2000942,2000943,2000944,2000945,2000946,2000947,2000948,2000949,2000950,2000951,2000952,2000953,2000954,2000955,2000956,2000957,2000958,2000959,2000960,2000961,2000962,2000963,2000964,2000965,2000966,2000967,2000968,2000969,2000970,2000971,2000972,2000973,2000974,2000975,2000976,2000977,2000978,2000979,2000980,2000981,2000982,2000983,2000984,2000985,2000986,2000987,2000988,2000989,2000990,2000991,2000992,2000993,2000994,2000995,2000996,2000997,2000998,2000999,2001000,3000001,3000002,3000003,3000004,3000005,3000006,3000007,3000008,3000009,3000010,3000011,3000012,3000013,3000014,3000015,3000016,3000017,3000018,3000019,3000020,3000021,3000022,3000023,3000024,3000025,3000026,3000027,3000028,3000029,3000030,3000031,3000032,3000033,3000034,3000035,3000036,3000037,3000038,3000039,3000040,3000041,3000042,3000043,3000044,3000045,3000046,3000047,3000048,3000049,3000050,3000051,3000052,3000053,3000054,3000055,3000056,3000057,3000058,3000059,3000060,3000061,3000062,3000063,3000064,3000065,3000066,3000067,3000068,3000069,3000070,3000071,3000072,3000073,3000074,3000075,3000076,3000077,3000078,3000079,3000080,3000081,3000082,3000083,3000084,3000085,3000086,3000087,3000088,3000089,3000090,3000091,3000092,3000093,3000094,3000095,3000096,3000097,3000098,3000099,3000100,3000101,3000102,3000103,3000104,3000105,3000106,3000107,3000108,3000109,3000110,3000111,3000112,3000113,3000114,3000115,3000116,3000117,3000118,3000119,3000120,3000121,3000122,3000123,3000124,3000125,3000126,3000127,3000128,3000129,3000130,3000131,3000132,3000133,3000134,3000135,3000136,3000137,3000138,3000139,3000140,3000141,3000142,3000143,3000144,3000145,3000146,3000147,3000148,3000149,3000150,3000151,3000152,3000153,3000154,3000155,3000156,3000157,3000158,3000159,3000160,3000161,3000162,3000163,3000164,3000165,3000166,3000167,3000168,3000169,3000170,3000171,3000172,3000173,3000174,3000175,3000176,3000177,3000178,3000179,3000180,3000181,3000182,3000183,3000184,3000185,3000186,3000187,3000188,3000189,3000190,3000191,3000192,3000193,3000194,3000195,3000196,3000197,3000198,3000199,3000200,3000201,3000202,3000203,3000204,3000205,3000206,3000207,3000208,3000209,3000210,3000211,3000212,3000213,3000214,3000215,3000216,3000217,3000218,3000219,3000220,3000221,3000222,3000223,3000224,3000225,3000226,3000227,3000228,3000229,3000230,3000231,3000232,3000233,3000234,3000235,3000236,3000237,3000238,3000239,3000240,3000241,3000242,3000243,3000244,3000245,3000246,3000247,3000248,3000249,3000250,3000251,3000252,3000253,3000254,3000255,3000256,3000257,3000258,3000259,3000260,3000261,3000262,3000263,3000264,3000265,3000266,3000267,3000268,3000269,3000270,3000271,3000272,3000273,3000274,3000275,3000276,3000277,3000278,3000279,3000280,3000281,3000282,3000283,3000284,3000285,3000286,3000287,3000288,3000289,3000290,3000291,3000292,3000293,3000294,3000295,3000296,3000297,3000298,3000299,3000300,3000301,3000302,3000303,3000304,3000305,3000306,3000307,3000308,3000309,3000310,3000311,3000312,3000313,3000314,3000315,3000316,3000317,3000318,3000319,3000320,3000321,3000322,3000323,3000324,3000325,3000326,3000327,3000328,3000329,3000330,3000331,3000332,3000333,3000334,3000335,3000336,3000337,3000338,3000339,3000340,3000341,3000342,3000343,3000344,3000345,3000346,3000347,3000348,3000349,3000350,3000351,3000352,3000353,3000354,3000355,3000356,3000357,3000358,3000359,3000360,3000361,3000362,3000363,3000364,3000365,3000366,3000367,3000368,3000369,3000370,3000371,3000372,3000373,3000374,3000375,3000376,3000377,3000378,3000379,3000380,3000381,3000382,3000383,3000384,3000385,3000386,3000387,3000388,3000389,3000390,3000391,3000392,3000393,3000394,3000395,3000396,3000397,3000398,3000399,3000400,3000401,3000402,3000403,3000404,3000405,3000406,3000407,3000408,3000409,3000410,3000411,3000412,3000413,3000414,3000415,3000416,3000417,3000418,3000419,3000420,3000421,3000422,3000423,3000424,3000425,3000426,3000427,3000428,3000429,3000430,3000431,3000432,3000433,3000434,3000435,3000436,3000437,3000438,3000439,3000440,3000441,3000442,3000443,3000444,3000445,3000446,3000447,3000448,3000449,3000450,3000451,3000452,3000453,3000454,3000455,3000456,3000457,3000458,3000459,3000460,3000461,3000462,3000463,3000464,3000465,3000466,3000467,3000468,3000469,3000470,3000471,3000472,3000473,3000474,3000475,3000476,3000477,3000478,3000479,3000480,3000481,3000482,3000483,3000484,3000485,3000486,3000487,3000488,3000489,3000490,3000491,3000492,3000493,3000494,3000495,3000496,3000497,3000498,3000499,3000500,3000501,3000502,3000503,3000504,3000505,3000506,3000507,3000508,3000509,3000510,3000511,3000512,3000513,3000514,3000515,3000516,3000517,3000518,3000519,3000520,3000521,3000522,3000523,3000524,3000525,3000526,3000527,3000528,3000529,3000530,3000531,3000532,3000533,3000534,3000535,3000536,3000537,3000538,3000539,3000540,3000541,3000542,3000543,3000544,3000545,3000546,3000547,3000548,3000549,3000550,3000551,3000552,3000553,3000554,3000555,3000556,3000557,3000558,3000559,3000560,3000561,3000562,3000563,3000564,3000565,3000566,3000567,3000568,3000569,3000570,3000571,3000572,3000573,3000574,3000575,3000576,3000577,3000578,3000579,3000580,3000581,3000582,3000583,3000584,3000585,3000586,3000587,3000588,3000589,3000590,3000591,3000592,3000593,3000594,3000595,3000596,3000597,3000598,3000599,3000600,3000601,3000602,3000603,3000604,3000605,3000606,3000607,3000608,3000609,3000610,3000611,3000612,3000613,3000614,3000615,3000616,3000617,3000618,3000619,3000620,3000621,3000622,3000623,3000624,3000625,3000626,3000627,3000628,3000629,3000630,3000631,3000632,3000633,3000634,3000635,3000636,3000637,3000638,3000639,3000640,3000641,3000642,3000643,3000644,3000645,3000646,3000647,3000648,3000649,3000650,3000651,3000652,3000653,3000654,3000655,3000656,3000657,3000658,3000659,3000660,3000661,3000662,3000663,3000664,3000665,3000666,3000667,3000668,3000669,3000670,3000671,3000672,3000673,3000674,3000675,3000676,3000677,3000678,3000679,3000680,3000681,3000682,3000683,3000684,3000685,3000686,3000687,3000688,3000689,3000690,3000691,3000692,3000693,3000694,3000695,3000696,3000697,3000698,3000699,3000700,3000701,3000702,3000703,3000704,3000705,3000706,3000707,3000708,3000709,3000710,3000711,3000712,3000713,3000714,3000715,3000716,3000717,3000718,3000719,3000720,3000721,3000722,3000723,3000724,3000725,3000726,3000727,3000728,3000729,3000730,3000731,3000732,3000733,3000734,3000735,3000736,3000737,3000738,3000739,3000740,3000741,3000742,3000743,3000744,3000745,3000746,3000747,3000748,3000749,3000750,3000751,3000752,3000753,3000754,3000755,3000756,3000757,3000758,3000759,3000760,3000761,3000762,3000763,3000764,3000765,3000766,3000767,3000768,3000769,3000770,3000771,3000772,3000773,3000774,3000775,3000776,3000777,3000778,3000779,3000780,3000781,3000782,3000783,3000784,3000785,3000786,3000787,3000788,3000789,3000790,3000791,3000792,3000793,3000794,3000795,3000796,3000797,3000798,3000799,3000800,3000801,3000802,3000803,3000804,3000805,3000806,3000807,3000808,3000809,3000810,3000811,3000812,3000813,3000814,3000815,3000816,3000817,3000818,3000819,3000820,3000821,3000822,3000823,3000824,3000825,3000826,3000827,3000828,3000829,3000830,3000831,3000832,3000833,3000834,3000835,3000836,3000837,3000838,3000839,3000840,3000841,3000842,3000843,3000844,3000845,3000846,3000847,3000848,3000849,3000850,3000851,3000852,3000853,3000854,3000855,3000856,3000857,3000858,3000859,3000860,3000861,3000862,3000863,3000864,3000865,3000866,3000867,3000868,3000869,3000870,3000871,3000872,3000873,3000874,3000875,3000876,3000877,3000878,3000879,3000880,3000881,3000882,3000883,3000884,3000885,3000886,3000887,3000888,3000889,3000890,3000891,3000892,3000893,3000894,3000895,3000896,3000897,3000898,3000899,3000900,3000901,3000902,3000903,3000904,3000905,3000906,3000907,3000908,3000909,3000910,3000911,3000912,3000913,3000914,3000915,3000916,3000917,3000918,3000919,3000920,3000921,3000922,3000923,3000924,3000925,3000926,3000927,3000928,3000929,3000930,3000931,3000932,3000933,3000934,3000935,3000936,3000937,3000938,3000939,3000940,3000941,3000942,3000943,3000944,3000945,3000946,3000947,3000948,3000949,3000950,3000951,3000952,3000953,3000954,3000955,3000956,3000957,3000958,3000959,3000960,3000961,3000962,3000963,3000964,3000965,3000966,3000967,3000968,3000969,3000970,3000971,3000972,3000973,3000974,3000975,3000976,3000977,3000978,3000979,3000980,3000981,3000982,3000983,3000984,3000985,3000986,3000987,3000988,3000989,3000990,3000991,3000992,3000993,3000994,3000995,3000996,3000997,3000998,3000999,3001000,4000001,4000002,4000003,4000004,4000005,4000006,4000007,4000008,4000009,4000010,4000011,4000012,4000013,4000014,4000015,4000016,4000017,4000018,4000019,4000020,4000021,4000022,4000023,4000024,4000025,4000026,4000027,4000028,4000029,4000030,4000031,4000032,4000033,4000034,4000035,4000036,4000037,4000038,4000039,4000040,4000041,4000042,4000043,4000044,4000045,4000046,4000047,4000048,4000049,4000050,4000051,4000052,4000053,4000054,4000055,4000056,4000057,4000058,4000059,4000060,4000061,4000062,4000063,4000064,4000065,4000066,4000067,4000068,4000069,4000070,4000071,4000072,4000073,4000074,4000075,4000076,4000077,4000078,4000079,4000080,4000081,4000082,4000083,4000084,4000085,4000086,4000087,4000088,4000089,4000090,4000091,4000092,4000093,4000094,4000095,4000096,4000097,4000098,4000099,4000100,4000101,4000102,4000103,4000104,4000105,4000106,4000107,4000108,4000109,4000110,4000111,4000112,4000113,4000114,4000115,4000116,4000117,4000118,4000119,4000120,4000121,4000122,4000123,4000124,4000125,4000126,4000127,4000128,4000129,4000130,4000131,4000132,4000133,4000134,4000135,4000136,4000137,4000138,4000139,4000140,4000141,4000142,4000143,4000144,4000145,4000146,4000147,4000148,4000149,4000150,4000151,4000152,4000153,4000154,4000155,4000156,4000157,4000158,4000159,4000160,4000161,4000162,4000163,4000164,4000165,4000166,4000167,4000168,4000169,4000170,4000171,4000172,4000173,4000174,4000175,4000176,4000177,4000178,4000179,4000180,4000181,4000182,4000183,4000184,4000185,4000186,4000187,4000188,4000189,4000190,4000191,4000192,4000193,4000194,4000195,4000196,4000197,4000198,4000199,4000200,4000201,4000202,4000203,4000204,4000205,4000206,4000207,4000208,4000209,4000210,4000211,4000212,4000213,4000214,4000215,4000216,4000217,4000218,4000219,4000220,4000221,4000222,4000223,4000224,4000225,4000226,4000227,4000228,4000229,4000230,4000231,4000232,4000233,4000234,4000235,4000236,4000237,4000238,4000239,4000240,4000241,4000242,4000243,4000244,4000245,4000246,4000247,4000248,4000249,4000250,4000251,4000252,4000253,4000254,4000255,4000256,4000257,4000258,4000259,4000260,4000261,4000262,4000263,4000264,4000265,4000266,4000267,4000268,4000269,4000270,4000271,4000272,4000273,4000274,4000275,4000276,4000277,4000278,4000279,4000280,4000281,4000282,4000283,4000284,4000285,4000286,4000287,4000288,4000289,4000290,4000291,4000292,4000293,4000294,4000295,4000296,4000297,4000298,4000299,4000300,4000301,4000302,4000303,4000304,4000305,4000306,4000307,4000308,4000309,4000310,4000311,4000312,4000313,4000314,4000315,4000316,4000317,4000318,4000319,4000320,4000321,4000322,4000323,4000324,4000325,4000326,4000327,4000328,4000329,4000330,4000331,4000332,4000333,4000334,4000335,4000336,4000337,4000338,4000339,4000340,4000341,4000342,4000343,4000344,4000345,4000346,4000347,4000348,4000349,4000350,4000351,4000352,4000353,4000354,4000355,4000356,4000357,4000358,4000359,4000360,4000361,4000362,4000363,4000364,4000365,4000366,4000367,4000368,4000369,4000370,4000371,4000372,4000373,4000374,4000375,4000376,4000377,4000378,4000379,4000380,4000381,4000382,4000383,4000384,4000385,4000386,4000387,4000388,4000389,4000390,4000391,4000392,4000393,4000394,4000395,4000396,4000397,4000398,4000399,4000400,4000401,4000402,4000403,4000404,4000405,4000406,4000407,4000408,4000409,4000410,4000411,4000412,4000413,4000414,4000415,4000416,4000417,4000418,4000419,4000420,4000421,4000422,4000423,4000424,4000425,4000426,4000427,4000428,4000429,4000430,4000431,4000432,4000433,4000434,4000435,4000436,4000437,4000438,4000439,4000440,4000441,4000442,4000443,4000444,4000445,4000446,4000447,4000448,4000449,4000450,4000451,4000452,4000453,4000454,4000455,4000456,4000457,4000458,4000459,4000460,4000461,4000462,4000463,4000464,4000465,4000466,4000467,4000468,4000469,4000470,4000471,4000472,4000473,4000474,4000475,4000476,4000477,4000478,4000479,4000480,4000481,4000482,4000483,4000484,4000485,4000486,4000487,4000488,4000489,4000490,4000491,4000492,4000493,4000494,4000495,4000496,4000497,4000498,4000499,4000500,4000501,4000502,4000503,4000504,4000505,4000506,4000507,4000508,4000509,4000510,4000511,4000512,4000513,4000514,4000515,4000516,4000517,4000518,4000519,4000520,4000521,4000522,4000523,4000524,4000525,4000526,4000527,4000528,4000529,4000530,4000531,4000532,4000533,4000534,4000535,4000536,4000537,4000538,4000539,4000540,4000541,4000542,4000543,4000544,4000545,4000546,4000547,4000548,4000549,4000550,4000551,4000552,4000553,4000554,4000555,4000556,4000557,4000558,4000559,4000560,4000561,4000562,4000563,4000564,4000565,4000566,4000567,4000568,4000569,4000570,4000571,4000572,4000573,4000574,4000575,4000576,4000577,4000578,4000579,4000580,4000581,4000582,4000583,4000584,4000585,4000586,4000587,4000588,4000589,4000590,4000591,4000592,4000593,4000594,4000595,4000596,4000597,4000598,4000599,4000600,4000601,4000602,4000603,4000604,4000605,4000606,4000607,4000608,4000609,4000610,4000611,4000612,4000613,4000614,4000615,4000616,4000617,4000618,4000619,4000620,4000621,4000622,4000623,4000624,4000625,4000626,4000627,4000628,4000629,4000630,4000631,4000632,4000633,4000634,4000635,4000636,4000637,4000638,4000639,4000640,4000641,4000642,4000643,4000644,4000645,4000646,4000647,4000648,4000649,4000650,4000651,4000652,4000653,4000654,4000655,4000656,4000657,4000658,4000659,4000660,4000661,4000662,4000663,4000664,4000665,4000666,4000667,4000668,4000669,4000670,4000671,4000672,4000673,4000674,4000675,4000676,4000677,4000678,4000679,4000680,4000681,4000682,4000683,4000684,4000685,4000686,4000687,4000688,4000689,4000690,4000691,4000692,4000693,4000694,4000695,4000696,4000697,4000698,4000699,4000700,4000701,4000702,4000703,4000704,4000705,4000706,4000707,4000708,4000709,4000710,4000711,4000712,4000713,4000714,4000715,4000716,4000717,4000718,4000719,4000720,4000721,4000722,4000723,4000724,4000725,4000726,4000727,4000728,4000729,4000730,4000731,4000732,4000733,4000734,4000735,4000736,4000737,4000738,4000739,4000740,4000741,4000742,4000743,4000744,4000745,4000746,4000747,4000748,4000749,4000750,4000751,4000752,4000753,4000754,4000755,4000756,4000757,4000758,4000759,4000760,4000761,4000762,4000763,4000764,4000765,4000766,4000767,4000768,4000769,4000770,4000771,4000772,4000773,4000774,4000775,4000776,4000777,4000778,4000779,4000780,4000781,4000782,4000783,4000784,4000785,4000786,4000787,4000788,4000789,4000790,4000791,4000792,4000793,4000794,4000795,4000796,4000797,4000798,4000799,4000800,4000801,4000802,4000803,4000804,4000805,4000806,4000807,4000808,4000809,4000810,4000811,4000812,4000813,4000814,4000815,4000816,4000817,4000818,4000819,4000820,4000821,4000822,4000823,4000824,4000825,4000826,4000827,4000828,4000829,4000830,4000831,4000832,4000833,4000834,4000835,4000836,4000837,4000838,4000839,4000840,4000841,4000842,4000843,4000844,4000845,4000846,4000847,4000848,4000849,4000850,4000851,4000852,4000853,4000854,4000855,4000856,4000857,4000858,4000859,4000860,4000861,4000862,4000863,4000864,4000865,4000866,4000867,4000868,4000869,4000870,4000871,4000872,4000873,4000874,4000875,4000876,4000877,4000878,4000879,4000880,4000881,4000882,4000883,4000884,4000885,4000886,4000887,4000888,4000889,4000890,4000891,4000892,4000893,4000894,4000895,4000896,4000897,4000898,4000899,4000900,4000901,4000902,4000903,4000904,4000905,4000906,4000907,4000908,4000909,4000910,4000911,4000912,4000913,4000914,4000915,4000916,4000917,4000918,4000919,4000920,4000921,4000922,4000923,4000924,4000925,4000926,4000927,4000928,4000929,4000930,4000931,4000932,4000933,4000934,4000935,4000936,4000937,4000938,4000939,4000940,4000941,4000942,4000943,4000944,4000945,4000946,4000947,4000948,4000949,4000950,4000951,4000952,4000953,4000954,4000955,4000956,4000957,4000958,4000959,4000960,4000961,4000962,4000963,4000964,4000965,4000966,4000967,4000968,4000969,4000970,4000971,4000972,4000973,4000974,4000975,4000976,4000977,4000978,4000979,4000980,4000981,4000982,4000983,4000984,4000985,4000986,4000987,4000988,4000989,4000990,4000991,4000992,4000993,4000994,4000995,4000996,4000997,4000998,4000999,4001000,5000002,5000003,5000004,5000005,5000006,5000007,5000008,5000009,5000010,5000011,5000012,5000013,5000014,5000015,5000016,5000017,5000018,5000019,5000020,5000021,5000022,5000023,5000024,5000025,5000026,5000027,5000028,5000029,5000030,5000031,5000032,5000033,5000034,5000035,5000036,5000037,5000038,5000039,5000040,5000041,5000042,5000043,5000044,5000045,5000046,5000047,5000048,5000049,5000050,5000051,5000052,5000053,5000054,5000055,5000056,5000057,5000058,5000059,5000060,5000061,5000062,5000063,5000064,5000065,5000066,5000067,5000068,5000069,5000070,5000071,5000072,5000073,5000074,5000075,5000076,5000077,5000078,5000079,5000080,5000081,5000082,5000083,5000084,5000085,5000086,5000087,5000088,5000089,5000090,5000091,5000092,5000093,5000094,5000095,5000096,5000097,5000098,5000099,5000100,5000101,5000102,5000103,5000104,5000105,5000106,5000107,5000108,5000109,5000110,5000111,5000112,5000113,5000114,5000115,5000116,5000117,5000118,5000119,5000120,5000121,5000122,5000123,5000124,5000125,5000126,5000127,5000128,5000129,5000130,5000131,5000132,5000133,5000134,5000135,5000136,5000137,5000138,5000139,5000140,5000141,5000142,5000143,5000144,5000145,5000146,5000147,5000148,5000149,5000150,5000151,5000152,5000153,5000154,5000155,5000156,5000157,5000158,5000159,5000160,5000161,5000162,5000163,5000164,5000165,5000166,5000167,5000168,5000169,5000170,5000171,5000172,5000173,5000174,5000175,5000176,5000177,5000178,5000179,5000180,5000181,5000182,5000183,5000184,5000185,5000186,5000187,5000188,5000189,5000190,5000191,5000192,5000193,5000194,5000195,5000196,5000197,5000198,5000199,5000200,5000201,5000202,5000203,5000204,5000205,5000206,5000207,5000208,5000209,5000210,5000211,5000212,5000213,5000214,5000215,5000216,5000217,5000218,5000219,5000220,5000221,5000222,5000223,5000224,5000225,5000226,5000227,5000228,5000229,5000230,5000231,5000232,5000233,5000234,5000235,5000236,5000237,5000238,5000239,5000240,5000241,5000242,5000243,5000244,5000245,5000246,5000247,5000248,5000249,5000250,5000251,5000252,5000253,5000254,5000255,5000256,5000257,5000258,5000259,5000260,5000261,5000262,5000263,5000264,5000265,5000266,5000267,5000268,5000269,5000270,5000271,5000272,5000273,5000274,5000275,5000276,5000277,5000278,5000279,5000280,5000281,5000282,5000283,5000284,5000285,5000286,5000287,5000288,5000289,5000290,5000291,5000292,5000293,5000294,5000295,5000296,5000297,5000298,5000299,5000300,5000301,5000302,5000303,5000304,5000305,5000306,5000307,5000308,5000309,5000310,5000311,5000312,5000313,5000314,5000315,5000316,5000317,5000318,5000319,5000320,5000321,5000322,5000323,5000324,5000325,5000326,5000327,5000328,5000329,5000330,5000331,5000332,5000333,5000334,5000335,5000336,5000337,5000338,5000339,5000340,5000341,5000342,5000343,5000344,5000345,5000346,5000347,5000348,5000349,5000350,5000351,5000352,5000353,5000354,5000355,5000356,5000357,5000358,5000359,5000360,5000361,5000362,5000363,5000364,5000365,5000366,5000367,5000368,5000369,5000370,5000371,5000372,5000373,5000374,5000375,5000376,5000377,5000378,5000379,5000380,5000381,5000382,5000383,5000384,5000385,5000386,5000387,5000388,5000389,5000390,5000391,5000392,5000393,5000394,5000395,5000396,5000397,5000398,5000399,5000400,5000401,5000402,5000403,5000404,5000405,5000406,5000407,5000408,5000409,5000410,5000411,5000412,5000413,5000414,5000415,5000416,5000417,5000418,5000419,5000420,5000421,5000422,5000423,5000424,5000425,5000426,5000427,5000428,5000429,5000430,5000431,5000432,5000433,5000434,5000435,5000436,5000437,5000438,5000439,5000440,5000441,5000442,5000443,5000444,5000445,5000446,5000447,5000448,5000449,5000450,5000451,5000452,5000453,5000454,5000455,5000456,5000457,5000458,5000459,5000460,5000461,5000462,5000463,5000464,5000465,5000466,5000467,5000468,5000469,5000470,5000471,5000472,5000473,5000474,5000475,5000476,5000477,5000478,5000479,5000480,5000481,5000482,5000483,5000484,5000485,5000486,5000487,5000488,5000489,5000490,5000491,5000492,5000493,5000494,5000495,5000496,5000497,5000498,5000499,5000500,5000501,5000502,5000503,5000504,5000505,5000506,5000507,5000508,5000509,5000510,5000511,5000512,5000513,5000514,5000515,5000516,5000517,5000518,5000519,5000520,5000521,5000522,5000523,5000524,5000525,5000526,5000527,5000528,5000529,5000530,5000531,5000532,5000533,5000534,5000535,5000536,5000537,5000538,5000539,5000540,5000541,5000542,5000543,5000544,5000545,5000546,5000547,5000548,5000549,5000550,5000551,5000552,5000553,5000554,5000555,5000556,5000557,5000558,5000559,5000560,5000561,5000562,5000563,5000564,5000565,5000566,5000567,5000568,5000569,5000570,5000571,5000572,5000573,5000574,5000575,5000576,5000577,5000578,5000579,5000580,5000581,5000582,5000583,5000584,5000585,5000586,5000587,5000588,5000589,5000590,5000591,5000592,5000593,5000594,5000595,5000596,5000597,5000598,5000599,5000600,5000601,5000602,5000603,5000604,5000605,5000606,5000607,5000608,5000609,5000610,5000611,5000612,5000613,5000614,5000615,5000616,5000617,5000618,5000619,5000620,5000621,5000622,5000623,5000624,5000625,5000626,5000627,5000628,5000629,5000630,5000631,5000632,5000633,5000634,5000635,5000636,5000637,5000638,5000639,5000640,5000641,5000642,5000643,5000644,5000645,5000646,5000647,5000648,5000649,5000650,5000651,5000652,5000653,5000654,5000655,5000656,5000657,5000658,5000659,5000660,5000661,5000662,5000663,5000664,5000665,5000666,5000667,5000668,5000669,5000670,5000671,5000672,5000673,5000674,5000675,5000676,5000677,5000678,5000679,5000680,5000681,5000682,5000683,5000684,5000685,5000686,5000687,5000688,5000689,5000690,5000691,5000692,5000693,5000694,5000695,5000696,5000697,5000698,5000699,5000700,5000701,5000702,5000703,5000704,5000705,5000706,5000707,5000708,5000709,5000710,5000711,5000712,5000713,5000714,5000715,5000716,5000717,5000718,5000719,5000720,5000721,5000722,5000723,5000724,5000725,5000726,5000727,5000728,5000729,5000730,5000731,5000732,5000733,5000734,5000735,5000736,5000737,5000738,5000739,5000740,5000741,5000742,5000743,5000744,5000745,5000746,5000747,5000748,5000749,5000750,5000751,5000752,5000753,5000754,5000755,5000756,5000757,5000758,5000759,5000760,5000761,5000762,5000763,5000764,5000765,5000766,5000767,5000768,5000769,5000770,5000771,5000772,5000773,5000774,5000775,5000776,5000777,5000778,5000779,5000780,5000781,5000782,5000783,5000784,5000785,5000786,5000787,5000788,5000789,5000790,5000791,5000792,5000793,5000794,5000795,5000796,5000797,5000798,5000799,5000800,5000801,5000802,5000803,5000804,5000805,5000806,5000807,5000808,5000809,5000810,5000811,5000812,5000813,5000814,5000815,5000816,5000817,5000818,5000819,5000820,5000821,5000822,5000823,5000824,5000825,5000826,5000827,5000828,5000829,5000830,5000831,5000832,5000833,5000834,5000835,5000836,5000837,5000838,5000839,5000840,5000841,5000842,5000843,5000844,5000845,5000846,5000847,5000848,5000849,5000850,5000851,5000852,5000853,5000854,5000855,5000856,5000857,5000858,5000859,5000860,5000861,5000862,5000863,5000864,5000865,5000866,5000867,5000868,5000869,5000870,5000871,5000872,5000873,5000874,5000875,5000876,5000877,5000878,5000879,5000880,5000881,5000882,5000883,5000884,5000885,5000886,5000887,5000888,5000889,5000890,5000891,5000892,5000893,5000894,5000895,5000896,5000897,5000898,5000899,5000900,5000901,5000902,5000903,5000904,5000905,5000906,5000907,5000908,5000909,5000910,5000911,5000912,5000913,5000914,5000915,5000916,5000917,5000918,5000919,5000920,5000921,5000922,5000923,5000924,5000925,5000926,5000927,5000928,5000929,5000930,5000931,5000932,5000933,5000934,5000935,5000936,5000937,5000938,5000939,5000940,5000941,5000942,5000943,5000944,5000945,5000946,5000947,5000948,5000949,5000950,5000951,5000952,5000953,5000954,5000955,5000956,5000957,5000958,5000959,5000960,5000961,5000962,5000963,5000964,5000965,5000966,5000967,5000968,5000969,5000970,5000971,5000972,5000973,5000974,5000975,5000976,5000977,5000978,5000979,5000980,5000981,5000982,5000983,5000984,5000985,5000986,5000987,5000988,5000989,5000990,5000991,5000992,5000993,5000994,5000995,5000996,5000997,5000998,5000999,5001000,6000001,6000002,6000003,6000004,6000005,6000006,6000007,6000008,6000009,6000010,6000011,6000012,6000013,6000014,6000015,6000016,6000017,6000018,6000019,6000020,6000021,6000022,6000023,6000024,6000025,6000026,6000027,6000028,6000029,6000030,6000031,6000032,6000033,6000034,6000035,6000036,6000037,6000038,6000039,6000040,6000041,6000042,6000043,6000044,6000045,6000046,6000047,6000048,6000049,6000050,6000051,6000052,6000053,6000054,6000055,6000056,6000057,6000058,6000059,6000060,6000061,6000062,6000063,6000064,6000065,6000066,6000067,6000068,6000069,6000070,6000071,6000072,6000073,6000074,6000075,6000076,6000077,6000078,6000079,6000080,6000081,6000082,6000083,6000084,6000085,6000086,6000087,6000088,6000089,6000090,6000091,6000092,6000093,6000094,6000095,6000096,6000097,6000098,6000099,6000100,6000101,6000102,6000103,6000104,6000105,6000106,6000107,6000108,6000109,6000110,6000111,6000112,6000113,6000114,6000115,6000116,6000117,6000118,6000119,6000120,6000121,6000122,6000123,6000124,6000125,6000126,6000127,6000128,6000129,6000130,6000131,6000132,6000133,6000134,6000135,6000136,6000137,6000138,6000139,6000140,6000141,6000142,6000143,6000144,6000145,6000146,6000147,6000148,6000149,6000150,6000151,6000152,6000153,6000154,6000155,6000156,6000157,6000158,6000159,6000160,6000161,6000162,6000163,6000164,6000165,6000166,6000167,6000168,6000169,6000170,6000171,6000172,6000173,6000174,6000175,6000176,6000177,6000178,6000179,6000180,6000181,6000182,6000183,6000184,6000185,6000186,6000187,6000188,6000189,6000190,6000191,6000192,6000193,6000194,6000195,6000196,6000197,6000198,6000199,6000200,6000201,6000202,6000203,6000204,6000205,6000206,6000207,6000208,6000209,6000210,6000211,6000212,6000213,6000214,6000215,6000216,6000217,6000218,6000219,6000220,6000221,6000222,6000223,6000224,6000225,6000226,6000227,6000228,6000229,6000230,6000231,6000232,6000233,6000234,6000235,6000236,6000237,6000238,6000239,6000240,6000241,6000242,6000243,6000244,6000245,6000246,6000247,6000248,6000249,6000250,6000251,6000252,6000253,6000254,6000255,6000256,6000257,6000258,6000259,6000260,6000261,6000262,6000263,6000264,6000265,6000266,6000267,6000268,6000269,6000270,6000271,6000272,6000273,6000274,6000275,6000276,6000277,6000278,6000279,6000280,6000281,6000282,6000283,6000284,6000285,6000286,6000287,6000288,6000289,6000290,6000291,6000292,6000293,6000294,6000295,6000296,6000297,6000298,6000299,6000300,6000301,6000302,6000303,6000304,6000305,6000306,6000307,6000308,6000309,6000310,6000311,6000312,6000313,6000314,6000315,6000316,6000317,6000318,6000319,6000320,6000321,6000322,6000323,6000324,6000325,6000326,6000327,6000328,6000329,6000330,6000331,6000332,6000333,6000334,6000335,6000336,6000337,6000338,6000339,6000340,6000341,6000342,6000343,6000344,6000345,6000346,6000347,6000348,6000349,6000350,6000351,6000352,6000353,6000354,6000355,6000356,6000357,6000358,6000359,6000360,6000361,6000362,6000363,6000364,6000365,6000366,6000367,6000368,6000369,6000370,6000371,6000372,6000373,6000374,6000375,6000376,6000377,6000378,6000379,6000380,6000381,6000382,6000383,6000384,6000385,6000386,6000387,6000388,6000389,6000390,6000391,6000392,6000393,6000394,6000395,6000396,6000397,6000398,6000399,6000400,6000401,6000402,6000403,6000404,6000405,6000406,6000407,6000408,6000409,6000410,6000411,6000412,6000413,6000414,6000415,6000416,6000417,6000418,6000419,6000420,6000421,6000422,6000423,6000424,6000425,6000426,6000427,6000428,6000429,6000430,6000431,6000432,6000433,6000434,6000435,6000436,6000437,6000438,6000439,6000440,6000441,6000442,6000443,6000444,6000445,6000446,6000447,6000448,6000449,6000450,6000451,6000452,6000453,6000454,6000455,6000456,6000457,6000458,6000459,6000460,6000461,6000462,6000463,6000464,6000465,6000466,6000467,6000468,6000469,6000470,6000471,6000472,6000473,6000474,6000475,6000476,6000477,6000478,6000479,6000480,6000481,6000482,6000483,6000484,6000485,6000486,6000487,6000488,6000489,6000490,6000491,6000492,6000493,6000494,6000495,6000496,6000497,6000498,6000499,6000500,6000501,6000502,6000503,6000504,6000505,6000506,6000507,6000508,6000509,6000510,6000511,6000512,6000513,6000514,6000515,6000516,6000517,6000518,6000519,6000520,6000521,6000522,6000523,6000524,6000525,6000526,6000527,6000528,6000529,6000530,6000531,6000532,6000533,6000534,6000535,6000536,6000537,6000538,6000539,6000540,6000541,6000542,6000543,6000544,6000545,6000546,6000547,6000548,6000549,6000550,6000551,6000552,6000553,6000554,6000555,6000556,6000557,6000558,6000559,6000560,6000561,6000562,6000563,6000564,6000565,6000566,6000567,6000568,6000569,6000570,6000571,6000572,6000573,6000574,6000575,6000576,6000577,6000578,6000579,6000580,6000581,6000582,6000583,6000584,6000585,6000586,6000587,6000588,6000589,6000590,6000591,6000592,6000593,6000594,6000595,6000596,6000597,6000598,6000599,6000600,6000601,6000602,6000603,6000604,6000605,6000606,6000607,6000608,6000609,6000610,6000611,6000612,6000613,6000614,6000615,6000616,6000617,6000618,6000619,6000620,6000621,6000622,6000623,6000624,6000625,6000626,6000627,6000628,6000629,6000630,6000631,6000632,6000633,6000634,6000635,6000636,6000637,6000638,6000639,6000640,6000641,6000642,6000643,6000644,6000645,6000646,6000647,6000648,6000649,6000650,6000651,6000652,6000653,6000654,6000655,6000656,6000657,6000658,6000659,6000660,6000661,6000662,6000663,6000664,6000665,6000666,6000667,6000668,6000669,6000670,6000671,6000672,6000673,6000674,6000675,6000676,6000677,6000678,6000679,6000680,6000681,6000682,6000683,6000684,6000685,6000686,6000687,6000688,6000689,6000690,6000691,6000692,6000693,6000694,6000695,6000696,6000697,6000698,6000699,6000700,6000701,6000702,6000703,6000704,6000705,6000706,6000707,6000708,6000709,6000710,6000711,6000712,6000713,6000714,6000715,6000716,6000717,6000718,6000719,6000720,6000721,6000722,6000723,6000724,6000725,6000726,6000727,6000728,6000729,6000730,6000731,6000732,6000733,6000734,6000735,6000736,6000737,6000738,6000739,6000740,6000741,6000742,6000743,6000744,6000745,6000746,6000747,6000748,6000749,6000750,6000751,6000752,6000753,6000754,6000755,6000756,6000757,6000758,6000759,6000760,6000761,6000762,6000763,6000764,6000765,6000766,6000767,6000768,6000769,6000770,6000771,6000772,6000773,6000774,6000775,6000776,6000777,6000778,6000779,6000780,6000781,6000782,6000783,6000784,6000785,6000786,6000787,6000788,6000789,6000790,6000791,6000792,6000793,6000794,6000795,6000796,6000797,6000798,6000799,6000800,6000801,6000802,6000803,6000804,6000805,6000806,6000807,6000808,6000809,6000810,6000811,6000812,6000813,6000814,6000815,6000816,6000817,6000818,6000819,6000820,6000821,6000822,6000823,6000824,6000825,6000826,6000827,6000828,6000829,6000830,6000831,6000832,6000833,6000834,6000835,6000836,6000837,6000838,6000839,6000840,6000841,6000842,6000843,6000844,6000845,6000846,6000847,6000848,6000849,6000850,6000851,6000852,6000853,6000854,6000855,6000856,6000857,6000858,6000859,6000860,6000861,6000862,6000863,6000864,6000865,6000866,6000867,6000868,6000869,6000870,6000871,6000872,6000873,6000874,6000875,6000876,6000877,6000878,6000879,6000880,6000881,6000882,6000883,6000884,6000885,6000886,6000887,6000888,6000889,6000890,6000891,6000892,6000893,6000894,6000895,6000896,6000897,6000898,6000899,6000900,6000901,6000902,6000903,6000904,6000905,6000906,6000907,6000908,6000909,6000910,6000911,6000912,6000913,6000914,6000915,6000916,6000917,6000918,6000919,6000920,6000921,6000922,6000923,6000924,6000925,6000926,6000927,6000928,6000929,6000930,6000931,6000932,6000933,6000934,6000935,6000936,6000937,6000938,6000939,6000940,6000941,6000942,6000943,6000944,6000945,6000946,6000947,6000948,6000949,6000950,6000951,6000952,6000953,6000954,6000955,6000956,6000957,6000958,6000959,6000960,6000961,6000962,6000963,6000964,6000965,6000966,6000967,6000968,6000969,6000970,6000971,6000972,6000973,6000974,6000975,6000976,6000977,6000978,6000979,6000980,6000981,6000982,6000983,6000984,6000985,6000986,6000987,6000988,6000989,6000990,6000991,6000992,6000993,6000994,6000995,6000996,6000997,6000998,6000999,6001000,7000001,7000002,7000003,7000004,7000005,7000006,7000007,7000008,7000009,7000010,7000011,7000012,7000013,7000014,7000015,7000016,7000017,7000018,7000019,7000020,7000021,7000022,7000023,7000024,7000025,7000026,7000027,7000028,7000029,7000030,7000031,7000032,7000033,7000034,7000035,7000036,7000037,7000038,7000039,7000040,7000041,7000042,7000043,7000044,7000045,7000046,7000047,7000048,7000049,7000050,7000051,7000052,7000053,7000054,7000055,7000056,7000057,7000058,7000059,7000060,7000061,7000062,7000063,7000064,7000065,7000066,7000067,7000068,7000069,7000070,7000071,7000072,7000073,7000074,7000075,7000076,7000077,7000078,7000079,7000080,7000081,7000082,7000083,7000084,7000085,7000086,7000087,7000088,7000089,7000090,7000091,7000092,7000093,7000094,7000095,7000096,7000097,7000098,7000099,7000100,7000101,7000102,7000103,7000104,7000105,7000106,7000107,7000108,7000109,7000110,7000111,7000112,7000113,7000114,7000115,7000116,7000117,7000118,7000119,7000120,7000121,7000122,7000123,7000124,7000125,7000126,7000127,7000128,7000129,7000130,7000131,7000132,7000133,7000134,7000135,7000136,7000137,7000138,7000139,7000140,7000141,7000142,7000143,7000144,7000145,7000146,7000147,7000148,7000149,7000150,7000151,7000152,7000153,7000154,7000155,7000156,7000157,7000158,7000159,7000160,7000161,7000162,7000163,7000164,7000165,7000166,7000167,7000168,7000169,7000170,7000171,7000172,7000173,7000174,7000175,7000176,7000177,7000178,7000179,7000180,7000181,7000182,7000183,7000184,7000185,7000186,7000187,7000188,7000189,7000190,7000191,7000192,7000193,7000194,7000195,7000196,7000197,7000198,7000199,7000200,7000201,7000202,7000203,7000204,7000205,7000206,7000207,7000208,7000209,7000210,7000211,7000212,7000213,7000214,7000215,7000216,7000217,7000218,7000219,7000220,7000221,7000222,7000223,7000224,7000225,7000226,7000227,7000228,7000229,7000230,7000231,7000232,7000233,7000234,7000235,7000236,7000237,7000238,7000239,7000240,7000241,7000242,7000243,7000244,7000245,7000246,7000247,7000248,7000249,7000250,7000251,7000252,7000253,7000254,7000255,7000256,7000257,7000258,7000259,7000260,7000261,7000262,7000263,7000264,7000265,7000266,7000267,7000268,7000269,7000270,7000271,7000272,7000273,7000274,7000275,7000276,7000277,7000278,7000279,7000280,7000281,7000282,7000283,7000284,7000285,7000286,7000287,7000288,7000289,7000290,7000291,7000292,7000293,7000294,7000295,7000296,7000297,7000298,7000299,7000300,7000301,7000302,7000303,7000304,7000305,7000306,7000307,7000308,7000309,7000310,7000311,7000312,7000313,7000314,7000315,7000316,7000317,7000318,7000319,7000320,7000321,7000322,7000323,7000324,7000325,7000326,7000327,7000328,7000329,7000330,7000331,7000332,7000333,7000334,7000335,7000336,7000337,7000338,7000339,7000340,7000341,7000342,7000343,7000344,7000345,7000346,7000347,7000348,7000349,7000350,7000351,7000352,7000353,7000354,7000355,7000356,7000357,7000358,7000359,7000360,7000361,7000362,7000363,7000364,7000365,7000366,7000367,7000368,7000369,7000370,7000371,7000372,7000373,7000374,7000375,7000376,7000377,7000378,7000379,7000380,7000381,7000382,7000383,7000384,7000385,7000386,7000387,7000388,7000389,7000390,7000391,7000392,7000393,7000394,7000395,7000396,7000397,7000398,7000399,7000400,7000401,7000402,7000403,7000404,7000405,7000406,7000407,7000408,7000409,7000410,7000411,7000412,7000413,7000414,7000415,7000416,7000417,7000418,7000419,7000420,7000421,7000422,7000423,7000424,7000425,7000426,7000427,7000428,7000429,7000430,7000431,7000432,7000433,7000434,7000435,7000436,7000437,7000438,7000439,7000440,7000441,7000442,7000443,7000444,7000445,7000446,7000447,7000448,7000449,7000450,7000451,7000452,7000453,7000454,7000455,7000456,7000457,7000458,7000459,7000460,7000461,7000462,7000463,7000464,7000465,7000466,7000467,7000468,7000469,7000470,7000471,7000472,7000473,7000474,7000475,7000476,7000477,7000478,7000479,7000480,7000481,7000482,7000483,7000484,7000485,7000486,7000487,7000488,7000489,7000490,7000491,7000492,7000493,7000494,7000495,7000496,7000497,7000498,7000499,7000500,7000501,7000502,7000503,7000504,7000505,7000506,7000507,7000508,7000509,7000510,7000511,7000512,7000513,7000514,7000515,7000516,7000517,7000518,7000519,7000520,7000521,7000522,7000523,7000524,7000525,7000526,7000527,7000528,7000529,7000530,7000531,7000532,7000533,7000534,7000535,7000536,7000537,7000538,7000539,7000540,7000541,7000542,7000543,7000544,7000545,7000546,7000547,7000548,7000549,7000550,7000551,7000552,7000553,7000554,7000555,7000556,7000557,7000558,7000559,7000560,7000561,7000562,7000563,7000564,7000565,7000566,7000567,7000568,7000569,7000570,7000571,7000572,7000573,7000574,7000575,7000576,7000577,7000578,7000579,7000580,7000581,7000582,7000583,7000584,7000585,7000586,7000587,7000588,7000589,7000590,7000591,7000592,7000593,7000594,7000595,7000596,7000597,7000598,7000599,7000600,7000601,7000602,7000603,7000604,7000605,7000606,7000607,7000608,7000609,7000610,7000611,7000612,7000613,7000614,7000615,7000616,7000617,7000618,7000619,7000620,7000621,7000622,7000623,7000624,7000625,7000626,7000627,7000628,7000629,7000630,7000631,7000632,7000633,7000634,7000635,7000636,7000637,7000638,7000639,7000640,7000641,7000642,7000643,7000644,7000645,7000646,7000647,7000648,7000649,7000650,7000651,7000652,7000653,7000654,7000655,7000656,7000657,7000658,7000659,7000660,7000661,7000662,7000663,7000664,7000665,7000666,7000667,7000668,7000669,7000670,7000671,7000672,7000673,7000674,7000675,7000676,7000677,7000678,7000679,7000680,7000681,7000682,7000683,7000684,7000685,7000686,7000687,7000688,7000689,7000690,7000691,7000692,7000693,7000694,7000695,7000696,7000697,7000698,7000699,7000700,7000701,7000702,7000703,7000704,7000705,7000706,7000707,7000708,7000709,7000710,7000711,7000712,7000713,7000714,7000715,7000716,7000717,7000718,7000719,7000720,7000721,7000722,7000723,7000724,7000725,7000726,7000727,7000728,7000729,7000730,7000731,7000732,7000733,7000734,7000735,7000736,7000737,7000738,7000739,7000740,7000741,7000742,7000743,7000744,7000745,7000746,7000747,7000748,7000749,7000750,7000751,7000752,7000753,7000754,7000755,7000756,7000757,7000758,7000759,7000760,7000761,7000762,7000763,7000764,7000765,7000766,7000767,7000768,7000769,7000770,7000771,7000772,7000773,7000774,7000775,7000776,7000777,7000778,7000779,7000780,7000781,7000782,7000783,7000784,7000785,7000786,7000787,7000788,7000789,7000790,7000791,7000792,7000793,7000794,7000795,7000796,7000797,7000798,7000799,7000800,7000801,7000802,7000803,7000804,7000805,7000806,7000807,7000808,7000809,7000810,7000811,7000812,7000813,7000814,7000815,7000816,7000817,7000818,7000819,7000820,7000821,7000822,7000823,7000824,7000825,7000826,7000827,7000828,7000829,7000830,7000831,7000832,7000833,7000834,7000835,7000836,7000837,7000838,7000839,7000840,7000841,7000842,7000843,7000844,7000845,7000846,7000847,7000848,7000849,7000850,7000851,7000852,7000853,7000854,7000855,7000856,7000857,7000858,7000859,7000860,7000861,7000862,7000863,7000864,7000865,7000866,7000867,7000868,7000869,7000870,7000871,7000872,7000873,7000874,7000875,7000876,7000877,7000878,7000879,7000880,7000881,7000882,7000883,7000884,7000885,7000886,7000887,7000888,7000889,7000890,7000891,7000892,7000893,7000894,7000895,7000896,7000897,7000898,7000899,7000900,7000901,7000902,7000903,7000904,7000905,7000906,7000907,7000908,7000909,7000910,7000911,7000912,7000913,7000914,7000915,7000916,7000917,7000918,7000919,7000920,7000921,7000922,7000923,7000924,7000925,7000926,7000927,7000928,7000929,7000930,7000931,7000932,7000933,7000934,7000935,7000936,7000937,7000938,7000939,7000940,7000941,7000942,7000943,7000944,7000945,7000946,7000947,7000948,7000949,7000950,7000951,7000952,7000953,7000954,7000955,7000956,7000957,7000958,7000959,7000960,7000961,7000962,7000963,7000964,7000965,7000966,7000967,7000968,7000969,7000970,7000971,7000972,7000973,7000974,7000975,7000976,7000977,7000978,7000979,7000980,7000981,7000982,7000983,7000984,7000985,7000986,7000987,7000988,7000989,7000990,7000991,7000992,7000993,7000994,7000995,7000996,7000997,7000998,7000999,7001000,8000002,8000003,8000004,8000005,8000006,8000007,8000008,8000009,8000010,8000011,8000012,8000013,8000014,8000015,8000016,8000017,8000018,8000019,8000020,8000021,8000022,8000023,8000024,8000025,8000026,8000027,8000028,8000029,8000030,8000031,8000032,8000033,8000034,8000035,8000036,8000037,8000038,8000039,8000040,8000041,8000042,8000043,8000044,8000045,8000046,8000047,8000048,8000049,8000050,8000051,8000052,8000053,8000054,8000055,8000056,8000057,8000058,8000059,8000060,8000061,8000062,8000063,8000064,8000065,8000066,8000067,8000068,8000069,8000070,8000071,8000072,8000073,8000074,8000075,8000076,8000077,8000078,8000079,8000080,8000081,8000082,8000083,8000084,8000085,8000086,8000087,8000088,8000089,8000090,8000091,8000092,8000093,8000094,8000095,8000096,8000097,8000098,8000099,8000100,8000101,8000102,8000103,8000104,8000105,8000106,8000107,8000108,8000109,8000110,8000111,8000112,8000113,8000114,8000115,8000116,8000117,8000118,8000119,8000120,8000121,8000122,8000123,8000124,8000125,8000126,8000127,8000128,8000129,8000130,8000131,8000132,8000133,8000134,8000135,8000136,8000137,8000138,8000139,8000140,8000141,8000142,8000143,8000144,8000145,8000146,8000147,8000148,8000149,8000150,8000151,8000152,8000153,8000154,8000155,8000156,8000157,8000158,8000159,8000160,8000161,8000162,8000163,8000164,8000165,8000166,8000167,8000168,8000169,8000170,8000171,8000172,8000173,8000174,8000175,8000176,8000177,8000178,8000179,8000180,8000181,8000182,8000183,8000184,8000185,8000186,8000187,8000188,8000189,8000190,8000191,8000192,8000193,8000194,8000195,8000196,8000197,8000198,8000199,8000200,8000201,8000202,8000203,8000204,8000205,8000206,8000207,8000208,8000209,8000210,8000211,8000212,8000213,8000214,8000215,8000216,8000217,8000218,8000219,8000220,8000221,8000222,8000223,8000224,8000225,8000226,8000227,8000228,8000229,8000230,8000231,8000232,8000233,8000234,8000235,8000236,8000237,8000238,8000239,8000240,8000241,8000242,8000243,8000244,8000245,8000246,8000247,8000248,8000249,8000250,8000251,8000252,8000253,8000254,8000255,8000256,8000257,8000258,8000259,8000260,8000261,8000262,8000263,8000264,8000265,8000266,8000267,8000268,8000269,8000270,8000271,8000272,8000273,8000274,8000275,8000276,8000277,8000278,8000279,8000280,8000281,8000282,8000283,8000284,8000285,8000286,8000287,8000288,8000289,8000290,8000291,8000292,8000293,8000294,8000295,8000296,8000297,8000298,8000299,8000300,8000301,8000302,8000303,8000304,8000305,8000306,8000307,8000308,8000309,8000310,8000311,8000312,8000313,8000314,8000315,8000316,8000317,8000318,8000319,8000320,8000321,8000322,8000323,8000324,8000325,8000326,8000327,8000328,8000329,8000330,8000331,8000332,8000333,8000334,8000335,8000336,8000337,8000338,8000339,8000340,8000341,8000342,8000343,8000344,8000345,8000346,8000347,8000348,8000349,8000350,8000351,8000352,8000353,8000354,8000355,8000356,8000357,8000358,8000359,8000360,8000361,8000362,8000363,8000364,8000365,8000366,8000367,8000368,8000369,8000370,8000371,8000372,8000373,8000374,8000375,8000376,8000377,8000378,8000379,8000380,8000381,8000382,8000383,8000384,8000385,8000386,8000387,8000388,8000389,8000390,8000391,8000392,8000393,8000394,8000395,8000396,8000397,8000398,8000399,8000400,8000401,8000402,8000403,8000404,8000405,8000406,8000407,8000408,8000409,8000410,8000411,8000412,8000413,8000414,8000415,8000416,8000417,8000418,8000419,8000420,8000421,8000422,8000423,8000424,8000425,8000426,8000427,8000428,8000429,8000430,8000431,8000432,8000433,8000434,8000435,8000436,8000437,8000438,8000439,8000440,8000441,8000442,8000443,8000444,8000445,8000446,8000447,8000448,8000449,8000450,8000451,8000452,8000453,8000454,8000455,8000456,8000457,8000458,8000459,8000460,8000461,8000462,8000463,8000464,8000465,8000466,8000467,8000468,8000469,8000470,8000471,8000472,8000473,8000474,8000475,8000476,8000477,8000478,8000479,8000480,8000481,8000482,8000483,8000484,8000485,8000486,8000487,8000488,8000489,8000490,8000491,8000492,8000493,8000494,8000495,8000496,8000497,8000498,8000499,8000500,8000501,8000502,8000503,8000504,8000505,8000506,8000507,8000508,8000509,8000510,8000511,8000512,8000513,8000514,8000515,8000516,8000517,8000518,8000519,8000520,8000521,8000522,8000523,8000524,8000525,8000526,8000527,8000528,8000529,8000530,8000531,8000532,8000533,8000534,8000535,8000536,8000537,8000538,8000539,8000540,8000541,8000542,8000543,8000544,8000545,8000546,8000547,8000548,8000549,8000550,8000551,8000552,8000553,8000554,8000555,8000556,8000557,8000558,8000559,8000560,8000561,8000562,8000563,8000564,8000565,8000566,8000567,8000568,8000569,8000570,8000571,8000572,8000573,8000574,8000575,8000576,8000577,8000578,8000579,8000580,8000581,8000582,8000583,8000584,8000585,8000586,8000587,8000588,8000589,8000590,8000591,8000592,8000593,8000594,8000595,8000596,8000597,8000598,8000599,8000600,8000601,8000602,8000603,8000604,8000605,8000606,8000607,8000608,8000609,8000610,8000611,8000612,8000613,8000614,8000615,8000616,8000617,8000618,8000619,8000620,8000621,8000622,8000623,8000624,8000625,8000626,8000627,8000628,8000629,8000630,8000631,8000632,8000633,8000634,8000635,8000636,8000637,8000638,8000639,8000640,8000641,8000642,8000643,8000644,8000645,8000646,8000647,8000648,8000649,8000650,8000651,8000652,8000653,8000654,8000655,8000656,8000657,8000658,8000659,8000660,8000661,8000662,8000663,8000664,8000665,8000666,8000667,8000668,8000669,8000670,8000671,8000672,8000673,8000674,8000675,8000676,8000677,8000678,8000679,8000680,8000681,8000682,8000683,8000684,8000685,8000686,8000687,8000688,8000689,8000690,8000691,8000692,8000693,8000694,8000695,8000696,8000697,8000698,8000699,8000700,8000701,8000702,8000703,8000704,8000705,8000706,8000707,8000708,8000709,8000710,8000711,8000712,8000713,8000714,8000715,8000716,8000717,8000718,8000719,8000720,8000721,8000722,8000723,8000724,8000725,8000726,8000727,8000728,8000729,8000730,8000731,8000732,8000733,8000734,8000735,8000736,8000737,8000738,8000739,8000740,8000741,8000742,8000743,8000744,8000745,8000746,8000747,8000748,8000749,8000750,8000751,8000752,8000753,8000754,8000755,8000756,8000757,8000758,8000759,8000760,8000761,8000762,8000763,8000764,8000765,8000766,8000767,8000768,8000769,8000770,8000771,8000772,8000773,8000774,8000775,8000776,8000777,8000778,8000779,8000780,8000781,8000782,8000783,8000784,8000785,8000786,8000787,8000788,8000789,8000790,8000791,8000792,8000793,8000794,8000795,8000796,8000797,8000798,8000799,8000800,8000801,8000802,8000803,8000804,8000805,8000806,8000807,8000808,8000809,8000810,8000811,8000812,8000813,8000814,8000815,8000816,8000817,8000818,8000819,8000820,8000821,8000822,8000823,8000824,8000825,8000826,8000827,8000828,8000829,8000830,8000831,8000832,8000833,8000834,8000835,8000836,8000837,8000838,8000839,8000840,8000841,8000842,8000843,8000844,8000845,8000846,8000847,8000848,8000849,8000850,8000851,8000852,8000853,8000854,8000855,8000856,8000857,8000858,8000859,8000860,8000861,8000862,8000863,8000864,8000865,8000866,8000867,8000868,8000869,8000870,8000871,8000872,8000873,8000874,8000875,8000876,8000877,8000878,8000879,8000880,8000881,8000882,8000883,8000884,8000885,8000886,8000887,8000888,8000889,8000890,8000891,8000892,8000893,8000894,8000895,8000896,8000897,8000898,8000899,8000900,8000901,8000902,8000903,8000904,8000905,8000906,8000907,8000908,8000909,8000910,8000911,8000912,8000913,8000914,8000915,8000916,8000917,8000918,8000919,8000920,8000921,8000922,8000923,8000924,8000925,8000926,8000927,8000928,8000929,8000930,8000931,8000932,8000933,8000934,8000935,8000936,8000937,8000938,8000939,8000940,8000941,8000942,8000943,8000944,8000945,8000946,8000947,8000948,8000949,8000950,8000951,8000952,8000953,8000954,8000955,8000956,8000957,8000958,8000959,8000960,8000961,8000962,8000963,8000964,8000965,8000966,8000967,8000968,8000969,8000970,8000971,8000972,8000973,8000974,8000975,8000976,8000977,8000978,8000979,8000980,8000981,8000982,8000983,8000984,8000985,8000986,8000987,8000988,8000989,8000990,8000991,8000992,8000993,8000994,8000995,8000996,8000997,8000998,8000999,8001000,9000001,9000002,9000003,9000004,9000005,9000006,9000007,9000008,9000009,9000010,9000011,9000012,9000013,9000014,9000015,9000016,9000017,9000018,9000019,9000020,9000021,9000022,9000023,9000024,9000025,9000026,9000027,9000028,9000029,9000030,9000031,9000032,9000033,9000034,9000035,9000036,9000037,9000038,9000039,9000040,9000041,9000042,9000043,9000044,9000045,9000046,9000047,9000048,9000049,9000050,9000051,9000052,9000053,9000054,9000055,9000056,9000057,9000058,9000059,9000060,9000061,9000062,9000063,9000064,9000065,9000066,9000067,9000068,9000069,9000070,9000071,9000072,9000073,9000074,9000075,9000076,9000077,9000078,9000079,9000080,9000081,9000082,9000083,9000084,9000085,9000086,9000087,9000088,9000089,9000090,9000091,9000092,9000093,9000094,9000095,9000096,9000097,9000098,9000099,9000100,9000101,9000102,9000103,9000104,9000105,9000106,9000107,9000108,9000109,9000110,9000111,9000112,9000113,9000114,9000115,9000116,9000117,9000118,9000119,9000120,9000121,9000122,9000123,9000124,9000125,9000126,9000127,9000128,9000129,9000130,9000131,9000132,9000133,9000134,9000135,9000136,9000137,9000138,9000139,9000140,9000141,9000142,9000143,9000144,9000145,9000146,9000147,9000148,9000149,9000150,9000151,9000152,9000153,9000154,9000155,9000156,9000157,9000158,9000159,9000160,9000161,9000162,9000163,9000164,9000165,9000166,9000167,9000168,9000169,9000170,9000171,9000172,9000173,9000174,9000175,9000176,9000177,9000178,9000179,9000180,9000181,9000182,9000183,9000184,9000185,9000186,9000187,9000188,9000189,9000190,9000191,9000192,9000193,9000194,9000195,9000196,9000197,9000198,9000199,9000200,9000201,9000202,9000203,9000204,9000205,9000206,9000207,9000208,9000209,9000210,9000211,9000212,9000213,9000214,9000215,9000216,9000217,9000218,9000219,9000220,9000221,9000222,9000223,9000224,9000225,9000226,9000227,9000228,9000229,9000230,9000231,9000232,9000233,9000234,9000235,9000236,9000237,9000238,9000239,9000240,9000241,9000242,9000243,9000244,9000245,9000246,9000247,9000248,9000249,9000250,9000251,9000252,9000253,9000254,9000255,9000256,9000257,9000258,9000259,9000260,9000261,9000262,9000263,9000264,9000265,9000266,9000267,9000268,9000269,9000270,9000271,9000272,9000273,9000274,9000275,9000276,9000277,9000278,9000279,9000280,9000281,9000282,9000283,9000284,9000285,9000286,9000287,9000288,9000289,9000290,9000291,9000292,9000293,9000294,9000295,9000296,9000297,9000298,9000299,9000300,9000301,9000302,9000303,9000304,9000305,9000306,9000307,9000308,9000309,9000310,9000311,9000312,9000313,9000314,9000315,9000316,9000317,9000318,9000319,9000320,9000321,9000322,9000323,9000324,9000325,9000326,9000327,9000328,9000329,9000330,9000331,9000332,9000333,9000334,9000335,9000336,9000337,9000338,9000339,9000340,9000341,9000342,9000343,9000344,9000345,9000346,9000347,9000348,9000349,9000350,9000351,9000352,9000353,9000354,9000355,9000356,9000357,9000358,9000359,9000360,9000361,9000362,9000363,9000364,9000365,9000366,9000367,9000368,9000369,9000370,9000371,9000372,9000373,9000374,9000375,9000376,9000377,9000378,9000379,9000380,9000381,9000382,9000383,9000384,9000385,9000386,9000387,9000388,9000389,9000390,9000391,9000392,9000393,9000394,9000395,9000396,9000397,9000398,9000399,9000400,9000401,9000402,9000403,9000404,9000405,9000406,9000407,9000408,9000409,9000410,9000411,9000412,9000413,9000414,9000415,9000416,9000417,9000418,9000419,9000420,9000421,9000422,9000423,9000424,9000425,9000426,9000427,9000428,9000429,9000430,9000431,9000432,9000433,9000434,9000435,9000436,9000437,9000438,9000439,9000440,9000441,9000442,9000443,9000444,9000445,9000446,9000447,9000448,9000449,9000450,9000451,9000452,9000453,9000454,9000455,9000456,9000457,9000458,9000459,9000460,9000461,9000462,9000463,9000464,9000465,9000466,9000467,9000468,9000469,9000470,9000471,9000472,9000473,9000474,9000475,9000476,9000477,9000478,9000479,9000480,9000481,9000482,9000483,9000484,9000485,9000486,9000487,9000488,9000489,9000490,9000491,9000492,9000493,9000494,9000495,9000496,9000497,9000498,9000499,9000500,9000501,9000502,9000503,9000504,9000505,9000506,9000507,9000508,9000509,9000510,9000511,9000512,9000513,9000514,9000515,9000516,9000517,9000518,9000519,9000520,9000521,9000522,9000523,9000524,9000525,9000526,9000527,9000528,9000529,9000530,9000531,9000532,9000533,9000534,9000535,9000536,9000537,9000538,9000539,9000540,9000541,9000542,9000543,9000544,9000545,9000546,9000547,9000548,9000549,9000550,9000551,9000552,9000553,9000554,9000555,9000556,9000557,9000558,9000559,9000560,9000561,9000562,9000563,9000564,9000565,9000566,9000567,9000568,9000569,9000570,9000571,9000572,9000573,9000574,9000575,9000576,9000577,9000578,9000579,9000580,9000581,9000582,9000583,9000584,9000585,9000586,9000587,9000588,9000589,9000590,9000591,9000592,9000593,9000594,9000595,9000596,9000597,9000598,9000599,9000600,9000601,9000602,9000603,9000604,9000605,9000606,9000607,9000608,9000609,9000610,9000611,9000612,9000613,9000614,9000615,9000616,9000617,9000618,9000619,9000620,9000621,9000622,9000623,9000624,9000625,9000626,9000627,9000628,9000629,9000630,9000631,9000632,9000633,9000634,9000635,9000636,9000637,9000638,9000639,9000640,9000641,9000642,9000643,9000644,9000645,9000646,9000647,9000648,9000649,9000650,9000651,9000652,9000653,9000654,9000655,9000656,9000657,9000658,9000659,9000660,9000661,9000662,9000663,9000664,9000665,9000666,9000667,9000668,9000669,9000670,9000671,9000672,9000673,9000674,9000675,9000676,9000677,9000678,9000679,9000680,9000681,9000682,9000683,9000684,9000685,9000686,9000687,9000688,9000689,9000690,9000691,9000692,9000693,9000694,9000695,9000696,9000697,9000698,9000699,9000700,9000701,9000702,9000703,9000704,9000705,9000706,9000707,9000708,9000709,9000710,9000711,9000712,9000713,9000714,9000715,9000716,9000717,9000718,9000719,9000720,9000721,9000722,9000723,9000724,9000725,9000726,9000727,9000728,9000729,9000730,9000731,9000732,9000733,9000734,9000735,9000736,9000737,9000738,9000739,9000740,9000741,9000742,9000743,9000744,9000745,9000746,9000747,9000748,9000749,9000750,9000751,9000752,9000753,9000754,9000755,9000756,9000757,9000758,9000759,9000760,9000761,9000762,9000763,9000764,9000765,9000766,9000767,9000768,9000769,9000770,9000771,9000772,9000773,9000774,9000775,9000776,9000777,9000778,9000779,9000780,9000781,9000782,9000783,9000784,9000785,9000786,9000787,9000788,9000789,9000790,9000791,9000792,9000793,9000794,9000795,9000796,9000797,9000798,9000799,9000800,9000801,9000802,9000803,9000804,9000805,9000806,9000807,9000808,9000809,9000810,9000811,9000812,9000813,9000814,9000815,9000816,9000817,9000818,9000819,9000820,9000821,9000822,9000823,9000824,9000825,9000826,9000827,9000828,9000829,9000830,9000831,9000832,9000833,9000834,9000835,9000836,9000837,9000838,9000839,9000840,9000841,9000842,9000843,9000844,9000845,9000846,9000847,9000848,9000849,9000850,9000851,9000852,9000853,9000854,9000855,9000856,9000857,9000858,9000859,9000860,9000861,9000862,9000863,9000864,9000865,9000866,9000867,9000868,9000869,9000870,9000871,9000872,9000873,9000874,9000875,9000876,9000877,9000878,9000879,9000880,9000881,9000882,9000883,9000884,9000885,9000886,9000887,9000888,9000889,9000890,9000891,9000892,9000893,9000894,9000895,9000896,9000897,9000898,9000899,9000900,9000901,9000902,9000903,9000904,9000905,9000906,9000907,9000908,9000909,9000910,9000911,9000912,9000913,9000914,9000915,9000916,9000917,9000918,9000919,9000920,9000921,9000922,9000923,9000924,9000925,9000926,9000927,9000928,9000929,9000930,9000931,9000932,9000933,9000934,9000935,9000936,9000937,9000938,9000939,9000940,9000941,9000942,9000943,9000944,9000945,9000946,9000947,9000948,9000949,9000950,9000951,9000952,9000953,9000954,9000955,9000956,9000957,9000958,9000959,9000960,9000961,9000962,9000963,9000964,9000965,9000966,9000967,9000968,9000969,9000970,9000971,9000972,9000973,9000974,9000975,9000976,9000977,9000978,9000979,9000980,9000981,9000982,9000983,9000984,9000985,9000986,9000987,9000988,9000989,9000990,9000991,9000992,9000993,9000994,9000995,9000996,9000997,9000998,9000999,9001000,10000001,10000002,10000003,10000004,10000005,10000006,10000007,10000008,10000009,10000010,10000011,10000012,10000013,10000014,10000015,10000016,10000017,10000018,10000019,10000020,10000021,10000022,10000023,10000024,10000025,10000026,10000027,10000028,10000029,10000030,10000031,10000032,10000033,10000034,10000035,10000036,10000037,10000038,10000039,10000040,10000041,10000042,10000043,10000044,10000045,10000046,10000047,10000048,10000049,10000050,10000051,10000052,10000053,10000054,10000055,10000056,10000057,10000058,10000059,10000060,10000061,10000062,10000063,10000064,10000065,10000066,10000067,10000068,10000069,10000070,10000071,10000072,10000073,10000074,10000075,10000076,10000077,10000078,10000079,10000080,10000081,10000082,10000083,10000084,10000085,10000086,10000087,10000088,10000089,10000090,10000091,10000092,10000093,10000094,10000095,10000096,10000097,10000098,10000099,10000100,10000101,10000102,10000103,10000104,10000105,10000106,10000107,10000108,10000109,10000110,10000111,10000112,10000113,10000114,10000115,10000116,10000117,10000118,10000119,10000120,10000121,10000122,10000123,10000124,10000125,10000126,10000127,10000128,10000129,10000130,10000131,10000132,10000133,10000134,10000135,10000136,10000137,10000138,10000139,10000140,10000141,10000142,10000143,10000144,10000145,10000146,10000147,10000148,10000149,10000150,10000151,10000152,10000153,10000154,10000155,10000156,10000157,10000158,10000159,10000160,10000161,10000162,10000163,10000164,10000165,10000166,10000167,10000168,10000169,10000170,10000171,10000172,10000173,10000174,10000175,10000176,10000177,10000178,10000179,10000180,10000181,10000182,10000183,10000184,10000185,10000186,10000187,10000188,10000189,10000190,10000191,10000192,10000193,10000194,10000195,10000196,10000197,10000198,10000199,10000200,10000201,10000202,10000203,10000204,10000205,10000206,10000207,10000208,10000209,10000210,10000211,10000212,10000213,10000214,10000215,10000216,10000217,10000218,10000219,10000220,10000221,10000222,10000223,10000224,10000225,10000226,10000227,10000228,10000229,10000230,10000231,10000232,10000233,10000234,10000235,10000236,10000237,10000238,10000239,10000240,10000241,10000242,10000243,10000244,10000245,10000246,10000247,10000248,10000249,10000250,10000251,10000252,10000253,10000254,10000255,10000256,10000257,10000258,10000259,10000260,10000261,10000262,10000263,10000264,10000265,10000266,10000267,10000268,10000269,10000270,10000271,10000272,10000273,10000274,10000275,10000276,10000277,10000278,10000279,10000280,10000281,10000282,10000283,10000284,10000285,10000286,10000287,10000288,10000289,10000290,10000291,10000292,10000293,10000294,10000295,10000296,10000297,10000298,10000299,10000300,10000301,10000302,10000303,10000304,10000305,10000306,10000307,10000308,10000309,10000310,10000311,10000312,10000313,10000314,10000315,10000316,10000317,10000318,10000319,10000320,10000321,10000322,10000323,10000324,10000325,10000326,10000327,10000328,10000329,10000330,10000331,10000332,10000333,10000334,10000335,10000336,10000337,10000338,10000339,10000340,10000341,10000342,10000343,10000344,10000345,10000346,10000347,10000348,10000349,10000350,10000351,10000352,10000353,10000354,10000355,10000356,10000357,10000358,10000359,10000360,10000361,10000362,10000363,10000364,10000365,10000366,10000367,10000368,10000369,10000370,10000371,10000372,10000373,10000374,10000375,10000376,10000377,10000378,10000379,10000380,10000381,10000382,10000383,10000384,10000385,10000386,10000387,10000388,10000389,10000390,10000391,10000392,10000393,10000394,10000395,10000396,10000397,10000398,10000399,10000400,10000401,10000402,10000403,10000404,10000405,10000406,10000407,10000408,10000409,10000410,10000411,10000412,10000413,10000414,10000415,10000416,10000417,10000418,10000419,10000420,10000421,10000422,10000423,10000424,10000425,10000426,10000427,10000428,10000429,10000430,10000431,10000432,10000433,10000434,10000435,10000436,10000437,10000438,10000439,10000440,10000441,10000442,10000443,10000444,10000445,10000446,10000447,10000448,10000449,10000450,10000451,10000452,10000453,10000454,10000455,10000456,10000457,10000458,10000459,10000460,10000461,10000462,10000463,10000464,10000465,10000466,10000467,10000468,10000469,10000470,10000471,10000472,10000473,10000474,10000475,10000476,10000477,10000478,10000479,10000480,10000481,10000482,10000483,10000484,10000485,10000486,10000487,10000488,10000489,10000490,10000491,10000492,10000493,10000494,10000495,10000496,10000497,10000498,10000499,10000500,10000501,10000502,10000503,10000504,10000505,10000506,10000507,10000508,10000509,10000510,10000511,10000512,10000513,10000514,10000515,10000516,10000517,10000518,10000519,10000520,10000521,10000522,10000523,10000524,10000525,10000526,10000527,10000528,10000529,10000530,10000531,10000532,10000533,10000534,10000535,10000536,10000537,10000538,10000539,10000540,10000541,10000542,10000543,10000544,10000545,10000546,10000547,10000548,10000549,10000550,10000551,10000552,10000553,10000554,10000555,10000556,10000557,10000558,10000559,10000560,10000561,10000562,10000563,10000564,10000565,10000566,10000567,10000568,10000569,10000570,10000571,10000572,10000573,10000574,10000575,10000576,10000577,10000578,10000579,10000580,10000581,10000582,10000583,10000584,10000585,10000586,10000587,10000588,10000589,10000590,10000591,10000592,10000593,10000594,10000595,10000596,10000597,10000598,10000599,10000600,10000601,10000602,10000603,10000604,10000605,10000606,10000607,10000608,10000609,10000610,10000611,10000612,10000613,10000614,10000615,10000616,10000617,10000618,10000619,10000620,10000621,10000622,10000623,10000624,10000625,10000626,10000627,10000628,10000629,10000630,10000631,10000632,10000633,10000634,10000635,10000636,10000637,10000638,10000639,10000640,10000641,10000642,10000643,10000644,10000645,10000646,10000647,10000648,10000649,10000650,10000651,10000652,10000653,10000654,10000655,10000656,10000657,10000658,10000659,10000660,10000661,10000662,10000663,10000664,10000665,10000666,10000667,10000668,10000669,10000670,10000671,10000672,10000673,10000674,10000675,10000676,10000677,10000678,10000679,10000680,10000681,10000682,10000683,10000684,10000685,10000686,10000687,10000688,10000689,10000690,10000691,10000692,10000693,10000694,10000695,10000696,10000697,10000698,10000699,10000700,10000701,10000702,10000703,10000704,10000705,10000706,10000707,10000708,10000709,10000710,10000711,10000712,10000713,10000714,10000715,10000716,10000717,10000718,10000719,10000720,10000721,10000722,10000723,10000724,10000725,10000726,10000727,10000728,10000729,10000730,10000731,10000732,10000733,10000734,10000735,10000736,10000737,10000738,10000739,10000740,10000741,10000742,10000743,10000744,10000745,10000746,10000747,10000748,10000749,10000750,10000751,10000752,10000753,10000754,10000755,10000756,10000757,10000758,10000759,10000760,10000761,10000762,10000763,10000764,10000765,10000766,10000767,10000768,10000769,10000770,10000771,10000772,10000773,10000774,10000775,10000776,10000777,10000778,10000779,10000780,10000781,10000782,10000783,10000784,10000785,10000786,10000787,10000788,10000789,10000790,10000791,10000792,10000793,10000794,10000795,10000796,10000797,10000798,10000799,10000800,10000801,10000802,10000803,10000804,10000805,10000806,10000807,10000808,10000809,10000810,10000811,10000812,10000813,10000814,10000815,10000816,10000817,10000818,10000819,10000820,10000821,10000822,10000823,10000824,10000825,10000826,10000827,10000828,10000829,10000830,10000831,10000832,10000833,10000834,10000835,10000836,10000837,10000838,10000839,10000840,10000841,10000842,10000843,10000844,10000845,10000846,10000847,10000848,10000849,10000850,10000851,10000852,10000853,10000854,10000855,10000856,10000857,10000858,10000859,10000860,10000861,10000862,10000863,10000864,10000865,10000866,10000867,10000868,10000869,10000870,10000871,10000872,10000873,10000874,10000875,10000876,10000877,10000878,10000879,10000880,10000881,10000882,10000883,10000884,10000885,10000886,10000887,10000888,10000889,10000890,10000891,10000892,10000893,10000894,10000895,10000896,10000897,10000898,10000899,10000900,10000901,10000902,10000903,10000904,10000905,10000906,10000907,10000908,10000909,10000910,10000911,10000912,10000913,10000914,10000915,10000916,10000917,10000918,10000919,10000920,10000921,10000922,10000923,10000924,10000925,10000926,10000927,10000928,10000929,10000930,10000931,10000932,10000933,10000934,10000935,10000936,10000937,10000938,10000939,10000940,10000941,10000942,10000943,10000944,10000945,10000946,10000947,10000948,10000949,10000950,10000951,10000952,10000953,10000954,10000955,10000956,10000957,10000958,10000959,10000960,10000961,10000962,10000963,10000964,10000965,10000966,10000967,10000968,10000969,10000970,10000971,10000972,10000973,10000974,10000975,10000976,10000977,10000978,10000979,10000980,10000981,10000982,10000983,10000984,10000985,10000986,10000987,10000988,10000989,10000990,10000991,10000992,10000993,10000994,10000995,10000996,10000997,10000998,10000999,10001000]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING10_1_join_on_2tbls_withfilter_onpkey_grpby_1col
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_1), count(b.col_bigint_id_1) from pkeyBigint1M_1 as a,pkeyBigint1M_2 as b where a.col_bigint_card1_1 in (1000500) and a.col_bigint_id_1=b.col_bigint_id_1 GROUP BY a.col_bigint_card2_1
+
+ - workload: JOING10_2_join_on_3tbls_withfilter_onpkey_grpby_2col
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, a.col_bigint_card2_1, count(b.col_bigint_id_1) from pkeyBigint1M_1 as a,pkeyBigint1M_2 as b,pkeyBigint1M_3 as c where a.col_bigint_card2_1 in (1000500) and a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_1=c.col_bigint_id_1 GROUP BY a.col_bigint_card2_1,a.col_bigint_card1_1
+
+ - workload: JOING10_3_join_on_2tbls_withfilter_onpkey_grpby_2col
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_1), count(b.col_bigint_id_1) from pkeyBigint1M_1 as a,pkeyBigint1M_2 as b where a.col_bigint_card2_1 in (1000500) and a.col_bigint_id_1=b.col_bigint_id_1 GROUP BY a.col_bigint_card2_1
+
+
+ - workload: JOING10_4_join_on_2tbls_withfilter_onpkey_ordby_1col
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 ORDER BY pkeyBigint1M_1.col_bigint_card1_1
+
+ - workload: JOING10_5_join_on_3tbls_withfilter_onpkey_ordby_1col
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1 ORDER BY pkeyBigint1M_1.col_bigint_card1_1
+
+ - workload: JOING10_6_join_on_2tbls_withfilter_onpkey_ordby_2col
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 ORDER BY pkeyBigint1M_1.col_bigint_card1_1,pkeyBigint1M_1.col_bigint_card2_1
+
+ - workload: JOING10_7_join_on_2tbls_withfilter_onpkey_ordby_desc_1col
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projectition=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 ORDER BY pkeyBigint1M_1.col_bigint_card1_1 DESC
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING11_join_groupby_orderby_multiple_loops.yaml b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING11_join_groupby_orderby_multiple_loops.yaml
new file mode 100644
index 000000000..d7130de58
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING11_join_groupby_orderby_multiple_loops.yaml
@@ -0,0 +1,176 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{ username }}
+password: {{ password }}
+isolation: TRANSACTION_REPEATABLE_READ
+batchsize: 128
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M1_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M1_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M1_3;
+ - DROP TABLE IF EXISTS pkeyBigint1Mr_1;
+ - DROP TABLE IF EXISTS pkeyBigint1Mr_2;
+ - CREATE TABLE pkeyBigint1M1_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M1_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M1_3(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1Mr_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint1Mr_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M1_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M1_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M1_3;
+ - DROP TABLE IF EXISTS pkeyBigint1Mr_1;
+ - DROP TABLE IF EXISTS pkeyBigint1Mr_2;
+ loadRules:
+ - table: pkeyBigint1M1_
+ count: 3
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1010001 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: pkeyBigint1Mr_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1010001 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING11_1_join_on_2tbls_withfilter_onpkey_grpby_1col_10k_loops
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projectition=indexed,queryshape=join,joinon=pkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1M1_1 as a,pkeyBigint1M1_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1
+
+ - workload: JOING11_2_join_on_2tbls_withfilter_onpkey_grpby_1col_30k_loops
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projectition=indexed,queryshape=join,joinon=pkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1M1_1 as a,pkeyBigint1M1_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<30000 GROUP BY a.col_bigint_card2_1
+
+ - workload: JOING11_3_join_on_2tbls_withfilter_onpkey_grpby_ordby_1col_10k_loops
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projectition=indexed,queryshape=join,joinon=pkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1M1_1 as a,pkeyBigint1M1_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1 ORDER BY col_bigint_card2_1
+
+ - workload: JOING11_4_join_on_3tbls_withfilter_onpkey_grpby_ordby_1col_10k_loops
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projectition=indexed,queryshape=join,joinon=pkey
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1M1_1 as a,pkeyBigint1M1_2 as b,pkeyBigint1M1_2 as c where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_1=c.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1 order by a.col_bigint_card2_1
+
+ - workload: JOING11_5_join_on_2tbls_range_withfilter_onpkey_grpby_1col_10k_loops
+ customTags: schematype=regular,partition=range,pkey=range,cardinality=single,projectition=indexed,queryshape=join,joinon=pkey
+ run:
+ - name: join_on_pk_2tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1Mr_1 as a,pkeyBigint1Mr_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1
+
+ - workload: JOING11_6_join_on_2tbls_range_withfilter_onpkey_grpby_ordby_1col_10k_loops
+ customTags: schematype=regular,partition=range,pkey=range,cardinality=single,projectition=indexed,queryshape=join,joinon=pkey
+ run:
+ - name: join_on_pk_2tbl
+ weight: 100
+ queries:
+ - query: select a.col_bigint_card2_1, count(a.col_bigint_id_2) from pkeyBigint1Mr_1 as a,pkeyBigint1Mr_2 as b where a.col_bigint_id_1=b.col_bigint_id_1 and a.col_bigint_id_2<10000 GROUP BY a.col_bigint_card2_1 ORDER BY col_bigint_card2_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING12_compate_indexscan_on_rangetbl.yaml b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING12_compate_indexscan_on_rangetbl.yaml
new file mode 100644
index 000000000..e7b133349
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING12_compate_indexscan_on_rangetbl.yaml
@@ -0,0 +1,99 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS JoinG12_Rangetbl_1;
+ - DROP TABLE IF EXISTS JoinG12_Rangetbl_2;
+ - CREATE TABLE JoinG12_Rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON JoinG12_Rangetbl_1(col_bigint_id_2 ASC);
+ - CREATE TABLE JoinG12_Rangetbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON JoinG12_Rangetbl_2(col_bigint_id_2 ASC);
+ cleanup:
+ - DROP TABLE IF EXISTS JoinG12_Rangetbl_1;
+ - DROP TABLE IF EXISTS JoinG12_Rangetbl2;
+
+ loadRules:
+ - table: JoinG12_Rangetbl_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING12_2_indexscan_join_on_skey
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: SELECT t1.col_bigint_id_1, t2.col_bigint_id_1 FROM JoinG12_Rangetbl_1 AS t1 JOIN JoinG12_Rangetbl_2 AS t2 ON t1.col_bigint_id_2 = t2.col_bigint_id_2 where t1.col_bigint_id_2>0 ;
+
+ - workload: JOING12_3_indexonly_join_on_skey
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: SELECT t1.col_bigint_id_2, t2.col_bigint_id_2 FROM JoinG12_Rangetbl_1 AS t1 JOIN JoinG12_Rangetbl_2 AS t2 ON t1.col_bigint_id_2 = t2.col_bigint_id_2 where t1.col_bigint_id_2>0 ;
+
+
+ - workload: JOING12_5_indexscan_join_on_skey_IN
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: SELECT t1.col_bigint_id_1, t2.col_bigint_id_1 FROM JoinG12_Rangetbl_1 AS t1 JOIN JoinG12_Rangetbl_2 AS t2 ON t1.col_bigint_id_2 = t2.col_bigint_id_2 where t1.col_bigint_id_2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ;
+ bindings:
+ split_min_max_for_count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING1_join_on_hash_partitioned_tbl.yaml b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING1_join_on_hash_partitioned_tbl.yaml
new file mode 100644
index 000000000..22f784838
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING1_join_on_hash_partitioned_tbl.yaml
@@ -0,0 +1,144 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Hashtbl_1;
+ - DROP TABLE IF EXISTS Hashtbl_2;
+ - CREATE TABLE Hashtbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Hashtbl_1(col_bigint_id_2);
+ - CREATE INDEX ON Hashtbl_1(col_bigint_id_3 ASC);
+ - CREATE TABLE Hashtbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Hashtbl_2(col_bigint_id_2);
+ - CREATE INDEX ON Hashtbl_2(col_bigint_id_3 ASC);
+ cleanup:
+ - DROP TABLE IF EXISTS Hashtbl_1;
+ - DROP TABLE IF EXISTS Hashtbl2;
+
+ loadRules:
+ - table: Hashtbl_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING1_1_join_on_pk_of_hash_tbl
+ customTags: customer=2,partition=hash,pkey=hash,cardinality=single,projection=indexed,queryshape=join,joinon=hashpkey
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_1,Hashtbl_2.col_bigint_id_1 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_1=Hashtbl_2.col_bigint_id_1
+
+ - workload: JOING1_2_join_on_pk_of_hash_tbl_with_1_filter
+ customTags: partition=hash,pkey=hash,cardinality=single,projection=indexed,filteron=hashpkey,filtercount=one,filtertype=comparision,queryshape=join,joinon=hashpkey
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_1,Hashtbl_2.col_bigint_id_1 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_1=Hashtbl_2.col_bigint_id_1 where Hashtbl_1.col_bigint_id_1<100001
+
+ - workload: JOING1_3_join_on_pk_of_hash_tbl_with_2_filter
+ customTags: customer=1,partition=hash,pkey=hash,cardinality=single,projection=indexed,filteron=hashpkey,filtercount=two,filtertype=comparision,queryshape=join,joinon=hashpkey
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_1,Hashtbl_2.col_bigint_id_1 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_1=Hashtbl_2.col_bigint_id_1 where Hashtbl_1.col_bigint_id_1<100001 and Hashtbl_2.col_bigint_id_1<100001
+
+ - workload: JOING1_4_join_on_hashidx_of_hash_tbl
+ customTags: partition=hash,skey=hash,cardinality=single,projection=indexed,queryshape=join,joinon=hashskey
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_2,Hashtbl_2.col_bigint_id_2 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_2=Hashtbl_2.col_bigint_id_2
+
+ - workload: JOING1_5_join_on_hashidx_of_hash_tbl_with_1_filter
+ customTags: partition=hash,skey=hash,cardinality=single,projection=indexed,filteron=hashskey,filtercount=one,filtertype=comparision,queryshape=join,joinon=hashskey
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_2,Hashtbl_2.col_bigint_id_2 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_2=Hashtbl_2.col_bigint_id_2 where Hashtbl_1.col_bigint_id_2<100001
+
+ - workload: JOING1_6_join_on_rangeidx_of_hash_tbl
+ customTags: partition=hash,skey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangeskey
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_3,Hashtbl_2.col_bigint_id_3 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_3=Hashtbl_2.col_bigint_id_3
+
+ - workload: JOING1_7_join_on_rangeidx_of_hash_tbl_with_1_filter
+ customTags: customer=3,partition=hash,skey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=join,joinon=rangeskey
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_3,Hashtbl_2.col_bigint_id_3 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_3=Hashtbl_2.col_bigint_id_3 where Hashtbl_1.col_bigint_id_3<100001
+
+ - workload: JOING1_8_join_on_nonidx_of_hash_tbl
+ customTags: partition=hash,cardinality=single,projection=nonindexed,queryshape=join,joinon=nonindexed
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_4,Hashtbl_2.col_bigint_id_4 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_4=Hashtbl_2.col_bigint_id_4
+
+ - workload: JOING1_9_join_on_nonidx_of_hash_tbl_with_1_filter
+ customTags: partition=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=join,joinon=nonindexed
+ run:
+ - name: join_on_pk_of_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_4,Hashtbl_2.col_bigint_id_4 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_4=Hashtbl_2.col_bigint_id_4 where Hashtbl_1.col_bigint_id_4<100001
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING2_join_on_range_partitioned_tbl.yaml b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING2_join_on_range_partitioned_tbl.yaml
new file mode 100644
index 000000000..f6f25a714
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING2_join_on_range_partitioned_tbl.yaml
@@ -0,0 +1,119 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Rangetbl_1;
+ - DROP TABLE IF EXISTS Rangetbl_2;
+ - CREATE TABLE Rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON Rangetbl_1(col_bigint_id_2 ASC);
+ - CREATE TABLE Rangetbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON Rangetbl_2(col_bigint_id_2 ASC);
+ cleanup:
+ - DROP TABLE IF EXISTS Rangetbl_1;
+ - DROP TABLE IF EXISTS Rangetbl2;
+
+ loadRules:
+ - table: Rangetbl_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING2_2_join_on_pk_of_range_tbl_with_1_filter
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Rangetbl_2.col_bigint_id_1 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_1=Rangetbl_2.col_bigint_id_1 where Rangetbl_1.col_bigint_id_1<100001
+
+ - workload: JOING2_3_join_on_pk_of_range_tbl_with_2_filter
+ customTags: customer=2,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=two,filteron=rangepkey,filtertype=comparision,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Rangetbl_2.col_bigint_id_1 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_1=Rangetbl_2.col_bigint_id_1 where Rangetbl_1.col_bigint_id_1<100001 and Rangetbl_2.col_bigint_id_1<100001
+
+ - workload: JOING2_4_join_on_rangeidx_of_range_tbl
+ customTags: schematype=regular,partition=range,skey=asc,cardinality=single,projection=indexed,queryshape=join,joinon=rangeskey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_2,Rangetbl_2.col_bigint_id_2 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_2=Rangetbl_2.col_bigint_id_2
+
+ - workload: JOING2_5_join_on_rangeidx_of_range_tbl_with_1_filter
+ customTags: schematype=regular,partition=range,skey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=join,joinon=rangeskey
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_2,Rangetbl_2.col_bigint_id_2 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_2=Rangetbl_2.col_bigint_id_2 where Rangetbl_1.col_bigint_id_2<100001
+
+
+ - workload: JOING2_6_join_on_nonidx_of_range_tbl
+ customTags: schematype=regular,partition=range,cardinality=single,projection=nonindexed,queryshape=join,joinon=nonindexed
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_4,Rangetbl_2.col_bigint_id_4 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_4=Rangetbl_2.col_bigint_id_4
+
+ - workload: JOING2_7_join_on_nonidx_of_range_tbl_with_1_filter
+ customTags: schematype=regular,partition=range,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=join,joinon=nonindexed
+ run:
+ - name: join_on_pk_of_range_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_4,Rangetbl_2.col_bigint_id_4 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_4=Rangetbl_2.col_bigint_id_4 where Rangetbl_1.col_bigint_id_4<100001
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING3_join_predicate_cases.yaml b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING3_join_predicate_cases.yaml
new file mode 100644
index 000000000..1d1cd0566
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING3_join_predicate_cases.yaml
@@ -0,0 +1,207 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS Rangetbl_1;
+ - DROP TABLE IF EXISTS Rangetbl_2;
+ - DROP TABLE IF EXISTS Rangetbl_3;
+ - CREATE TABLE Rangetbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON Rangetbl_1(col_bigint_id_2 ASC);
+ - CREATE TABLE Rangetbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON Rangetbl_2(col_bigint_id_2 ASC);
+ - CREATE TABLE Rangetbl_3(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON Rangetbl_3(col_bigint_id_2 ASC);
+ - DROP TABLE IF EXISTS Hashtbl_1;
+ - DROP TABLE IF EXISTS Hashtbl_2;
+ - DROP TABLE IF EXISTS Hashtbl_3;
+ - CREATE TABLE Hashtbl_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Hashtbl_1(col_bigint_id_2);
+ - CREATE INDEX ON Hashtbl_1(col_bigint_id_3 ASC);
+ - CREATE TABLE Hashtbl_2(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Hashtbl_2(col_bigint_id_2);
+ - CREATE INDEX ON Hashtbl_2(col_bigint_id_3 ASC);
+ - CREATE TABLE Hashtbl_3(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Hashtbl_3(col_bigint_id_2);
+ - CREATE INDEX ON Hashtbl_3(col_bigint_id_3 ASC);
+ cleanup:
+ - DROP TABLE IF EXISTS Rangetbl_1;
+ - DROP TABLE IF EXISTS Rangetbl2;
+ - DROP TABLE IF EXISTS Rangetbl_3;
+ - DROP TABLE IF EXISTS Hashtbl_1;
+ - DROP TABLE IF EXISTS Hashtbl2;
+ - DROP TABLE IF EXISTS Hashtbl_3;
+
+ loadRules:
+ - table: Rangetbl_
+ count: 3
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: Hashtbl_
+ count: 3
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 2
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING3_1_join_on_pk_of_range_and_hash_tbl
+ customTags: customer=2,partition=joinmixed,pkey=joinmixed,cardinality=single,projection=multiple,filteron=none,queryshape=join,joinon=mixedpkey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Hashtbl_1.col_bigint_id_1 from Rangetbl_1 join Hashtbl_1 on Rangetbl_1.col_bigint_id_1=Hashtbl_1.col_bigint_id_1
+
+
+ - workload: JOING3_2_join_on_hashpk_IN_clause_1k
+ customTags: customer=6,partition=hash,pkey=hash,cardinality=single,projection=indexed,filteron=hashpkey,filtertype=IN,queryshape=join,joinon=hashpkey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_1,Hashtbl_2.col_bigint_id_1 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_1=Hashtbl_2.col_bigint_id_1 where Hashtbl_1.col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 1000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_3_join_on_hashpk_IN_clause_10k
+ customTags: partition=hash,pkey=hash,cardinality=single,projection=indexed,filteron=hashpkey,filtertype=IN,queryshape=join,joinon=hashpkey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_1,Hashtbl_2.col_bigint_id_1 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_1=Hashtbl_2.col_bigint_id_1 where Hashtbl_1.col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_4_join_on_rangepk_IN_clause_1k
+ customTags: customer=3,partition=range,pkey=range,cardinality=single,projection=indexed,filteron=hashpkey,filtertype=IN,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Rangetbl_2.col_bigint_id_1 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_1=Rangetbl_2.col_bigint_id_1 where Rangetbl_1.col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 1000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_5_join_on_rangepk_IN_clause_10k
+ customTags: partition=range,pkey=range,cardinality=single,projection=indexed,filteron=hashpkey,filtertype=IN,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_1,Rangetbl_2.col_bigint_id_1 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_1=Rangetbl_2.col_bigint_id_1 where Rangetbl_1.col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+
+ - workload: JOING3_6_join_on_hashidx_IN_clause_10k
+ customTags: customer=1,partition=hash,skey=hash,cardinality=single,projection=indexed,filteron=hashskey,filtertype=IN,queryshape=join,joinon=hashskey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Hashtbl_1.col_bigint_id_2,Hashtbl_2.col_bigint_id_2 from Hashtbl_1 join Hashtbl_2 on Hashtbl_1.col_bigint_id_2=Hashtbl_2.col_bigint_id_2 where Hashtbl_1.col_bigint_id_2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: JOING3_7_join_on_rangeidx_IN_clause_10k
+ customTags: customer=2,partition=range,skey=asc,cardinality=single,projection=indexed,filteron=rangeskey,filtertype=IN,queryshape=join,joinon=rangeskey
+ run:
+ - name: join_on_pk_of_range_and_hash_tbl
+ weight: 100
+ queries:
+ - query: select Rangetbl_1.col_bigint_id_2,Rangetbl_2.col_bigint_id_2 from Rangetbl_1 join Rangetbl_2 on Rangetbl_1.col_bigint_id_2=Rangetbl_2.col_bigint_id_2 where Rangetbl_1.col_bigint_id_2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING4_datatype_impact_joins.yaml b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING4_datatype_impact_joins.yaml
new file mode 100644
index 000000000..a9c6e446a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING4_datatype_impact_joins.yaml
@@ -0,0 +1,126 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 600
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_2;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyVarchar1001M_1(col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_varchar100_pid_1 ASC));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyVarchar1001M_2(col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_varchar100_pid_1 ASC));
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_2;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyVarchar1001M_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_varchar100_pid_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING4_1_join_on_pk_of_bigint_datatype
+ customTags: schematype=regular,partition=range,pkey=asc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_bigint_datatype
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1,pkeyBigint1M_2.col_bigint_id_1 from pkeyBigint1M_1 join pkeyBigint1M_2 on pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1
+
+ - workload: JOING4_2_join_on_pk_of_varchar_datatype
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,columndatatype=varchar,cardinality=single,projection=indexed,queryshape=join,joinon=rangepkey
+ run:
+ - name: join_on_pk_of_bigint_datatype
+ weight: 100
+ queries:
+ - query: select pkeyVarchar1001M_1.col_varchar100_pid_1,pkeyVarchar1001M_2.col_varchar100_pid_1 from pkeyVarchar1001M_1 join pkeyVarchar1001M_2 on pkeyVarchar1001M_1.col_varchar100_pid_1=pkeyVarchar1001M_2.col_varchar100_pid_1
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING5_to_test_data_cardinality.yaml b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING5_to_test_data_cardinality.yaml
new file mode 100644
index 000000000..0391416ed
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING5_to_test_data_cardinality.yaml
@@ -0,0 +1,196 @@
+#100000 col1 col2 col3 col4
+#Table1 1*1M 1000*1k 10000*100
+#Table2 1*1L 1000*100 10000*10
+#Table3 1*10k 100*100 1000*10
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint10k_1;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10k_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint10k_1;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000,2000002,2000003,2000004,2000005,2000006,2000007,2000008,2000009,2000010,2000011,2000012,2000013,2000014,2000015,2000016,2000017,2000018,2000019,2000020,2000021,2000022,2000023,2000024,2000025,2000026,2000027,2000028,2000029,2000030,2000031,2000032,2000033,2000034,2000035,2000036,2000037,2000038,2000039,2000040,2000041,2000042,2000043,2000044,2000045,2000046,2000047,2000048,2000049,2000050,2000051,2000052,2000053,2000054,2000055,2000056,2000057,2000058,2000059,2000060,2000061,2000062,2000063,2000064,2000065,2000066,2000067,2000068,2000069,2000070,2000071,2000072,2000073,2000074,2000075,2000076,2000077,2000078,2000079,2000080,2000081,2000082,2000083,2000084,2000085,2000086,2000087,2000088,2000089,2000090,2000091,2000092,2000093,2000094,2000095,2000096,2000097,2000098,2000099,2000100,2000101,2000102,2000103,2000104,2000105,2000106,2000107,2000108,2000109,2000110,2000111,2000112,2000113,2000114,2000115,2000116,2000117,2000118,2000119,2000120,2000121,2000122,2000123,2000124,2000125,2000126,2000127,2000128,2000129,2000130,2000131,2000132,2000133,2000134,2000135,2000136,2000137,2000138,2000139,2000140,2000141,2000142,2000143,2000144,2000145,2000146,2000147,2000148,2000149,2000150,2000151,2000152,2000153,2000154,2000155,2000156,2000157,2000158,2000159,2000160,2000161,2000162,2000163,2000164,2000165,2000166,2000167,2000168,2000169,2000170,2000171,2000172,2000173,2000174,2000175,2000176,2000177,2000178,2000179,2000180,2000181,2000182,2000183,2000184,2000185,2000186,2000187,2000188,2000189,2000190,2000191,2000192,2000193,2000194,2000195,2000196,2000197,2000198,2000199,2000200,2000201,2000202,2000203,2000204,2000205,2000206,2000207,2000208,2000209,2000210,2000211,2000212,2000213,2000214,2000215,2000216,2000217,2000218,2000219,2000220,2000221,2000222,2000223,2000224,2000225,2000226,2000227,2000228,2000229,2000230,2000231,2000232,2000233,2000234,2000235,2000236,2000237,2000238,2000239,2000240,2000241,2000242,2000243,2000244,2000245,2000246,2000247,2000248,2000249,2000250,2000251,2000252,2000253,2000254,2000255,2000256,2000257,2000258,2000259,2000260,2000261,2000262,2000263,2000264,2000265,2000266,2000267,2000268,2000269,2000270,2000271,2000272,2000273,2000274,2000275,2000276,2000277,2000278,2000279,2000280,2000281,2000282,2000283,2000284,2000285,2000286,2000287,2000288,2000289,2000290,2000291,2000292,2000293,2000294,2000295,2000296,2000297,2000298,2000299,2000300,2000301,2000302,2000303,2000304,2000305,2000306,2000307,2000308,2000309,2000310,2000311,2000312,2000313,2000314,2000315,2000316,2000317,2000318,2000319,2000320,2000321,2000322,2000323,2000324,2000325,2000326,2000327,2000328,2000329,2000330,2000331,2000332,2000333,2000334,2000335,2000336,2000337,2000338,2000339,2000340,2000341,2000342,2000343,2000344,2000345,2000346,2000347,2000348,2000349,2000350,2000351,2000352,2000353,2000354,2000355,2000356,2000357,2000358,2000359,2000360,2000361,2000362,2000363,2000364,2000365,2000366,2000367,2000368,2000369,2000370,2000371,2000372,2000373,2000374,2000375,2000376,2000377,2000378,2000379,2000380,2000381,2000382,2000383,2000384,2000385,2000386,2000387,2000388,2000389,2000390,2000391,2000392,2000393,2000394,2000395,2000396,2000397,2000398,2000399,2000400,2000401,2000402,2000403,2000404,2000405,2000406,2000407,2000408,2000409,2000410,2000411,2000412,2000413,2000414,2000415,2000416,2000417,2000418,2000419,2000420,2000421,2000422,2000423,2000424,2000425,2000426,2000427,2000428,2000429,2000430,2000431,2000432,2000433,2000434,2000435,2000436,2000437,2000438,2000439,2000440,2000441,2000442,2000443,2000444,2000445,2000446,2000447,2000448,2000449,2000450,2000451,2000452,2000453,2000454,2000455,2000456,2000457,2000458,2000459,2000460,2000461,2000462,2000463,2000464,2000465,2000466,2000467,2000468,2000469,2000470,2000471,2000472,2000473,2000474,2000475,2000476,2000477,2000478,2000479,2000480,2000481,2000482,2000483,2000484,2000485,2000486,2000487,2000488,2000489,2000490,2000491,2000492,2000493,2000494,2000495,2000496,2000497,2000498,2000499,2000500,2000501,2000502,2000503,2000504,2000505,2000506,2000507,2000508,2000509,2000510,2000511,2000512,2000513,2000514,2000515,2000516,2000517,2000518,2000519,2000520,2000521,2000522,2000523,2000524,2000525,2000526,2000527,2000528,2000529,2000530,2000531,2000532,2000533,2000534,2000535,2000536,2000537,2000538,2000539,2000540,2000541,2000542,2000543,2000544,2000545,2000546,2000547,2000548,2000549,2000550,2000551,2000552,2000553,2000554,2000555,2000556,2000557,2000558,2000559,2000560,2000561,2000562,2000563,2000564,2000565,2000566,2000567,2000568,2000569,2000570,2000571,2000572,2000573,2000574,2000575,2000576,2000577,2000578,2000579,2000580,2000581,2000582,2000583,2000584,2000585,2000586,2000587,2000588,2000589,2000590,2000591,2000592,2000593,2000594,2000595,2000596,2000597,2000598,2000599,2000600,2000601,2000602,2000603,2000604,2000605,2000606,2000607,2000608,2000609,2000610,2000611,2000612,2000613,2000614,2000615,2000616,2000617,2000618,2000619,2000620,2000621,2000622,2000623,2000624,2000625,2000626,2000627,2000628,2000629,2000630,2000631,2000632,2000633,2000634,2000635,2000636,2000637,2000638,2000639,2000640,2000641,2000642,2000643,2000644,2000645,2000646,2000647,2000648,2000649,2000650,2000651,2000652,2000653,2000654,2000655,2000656,2000657,2000658,2000659,2000660,2000661,2000662,2000663,2000664,2000665,2000666,2000667,2000668,2000669,2000670,2000671,2000672,2000673,2000674,2000675,2000676,2000677,2000678,2000679,2000680,2000681,2000682,2000683,2000684,2000685,2000686,2000687,2000688,2000689,2000690,2000691,2000692,2000693,2000694,2000695,2000696,2000697,2000698,2000699,2000700,2000701,2000702,2000703,2000704,2000705,2000706,2000707,2000708,2000709,2000710,2000711,2000712,2000713,2000714,2000715,2000716,2000717,2000718,2000719,2000720,2000721,2000722,2000723,2000724,2000725,2000726,2000727,2000728,2000729,2000730,2000731,2000732,2000733,2000734,2000735,2000736,2000737,2000738,2000739,2000740,2000741,2000742,2000743,2000744,2000745,2000746,2000747,2000748,2000749,2000750,2000751,2000752,2000753,2000754,2000755,2000756,2000757,2000758,2000759,2000760,2000761,2000762,2000763,2000764,2000765,2000766,2000767,2000768,2000769,2000770,2000771,2000772,2000773,2000774,2000775,2000776,2000777,2000778,2000779,2000780,2000781,2000782,2000783,2000784,2000785,2000786,2000787,2000788,2000789,2000790,2000791,2000792,2000793,2000794,2000795,2000796,2000797,2000798,2000799,2000800,2000801,2000802,2000803,2000804,2000805,2000806,2000807,2000808,2000809,2000810,2000811,2000812,2000813,2000814,2000815,2000816,2000817,2000818,2000819,2000820,2000821,2000822,2000823,2000824,2000825,2000826,2000827,2000828,2000829,2000830,2000831,2000832,2000833,2000834,2000835,2000836,2000837,2000838,2000839,2000840,2000841,2000842,2000843,2000844,2000845,2000846,2000847,2000848,2000849,2000850,2000851,2000852,2000853,2000854,2000855,2000856,2000857,2000858,2000859,2000860,2000861,2000862,2000863,2000864,2000865,2000866,2000867,2000868,2000869,2000870,2000871,2000872,2000873,2000874,2000875,2000876,2000877,2000878,2000879,2000880,2000881,2000882,2000883,2000884,2000885,2000886,2000887,2000888,2000889,2000890,2000891,2000892,2000893,2000894,2000895,2000896,2000897,2000898,2000899,2000900,2000901,2000902,2000903,2000904,2000905,2000906,2000907,2000908,2000909,2000910,2000911,2000912,2000913,2000914,2000915,2000916,2000917,2000918,2000919,2000920,2000921,2000922,2000923,2000924,2000925,2000926,2000927,2000928,2000929,2000930,2000931,2000932,2000933,2000934,2000935,2000936,2000937,2000938,2000939,2000940,2000941,2000942,2000943,2000944,2000945,2000946,2000947,2000948,2000949,2000950,2000951,2000952,2000953,2000954,2000955,2000956,2000957,2000958,2000959,2000960,2000961,2000962,2000963,2000964,2000965,2000966,2000967,2000968,2000969,2000970,2000971,2000972,2000973,2000974,2000975,2000976,2000977,2000978,2000979,2000980,2000981,2000982,2000983,2000984,2000985,2000986,2000987,2000988,2000989,2000990,2000991,2000992,2000993,2000994,2000995,2000996,2000997,2000998,2000999,2001000,3000001,3000002,3000003,3000004,3000005,3000006,3000007,3000008,3000009,3000010,3000011,3000012,3000013,3000014,3000015,3000016,3000017,3000018,3000019,3000020,3000021,3000022,3000023,3000024,3000025,3000026,3000027,3000028,3000029,3000030,3000031,3000032,3000033,3000034,3000035,3000036,3000037,3000038,3000039,3000040,3000041,3000042,3000043,3000044,3000045,3000046,3000047,3000048,3000049,3000050,3000051,3000052,3000053,3000054,3000055,3000056,3000057,3000058,3000059,3000060,3000061,3000062,3000063,3000064,3000065,3000066,3000067,3000068,3000069,3000070,3000071,3000072,3000073,3000074,3000075,3000076,3000077,3000078,3000079,3000080,3000081,3000082,3000083,3000084,3000085,3000086,3000087,3000088,3000089,3000090,3000091,3000092,3000093,3000094,3000095,3000096,3000097,3000098,3000099,3000100,3000101,3000102,3000103,3000104,3000105,3000106,3000107,3000108,3000109,3000110,3000111,3000112,3000113,3000114,3000115,3000116,3000117,3000118,3000119,3000120,3000121,3000122,3000123,3000124,3000125,3000126,3000127,3000128,3000129,3000130,3000131,3000132,3000133,3000134,3000135,3000136,3000137,3000138,3000139,3000140,3000141,3000142,3000143,3000144,3000145,3000146,3000147,3000148,3000149,3000150,3000151,3000152,3000153,3000154,3000155,3000156,3000157,3000158,3000159,3000160,3000161,3000162,3000163,3000164,3000165,3000166,3000167,3000168,3000169,3000170,3000171,3000172,3000173,3000174,3000175,3000176,3000177,3000178,3000179,3000180,3000181,3000182,3000183,3000184,3000185,3000186,3000187,3000188,3000189,3000190,3000191,3000192,3000193,3000194,3000195,3000196,3000197,3000198,3000199,3000200,3000201,3000202,3000203,3000204,3000205,3000206,3000207,3000208,3000209,3000210,3000211,3000212,3000213,3000214,3000215,3000216,3000217,3000218,3000219,3000220,3000221,3000222,3000223,3000224,3000225,3000226,3000227,3000228,3000229,3000230,3000231,3000232,3000233,3000234,3000235,3000236,3000237,3000238,3000239,3000240,3000241,3000242,3000243,3000244,3000245,3000246,3000247,3000248,3000249,3000250,3000251,3000252,3000253,3000254,3000255,3000256,3000257,3000258,3000259,3000260,3000261,3000262,3000263,3000264,3000265,3000266,3000267,3000268,3000269,3000270,3000271,3000272,3000273,3000274,3000275,3000276,3000277,3000278,3000279,3000280,3000281,3000282,3000283,3000284,3000285,3000286,3000287,3000288,3000289,3000290,3000291,3000292,3000293,3000294,3000295,3000296,3000297,3000298,3000299,3000300,3000301,3000302,3000303,3000304,3000305,3000306,3000307,3000308,3000309,3000310,3000311,3000312,3000313,3000314,3000315,3000316,3000317,3000318,3000319,3000320,3000321,3000322,3000323,3000324,3000325,3000326,3000327,3000328,3000329,3000330,3000331,3000332,3000333,3000334,3000335,3000336,3000337,3000338,3000339,3000340,3000341,3000342,3000343,3000344,3000345,3000346,3000347,3000348,3000349,3000350,3000351,3000352,3000353,3000354,3000355,3000356,3000357,3000358,3000359,3000360,3000361,3000362,3000363,3000364,3000365,3000366,3000367,3000368,3000369,3000370,3000371,3000372,3000373,3000374,3000375,3000376,3000377,3000378,3000379,3000380,3000381,3000382,3000383,3000384,3000385,3000386,3000387,3000388,3000389,3000390,3000391,3000392,3000393,3000394,3000395,3000396,3000397,3000398,3000399,3000400,3000401,3000402,3000403,3000404,3000405,3000406,3000407,3000408,3000409,3000410,3000411,3000412,3000413,3000414,3000415,3000416,3000417,3000418,3000419,3000420,3000421,3000422,3000423,3000424,3000425,3000426,3000427,3000428,3000429,3000430,3000431,3000432,3000433,3000434,3000435,3000436,3000437,3000438,3000439,3000440,3000441,3000442,3000443,3000444,3000445,3000446,3000447,3000448,3000449,3000450,3000451,3000452,3000453,3000454,3000455,3000456,3000457,3000458,3000459,3000460,3000461,3000462,3000463,3000464,3000465,3000466,3000467,3000468,3000469,3000470,3000471,3000472,3000473,3000474,3000475,3000476,3000477,3000478,3000479,3000480,3000481,3000482,3000483,3000484,3000485,3000486,3000487,3000488,3000489,3000490,3000491,3000492,3000493,3000494,3000495,3000496,3000497,3000498,3000499,3000500,3000501,3000502,3000503,3000504,3000505,3000506,3000507,3000508,3000509,3000510,3000511,3000512,3000513,3000514,3000515,3000516,3000517,3000518,3000519,3000520,3000521,3000522,3000523,3000524,3000525,3000526,3000527,3000528,3000529,3000530,3000531,3000532,3000533,3000534,3000535,3000536,3000537,3000538,3000539,3000540,3000541,3000542,3000543,3000544,3000545,3000546,3000547,3000548,3000549,3000550,3000551,3000552,3000553,3000554,3000555,3000556,3000557,3000558,3000559,3000560,3000561,3000562,3000563,3000564,3000565,3000566,3000567,3000568,3000569,3000570,3000571,3000572,3000573,3000574,3000575,3000576,3000577,3000578,3000579,3000580,3000581,3000582,3000583,3000584,3000585,3000586,3000587,3000588,3000589,3000590,3000591,3000592,3000593,3000594,3000595,3000596,3000597,3000598,3000599,3000600,3000601,3000602,3000603,3000604,3000605,3000606,3000607,3000608,3000609,3000610,3000611,3000612,3000613,3000614,3000615,3000616,3000617,3000618,3000619,3000620,3000621,3000622,3000623,3000624,3000625,3000626,3000627,3000628,3000629,3000630,3000631,3000632,3000633,3000634,3000635,3000636,3000637,3000638,3000639,3000640,3000641,3000642,3000643,3000644,3000645,3000646,3000647,3000648,3000649,3000650,3000651,3000652,3000653,3000654,3000655,3000656,3000657,3000658,3000659,3000660,3000661,3000662,3000663,3000664,3000665,3000666,3000667,3000668,3000669,3000670,3000671,3000672,3000673,3000674,3000675,3000676,3000677,3000678,3000679,3000680,3000681,3000682,3000683,3000684,3000685,3000686,3000687,3000688,3000689,3000690,3000691,3000692,3000693,3000694,3000695,3000696,3000697,3000698,3000699,3000700,3000701,3000702,3000703,3000704,3000705,3000706,3000707,3000708,3000709,3000710,3000711,3000712,3000713,3000714,3000715,3000716,3000717,3000718,3000719,3000720,3000721,3000722,3000723,3000724,3000725,3000726,3000727,3000728,3000729,3000730,3000731,3000732,3000733,3000734,3000735,3000736,3000737,3000738,3000739,3000740,3000741,3000742,3000743,3000744,3000745,3000746,3000747,3000748,3000749,3000750,3000751,3000752,3000753,3000754,3000755,3000756,3000757,3000758,3000759,3000760,3000761,3000762,3000763,3000764,3000765,3000766,3000767,3000768,3000769,3000770,3000771,3000772,3000773,3000774,3000775,3000776,3000777,3000778,3000779,3000780,3000781,3000782,3000783,3000784,3000785,3000786,3000787,3000788,3000789,3000790,3000791,3000792,3000793,3000794,3000795,3000796,3000797,3000798,3000799,3000800,3000801,3000802,3000803,3000804,3000805,3000806,3000807,3000808,3000809,3000810,3000811,3000812,3000813,3000814,3000815,3000816,3000817,3000818,3000819,3000820,3000821,3000822,3000823,3000824,3000825,3000826,3000827,3000828,3000829,3000830,3000831,3000832,3000833,3000834,3000835,3000836,3000837,3000838,3000839,3000840,3000841,3000842,3000843,3000844,3000845,3000846,3000847,3000848,3000849,3000850,3000851,3000852,3000853,3000854,3000855,3000856,3000857,3000858,3000859,3000860,3000861,3000862,3000863,3000864,3000865,3000866,3000867,3000868,3000869,3000870,3000871,3000872,3000873,3000874,3000875,3000876,3000877,3000878,3000879,3000880,3000881,3000882,3000883,3000884,3000885,3000886,3000887,3000888,3000889,3000890,3000891,3000892,3000893,3000894,3000895,3000896,3000897,3000898,3000899,3000900,3000901,3000902,3000903,3000904,3000905,3000906,3000907,3000908,3000909,3000910,3000911,3000912,3000913,3000914,3000915,3000916,3000917,3000918,3000919,3000920,3000921,3000922,3000923,3000924,3000925,3000926,3000927,3000928,3000929,3000930,3000931,3000932,3000933,3000934,3000935,3000936,3000937,3000938,3000939,3000940,3000941,3000942,3000943,3000944,3000945,3000946,3000947,3000948,3000949,3000950,3000951,3000952,3000953,3000954,3000955,3000956,3000957,3000958,3000959,3000960,3000961,3000962,3000963,3000964,3000965,3000966,3000967,3000968,3000969,3000970,3000971,3000972,3000973,3000974,3000975,3000976,3000977,3000978,3000979,3000980,3000981,3000982,3000983,3000984,3000985,3000986,3000987,3000988,3000989,3000990,3000991,3000992,3000993,3000994,3000995,3000996,3000997,3000998,3000999,3001000,4000001,4000002,4000003,4000004,4000005,4000006,4000007,4000008,4000009,4000010,4000011,4000012,4000013,4000014,4000015,4000016,4000017,4000018,4000019,4000020,4000021,4000022,4000023,4000024,4000025,4000026,4000027,4000028,4000029,4000030,4000031,4000032,4000033,4000034,4000035,4000036,4000037,4000038,4000039,4000040,4000041,4000042,4000043,4000044,4000045,4000046,4000047,4000048,4000049,4000050,4000051,4000052,4000053,4000054,4000055,4000056,4000057,4000058,4000059,4000060,4000061,4000062,4000063,4000064,4000065,4000066,4000067,4000068,4000069,4000070,4000071,4000072,4000073,4000074,4000075,4000076,4000077,4000078,4000079,4000080,4000081,4000082,4000083,4000084,4000085,4000086,4000087,4000088,4000089,4000090,4000091,4000092,4000093,4000094,4000095,4000096,4000097,4000098,4000099,4000100,4000101,4000102,4000103,4000104,4000105,4000106,4000107,4000108,4000109,4000110,4000111,4000112,4000113,4000114,4000115,4000116,4000117,4000118,4000119,4000120,4000121,4000122,4000123,4000124,4000125,4000126,4000127,4000128,4000129,4000130,4000131,4000132,4000133,4000134,4000135,4000136,4000137,4000138,4000139,4000140,4000141,4000142,4000143,4000144,4000145,4000146,4000147,4000148,4000149,4000150,4000151,4000152,4000153,4000154,4000155,4000156,4000157,4000158,4000159,4000160,4000161,4000162,4000163,4000164,4000165,4000166,4000167,4000168,4000169,4000170,4000171,4000172,4000173,4000174,4000175,4000176,4000177,4000178,4000179,4000180,4000181,4000182,4000183,4000184,4000185,4000186,4000187,4000188,4000189,4000190,4000191,4000192,4000193,4000194,4000195,4000196,4000197,4000198,4000199,4000200,4000201,4000202,4000203,4000204,4000205,4000206,4000207,4000208,4000209,4000210,4000211,4000212,4000213,4000214,4000215,4000216,4000217,4000218,4000219,4000220,4000221,4000222,4000223,4000224,4000225,4000226,4000227,4000228,4000229,4000230,4000231,4000232,4000233,4000234,4000235,4000236,4000237,4000238,4000239,4000240,4000241,4000242,4000243,4000244,4000245,4000246,4000247,4000248,4000249,4000250,4000251,4000252,4000253,4000254,4000255,4000256,4000257,4000258,4000259,4000260,4000261,4000262,4000263,4000264,4000265,4000266,4000267,4000268,4000269,4000270,4000271,4000272,4000273,4000274,4000275,4000276,4000277,4000278,4000279,4000280,4000281,4000282,4000283,4000284,4000285,4000286,4000287,4000288,4000289,4000290,4000291,4000292,4000293,4000294,4000295,4000296,4000297,4000298,4000299,4000300,4000301,4000302,4000303,4000304,4000305,4000306,4000307,4000308,4000309,4000310,4000311,4000312,4000313,4000314,4000315,4000316,4000317,4000318,4000319,4000320,4000321,4000322,4000323,4000324,4000325,4000326,4000327,4000328,4000329,4000330,4000331,4000332,4000333,4000334,4000335,4000336,4000337,4000338,4000339,4000340,4000341,4000342,4000343,4000344,4000345,4000346,4000347,4000348,4000349,4000350,4000351,4000352,4000353,4000354,4000355,4000356,4000357,4000358,4000359,4000360,4000361,4000362,4000363,4000364,4000365,4000366,4000367,4000368,4000369,4000370,4000371,4000372,4000373,4000374,4000375,4000376,4000377,4000378,4000379,4000380,4000381,4000382,4000383,4000384,4000385,4000386,4000387,4000388,4000389,4000390,4000391,4000392,4000393,4000394,4000395,4000396,4000397,4000398,4000399,4000400,4000401,4000402,4000403,4000404,4000405,4000406,4000407,4000408,4000409,4000410,4000411,4000412,4000413,4000414,4000415,4000416,4000417,4000418,4000419,4000420,4000421,4000422,4000423,4000424,4000425,4000426,4000427,4000428,4000429,4000430,4000431,4000432,4000433,4000434,4000435,4000436,4000437,4000438,4000439,4000440,4000441,4000442,4000443,4000444,4000445,4000446,4000447,4000448,4000449,4000450,4000451,4000452,4000453,4000454,4000455,4000456,4000457,4000458,4000459,4000460,4000461,4000462,4000463,4000464,4000465,4000466,4000467,4000468,4000469,4000470,4000471,4000472,4000473,4000474,4000475,4000476,4000477,4000478,4000479,4000480,4000481,4000482,4000483,4000484,4000485,4000486,4000487,4000488,4000489,4000490,4000491,4000492,4000493,4000494,4000495,4000496,4000497,4000498,4000499,4000500,4000501,4000502,4000503,4000504,4000505,4000506,4000507,4000508,4000509,4000510,4000511,4000512,4000513,4000514,4000515,4000516,4000517,4000518,4000519,4000520,4000521,4000522,4000523,4000524,4000525,4000526,4000527,4000528,4000529,4000530,4000531,4000532,4000533,4000534,4000535,4000536,4000537,4000538,4000539,4000540,4000541,4000542,4000543,4000544,4000545,4000546,4000547,4000548,4000549,4000550,4000551,4000552,4000553,4000554,4000555,4000556,4000557,4000558,4000559,4000560,4000561,4000562,4000563,4000564,4000565,4000566,4000567,4000568,4000569,4000570,4000571,4000572,4000573,4000574,4000575,4000576,4000577,4000578,4000579,4000580,4000581,4000582,4000583,4000584,4000585,4000586,4000587,4000588,4000589,4000590,4000591,4000592,4000593,4000594,4000595,4000596,4000597,4000598,4000599,4000600,4000601,4000602,4000603,4000604,4000605,4000606,4000607,4000608,4000609,4000610,4000611,4000612,4000613,4000614,4000615,4000616,4000617,4000618,4000619,4000620,4000621,4000622,4000623,4000624,4000625,4000626,4000627,4000628,4000629,4000630,4000631,4000632,4000633,4000634,4000635,4000636,4000637,4000638,4000639,4000640,4000641,4000642,4000643,4000644,4000645,4000646,4000647,4000648,4000649,4000650,4000651,4000652,4000653,4000654,4000655,4000656,4000657,4000658,4000659,4000660,4000661,4000662,4000663,4000664,4000665,4000666,4000667,4000668,4000669,4000670,4000671,4000672,4000673,4000674,4000675,4000676,4000677,4000678,4000679,4000680,4000681,4000682,4000683,4000684,4000685,4000686,4000687,4000688,4000689,4000690,4000691,4000692,4000693,4000694,4000695,4000696,4000697,4000698,4000699,4000700,4000701,4000702,4000703,4000704,4000705,4000706,4000707,4000708,4000709,4000710,4000711,4000712,4000713,4000714,4000715,4000716,4000717,4000718,4000719,4000720,4000721,4000722,4000723,4000724,4000725,4000726,4000727,4000728,4000729,4000730,4000731,4000732,4000733,4000734,4000735,4000736,4000737,4000738,4000739,4000740,4000741,4000742,4000743,4000744,4000745,4000746,4000747,4000748,4000749,4000750,4000751,4000752,4000753,4000754,4000755,4000756,4000757,4000758,4000759,4000760,4000761,4000762,4000763,4000764,4000765,4000766,4000767,4000768,4000769,4000770,4000771,4000772,4000773,4000774,4000775,4000776,4000777,4000778,4000779,4000780,4000781,4000782,4000783,4000784,4000785,4000786,4000787,4000788,4000789,4000790,4000791,4000792,4000793,4000794,4000795,4000796,4000797,4000798,4000799,4000800,4000801,4000802,4000803,4000804,4000805,4000806,4000807,4000808,4000809,4000810,4000811,4000812,4000813,4000814,4000815,4000816,4000817,4000818,4000819,4000820,4000821,4000822,4000823,4000824,4000825,4000826,4000827,4000828,4000829,4000830,4000831,4000832,4000833,4000834,4000835,4000836,4000837,4000838,4000839,4000840,4000841,4000842,4000843,4000844,4000845,4000846,4000847,4000848,4000849,4000850,4000851,4000852,4000853,4000854,4000855,4000856,4000857,4000858,4000859,4000860,4000861,4000862,4000863,4000864,4000865,4000866,4000867,4000868,4000869,4000870,4000871,4000872,4000873,4000874,4000875,4000876,4000877,4000878,4000879,4000880,4000881,4000882,4000883,4000884,4000885,4000886,4000887,4000888,4000889,4000890,4000891,4000892,4000893,4000894,4000895,4000896,4000897,4000898,4000899,4000900,4000901,4000902,4000903,4000904,4000905,4000906,4000907,4000908,4000909,4000910,4000911,4000912,4000913,4000914,4000915,4000916,4000917,4000918,4000919,4000920,4000921,4000922,4000923,4000924,4000925,4000926,4000927,4000928,4000929,4000930,4000931,4000932,4000933,4000934,4000935,4000936,4000937,4000938,4000939,4000940,4000941,4000942,4000943,4000944,4000945,4000946,4000947,4000948,4000949,4000950,4000951,4000952,4000953,4000954,4000955,4000956,4000957,4000958,4000959,4000960,4000961,4000962,4000963,4000964,4000965,4000966,4000967,4000968,4000969,4000970,4000971,4000972,4000973,4000974,4000975,4000976,4000977,4000978,4000979,4000980,4000981,4000982,4000983,4000984,4000985,4000986,4000987,4000988,4000989,4000990,4000991,4000992,4000993,4000994,4000995,4000996,4000997,4000998,4000999,4001000,5000002,5000003,5000004,5000005,5000006,5000007,5000008,5000009,5000010,5000011,5000012,5000013,5000014,5000015,5000016,5000017,5000018,5000019,5000020,5000021,5000022,5000023,5000024,5000025,5000026,5000027,5000028,5000029,5000030,5000031,5000032,5000033,5000034,5000035,5000036,5000037,5000038,5000039,5000040,5000041,5000042,5000043,5000044,5000045,5000046,5000047,5000048,5000049,5000050,5000051,5000052,5000053,5000054,5000055,5000056,5000057,5000058,5000059,5000060,5000061,5000062,5000063,5000064,5000065,5000066,5000067,5000068,5000069,5000070,5000071,5000072,5000073,5000074,5000075,5000076,5000077,5000078,5000079,5000080,5000081,5000082,5000083,5000084,5000085,5000086,5000087,5000088,5000089,5000090,5000091,5000092,5000093,5000094,5000095,5000096,5000097,5000098,5000099,5000100,5000101,5000102,5000103,5000104,5000105,5000106,5000107,5000108,5000109,5000110,5000111,5000112,5000113,5000114,5000115,5000116,5000117,5000118,5000119,5000120,5000121,5000122,5000123,5000124,5000125,5000126,5000127,5000128,5000129,5000130,5000131,5000132,5000133,5000134,5000135,5000136,5000137,5000138,5000139,5000140,5000141,5000142,5000143,5000144,5000145,5000146,5000147,5000148,5000149,5000150,5000151,5000152,5000153,5000154,5000155,5000156,5000157,5000158,5000159,5000160,5000161,5000162,5000163,5000164,5000165,5000166,5000167,5000168,5000169,5000170,5000171,5000172,5000173,5000174,5000175,5000176,5000177,5000178,5000179,5000180,5000181,5000182,5000183,5000184,5000185,5000186,5000187,5000188,5000189,5000190,5000191,5000192,5000193,5000194,5000195,5000196,5000197,5000198,5000199,5000200,5000201,5000202,5000203,5000204,5000205,5000206,5000207,5000208,5000209,5000210,5000211,5000212,5000213,5000214,5000215,5000216,5000217,5000218,5000219,5000220,5000221,5000222,5000223,5000224,5000225,5000226,5000227,5000228,5000229,5000230,5000231,5000232,5000233,5000234,5000235,5000236,5000237,5000238,5000239,5000240,5000241,5000242,5000243,5000244,5000245,5000246,5000247,5000248,5000249,5000250,5000251,5000252,5000253,5000254,5000255,5000256,5000257,5000258,5000259,5000260,5000261,5000262,5000263,5000264,5000265,5000266,5000267,5000268,5000269,5000270,5000271,5000272,5000273,5000274,5000275,5000276,5000277,5000278,5000279,5000280,5000281,5000282,5000283,5000284,5000285,5000286,5000287,5000288,5000289,5000290,5000291,5000292,5000293,5000294,5000295,5000296,5000297,5000298,5000299,5000300,5000301,5000302,5000303,5000304,5000305,5000306,5000307,5000308,5000309,5000310,5000311,5000312,5000313,5000314,5000315,5000316,5000317,5000318,5000319,5000320,5000321,5000322,5000323,5000324,5000325,5000326,5000327,5000328,5000329,5000330,5000331,5000332,5000333,5000334,5000335,5000336,5000337,5000338,5000339,5000340,5000341,5000342,5000343,5000344,5000345,5000346,5000347,5000348,5000349,5000350,5000351,5000352,5000353,5000354,5000355,5000356,5000357,5000358,5000359,5000360,5000361,5000362,5000363,5000364,5000365,5000366,5000367,5000368,5000369,5000370,5000371,5000372,5000373,5000374,5000375,5000376,5000377,5000378,5000379,5000380,5000381,5000382,5000383,5000384,5000385,5000386,5000387,5000388,5000389,5000390,5000391,5000392,5000393,5000394,5000395,5000396,5000397,5000398,5000399,5000400,5000401,5000402,5000403,5000404,5000405,5000406,5000407,5000408,5000409,5000410,5000411,5000412,5000413,5000414,5000415,5000416,5000417,5000418,5000419,5000420,5000421,5000422,5000423,5000424,5000425,5000426,5000427,5000428,5000429,5000430,5000431,5000432,5000433,5000434,5000435,5000436,5000437,5000438,5000439,5000440,5000441,5000442,5000443,5000444,5000445,5000446,5000447,5000448,5000449,5000450,5000451,5000452,5000453,5000454,5000455,5000456,5000457,5000458,5000459,5000460,5000461,5000462,5000463,5000464,5000465,5000466,5000467,5000468,5000469,5000470,5000471,5000472,5000473,5000474,5000475,5000476,5000477,5000478,5000479,5000480,5000481,5000482,5000483,5000484,5000485,5000486,5000487,5000488,5000489,5000490,5000491,5000492,5000493,5000494,5000495,5000496,5000497,5000498,5000499,5000500,5000501,5000502,5000503,5000504,5000505,5000506,5000507,5000508,5000509,5000510,5000511,5000512,5000513,5000514,5000515,5000516,5000517,5000518,5000519,5000520,5000521,5000522,5000523,5000524,5000525,5000526,5000527,5000528,5000529,5000530,5000531,5000532,5000533,5000534,5000535,5000536,5000537,5000538,5000539,5000540,5000541,5000542,5000543,5000544,5000545,5000546,5000547,5000548,5000549,5000550,5000551,5000552,5000553,5000554,5000555,5000556,5000557,5000558,5000559,5000560,5000561,5000562,5000563,5000564,5000565,5000566,5000567,5000568,5000569,5000570,5000571,5000572,5000573,5000574,5000575,5000576,5000577,5000578,5000579,5000580,5000581,5000582,5000583,5000584,5000585,5000586,5000587,5000588,5000589,5000590,5000591,5000592,5000593,5000594,5000595,5000596,5000597,5000598,5000599,5000600,5000601,5000602,5000603,5000604,5000605,5000606,5000607,5000608,5000609,5000610,5000611,5000612,5000613,5000614,5000615,5000616,5000617,5000618,5000619,5000620,5000621,5000622,5000623,5000624,5000625,5000626,5000627,5000628,5000629,5000630,5000631,5000632,5000633,5000634,5000635,5000636,5000637,5000638,5000639,5000640,5000641,5000642,5000643,5000644,5000645,5000646,5000647,5000648,5000649,5000650,5000651,5000652,5000653,5000654,5000655,5000656,5000657,5000658,5000659,5000660,5000661,5000662,5000663,5000664,5000665,5000666,5000667,5000668,5000669,5000670,5000671,5000672,5000673,5000674,5000675,5000676,5000677,5000678,5000679,5000680,5000681,5000682,5000683,5000684,5000685,5000686,5000687,5000688,5000689,5000690,5000691,5000692,5000693,5000694,5000695,5000696,5000697,5000698,5000699,5000700,5000701,5000702,5000703,5000704,5000705,5000706,5000707,5000708,5000709,5000710,5000711,5000712,5000713,5000714,5000715,5000716,5000717,5000718,5000719,5000720,5000721,5000722,5000723,5000724,5000725,5000726,5000727,5000728,5000729,5000730,5000731,5000732,5000733,5000734,5000735,5000736,5000737,5000738,5000739,5000740,5000741,5000742,5000743,5000744,5000745,5000746,5000747,5000748,5000749,5000750,5000751,5000752,5000753,5000754,5000755,5000756,5000757,5000758,5000759,5000760,5000761,5000762,5000763,5000764,5000765,5000766,5000767,5000768,5000769,5000770,5000771,5000772,5000773,5000774,5000775,5000776,5000777,5000778,5000779,5000780,5000781,5000782,5000783,5000784,5000785,5000786,5000787,5000788,5000789,5000790,5000791,5000792,5000793,5000794,5000795,5000796,5000797,5000798,5000799,5000800,5000801,5000802,5000803,5000804,5000805,5000806,5000807,5000808,5000809,5000810,5000811,5000812,5000813,5000814,5000815,5000816,5000817,5000818,5000819,5000820,5000821,5000822,5000823,5000824,5000825,5000826,5000827,5000828,5000829,5000830,5000831,5000832,5000833,5000834,5000835,5000836,5000837,5000838,5000839,5000840,5000841,5000842,5000843,5000844,5000845,5000846,5000847,5000848,5000849,5000850,5000851,5000852,5000853,5000854,5000855,5000856,5000857,5000858,5000859,5000860,5000861,5000862,5000863,5000864,5000865,5000866,5000867,5000868,5000869,5000870,5000871,5000872,5000873,5000874,5000875,5000876,5000877,5000878,5000879,5000880,5000881,5000882,5000883,5000884,5000885,5000886,5000887,5000888,5000889,5000890,5000891,5000892,5000893,5000894,5000895,5000896,5000897,5000898,5000899,5000900,5000901,5000902,5000903,5000904,5000905,5000906,5000907,5000908,5000909,5000910,5000911,5000912,5000913,5000914,5000915,5000916,5000917,5000918,5000919,5000920,5000921,5000922,5000923,5000924,5000925,5000926,5000927,5000928,5000929,5000930,5000931,5000932,5000933,5000934,5000935,5000936,5000937,5000938,5000939,5000940,5000941,5000942,5000943,5000944,5000945,5000946,5000947,5000948,5000949,5000950,5000951,5000952,5000953,5000954,5000955,5000956,5000957,5000958,5000959,5000960,5000961,5000962,5000963,5000964,5000965,5000966,5000967,5000968,5000969,5000970,5000971,5000972,5000973,5000974,5000975,5000976,5000977,5000978,5000979,5000980,5000981,5000982,5000983,5000984,5000985,5000986,5000987,5000988,5000989,5000990,5000991,5000992,5000993,5000994,5000995,5000996,5000997,5000998,5000999,5001000,6000001,6000002,6000003,6000004,6000005,6000006,6000007,6000008,6000009,6000010,6000011,6000012,6000013,6000014,6000015,6000016,6000017,6000018,6000019,6000020,6000021,6000022,6000023,6000024,6000025,6000026,6000027,6000028,6000029,6000030,6000031,6000032,6000033,6000034,6000035,6000036,6000037,6000038,6000039,6000040,6000041,6000042,6000043,6000044,6000045,6000046,6000047,6000048,6000049,6000050,6000051,6000052,6000053,6000054,6000055,6000056,6000057,6000058,6000059,6000060,6000061,6000062,6000063,6000064,6000065,6000066,6000067,6000068,6000069,6000070,6000071,6000072,6000073,6000074,6000075,6000076,6000077,6000078,6000079,6000080,6000081,6000082,6000083,6000084,6000085,6000086,6000087,6000088,6000089,6000090,6000091,6000092,6000093,6000094,6000095,6000096,6000097,6000098,6000099,6000100,6000101,6000102,6000103,6000104,6000105,6000106,6000107,6000108,6000109,6000110,6000111,6000112,6000113,6000114,6000115,6000116,6000117,6000118,6000119,6000120,6000121,6000122,6000123,6000124,6000125,6000126,6000127,6000128,6000129,6000130,6000131,6000132,6000133,6000134,6000135,6000136,6000137,6000138,6000139,6000140,6000141,6000142,6000143,6000144,6000145,6000146,6000147,6000148,6000149,6000150,6000151,6000152,6000153,6000154,6000155,6000156,6000157,6000158,6000159,6000160,6000161,6000162,6000163,6000164,6000165,6000166,6000167,6000168,6000169,6000170,6000171,6000172,6000173,6000174,6000175,6000176,6000177,6000178,6000179,6000180,6000181,6000182,6000183,6000184,6000185,6000186,6000187,6000188,6000189,6000190,6000191,6000192,6000193,6000194,6000195,6000196,6000197,6000198,6000199,6000200,6000201,6000202,6000203,6000204,6000205,6000206,6000207,6000208,6000209,6000210,6000211,6000212,6000213,6000214,6000215,6000216,6000217,6000218,6000219,6000220,6000221,6000222,6000223,6000224,6000225,6000226,6000227,6000228,6000229,6000230,6000231,6000232,6000233,6000234,6000235,6000236,6000237,6000238,6000239,6000240,6000241,6000242,6000243,6000244,6000245,6000246,6000247,6000248,6000249,6000250,6000251,6000252,6000253,6000254,6000255,6000256,6000257,6000258,6000259,6000260,6000261,6000262,6000263,6000264,6000265,6000266,6000267,6000268,6000269,6000270,6000271,6000272,6000273,6000274,6000275,6000276,6000277,6000278,6000279,6000280,6000281,6000282,6000283,6000284,6000285,6000286,6000287,6000288,6000289,6000290,6000291,6000292,6000293,6000294,6000295,6000296,6000297,6000298,6000299,6000300,6000301,6000302,6000303,6000304,6000305,6000306,6000307,6000308,6000309,6000310,6000311,6000312,6000313,6000314,6000315,6000316,6000317,6000318,6000319,6000320,6000321,6000322,6000323,6000324,6000325,6000326,6000327,6000328,6000329,6000330,6000331,6000332,6000333,6000334,6000335,6000336,6000337,6000338,6000339,6000340,6000341,6000342,6000343,6000344,6000345,6000346,6000347,6000348,6000349,6000350,6000351,6000352,6000353,6000354,6000355,6000356,6000357,6000358,6000359,6000360,6000361,6000362,6000363,6000364,6000365,6000366,6000367,6000368,6000369,6000370,6000371,6000372,6000373,6000374,6000375,6000376,6000377,6000378,6000379,6000380,6000381,6000382,6000383,6000384,6000385,6000386,6000387,6000388,6000389,6000390,6000391,6000392,6000393,6000394,6000395,6000396,6000397,6000398,6000399,6000400,6000401,6000402,6000403,6000404,6000405,6000406,6000407,6000408,6000409,6000410,6000411,6000412,6000413,6000414,6000415,6000416,6000417,6000418,6000419,6000420,6000421,6000422,6000423,6000424,6000425,6000426,6000427,6000428,6000429,6000430,6000431,6000432,6000433,6000434,6000435,6000436,6000437,6000438,6000439,6000440,6000441,6000442,6000443,6000444,6000445,6000446,6000447,6000448,6000449,6000450,6000451,6000452,6000453,6000454,6000455,6000456,6000457,6000458,6000459,6000460,6000461,6000462,6000463,6000464,6000465,6000466,6000467,6000468,6000469,6000470,6000471,6000472,6000473,6000474,6000475,6000476,6000477,6000478,6000479,6000480,6000481,6000482,6000483,6000484,6000485,6000486,6000487,6000488,6000489,6000490,6000491,6000492,6000493,6000494,6000495,6000496,6000497,6000498,6000499,6000500,6000501,6000502,6000503,6000504,6000505,6000506,6000507,6000508,6000509,6000510,6000511,6000512,6000513,6000514,6000515,6000516,6000517,6000518,6000519,6000520,6000521,6000522,6000523,6000524,6000525,6000526,6000527,6000528,6000529,6000530,6000531,6000532,6000533,6000534,6000535,6000536,6000537,6000538,6000539,6000540,6000541,6000542,6000543,6000544,6000545,6000546,6000547,6000548,6000549,6000550,6000551,6000552,6000553,6000554,6000555,6000556,6000557,6000558,6000559,6000560,6000561,6000562,6000563,6000564,6000565,6000566,6000567,6000568,6000569,6000570,6000571,6000572,6000573,6000574,6000575,6000576,6000577,6000578,6000579,6000580,6000581,6000582,6000583,6000584,6000585,6000586,6000587,6000588,6000589,6000590,6000591,6000592,6000593,6000594,6000595,6000596,6000597,6000598,6000599,6000600,6000601,6000602,6000603,6000604,6000605,6000606,6000607,6000608,6000609,6000610,6000611,6000612,6000613,6000614,6000615,6000616,6000617,6000618,6000619,6000620,6000621,6000622,6000623,6000624,6000625,6000626,6000627,6000628,6000629,6000630,6000631,6000632,6000633,6000634,6000635,6000636,6000637,6000638,6000639,6000640,6000641,6000642,6000643,6000644,6000645,6000646,6000647,6000648,6000649,6000650,6000651,6000652,6000653,6000654,6000655,6000656,6000657,6000658,6000659,6000660,6000661,6000662,6000663,6000664,6000665,6000666,6000667,6000668,6000669,6000670,6000671,6000672,6000673,6000674,6000675,6000676,6000677,6000678,6000679,6000680,6000681,6000682,6000683,6000684,6000685,6000686,6000687,6000688,6000689,6000690,6000691,6000692,6000693,6000694,6000695,6000696,6000697,6000698,6000699,6000700,6000701,6000702,6000703,6000704,6000705,6000706,6000707,6000708,6000709,6000710,6000711,6000712,6000713,6000714,6000715,6000716,6000717,6000718,6000719,6000720,6000721,6000722,6000723,6000724,6000725,6000726,6000727,6000728,6000729,6000730,6000731,6000732,6000733,6000734,6000735,6000736,6000737,6000738,6000739,6000740,6000741,6000742,6000743,6000744,6000745,6000746,6000747,6000748,6000749,6000750,6000751,6000752,6000753,6000754,6000755,6000756,6000757,6000758,6000759,6000760,6000761,6000762,6000763,6000764,6000765,6000766,6000767,6000768,6000769,6000770,6000771,6000772,6000773,6000774,6000775,6000776,6000777,6000778,6000779,6000780,6000781,6000782,6000783,6000784,6000785,6000786,6000787,6000788,6000789,6000790,6000791,6000792,6000793,6000794,6000795,6000796,6000797,6000798,6000799,6000800,6000801,6000802,6000803,6000804,6000805,6000806,6000807,6000808,6000809,6000810,6000811,6000812,6000813,6000814,6000815,6000816,6000817,6000818,6000819,6000820,6000821,6000822,6000823,6000824,6000825,6000826,6000827,6000828,6000829,6000830,6000831,6000832,6000833,6000834,6000835,6000836,6000837,6000838,6000839,6000840,6000841,6000842,6000843,6000844,6000845,6000846,6000847,6000848,6000849,6000850,6000851,6000852,6000853,6000854,6000855,6000856,6000857,6000858,6000859,6000860,6000861,6000862,6000863,6000864,6000865,6000866,6000867,6000868,6000869,6000870,6000871,6000872,6000873,6000874,6000875,6000876,6000877,6000878,6000879,6000880,6000881,6000882,6000883,6000884,6000885,6000886,6000887,6000888,6000889,6000890,6000891,6000892,6000893,6000894,6000895,6000896,6000897,6000898,6000899,6000900,6000901,6000902,6000903,6000904,6000905,6000906,6000907,6000908,6000909,6000910,6000911,6000912,6000913,6000914,6000915,6000916,6000917,6000918,6000919,6000920,6000921,6000922,6000923,6000924,6000925,6000926,6000927,6000928,6000929,6000930,6000931,6000932,6000933,6000934,6000935,6000936,6000937,6000938,6000939,6000940,6000941,6000942,6000943,6000944,6000945,6000946,6000947,6000948,6000949,6000950,6000951,6000952,6000953,6000954,6000955,6000956,6000957,6000958,6000959,6000960,6000961,6000962,6000963,6000964,6000965,6000966,6000967,6000968,6000969,6000970,6000971,6000972,6000973,6000974,6000975,6000976,6000977,6000978,6000979,6000980,6000981,6000982,6000983,6000984,6000985,6000986,6000987,6000988,6000989,6000990,6000991,6000992,6000993,6000994,6000995,6000996,6000997,6000998,6000999,6001000,7000001,7000002,7000003,7000004,7000005,7000006,7000007,7000008,7000009,7000010,7000011,7000012,7000013,7000014,7000015,7000016,7000017,7000018,7000019,7000020,7000021,7000022,7000023,7000024,7000025,7000026,7000027,7000028,7000029,7000030,7000031,7000032,7000033,7000034,7000035,7000036,7000037,7000038,7000039,7000040,7000041,7000042,7000043,7000044,7000045,7000046,7000047,7000048,7000049,7000050,7000051,7000052,7000053,7000054,7000055,7000056,7000057,7000058,7000059,7000060,7000061,7000062,7000063,7000064,7000065,7000066,7000067,7000068,7000069,7000070,7000071,7000072,7000073,7000074,7000075,7000076,7000077,7000078,7000079,7000080,7000081,7000082,7000083,7000084,7000085,7000086,7000087,7000088,7000089,7000090,7000091,7000092,7000093,7000094,7000095,7000096,7000097,7000098,7000099,7000100,7000101,7000102,7000103,7000104,7000105,7000106,7000107,7000108,7000109,7000110,7000111,7000112,7000113,7000114,7000115,7000116,7000117,7000118,7000119,7000120,7000121,7000122,7000123,7000124,7000125,7000126,7000127,7000128,7000129,7000130,7000131,7000132,7000133,7000134,7000135,7000136,7000137,7000138,7000139,7000140,7000141,7000142,7000143,7000144,7000145,7000146,7000147,7000148,7000149,7000150,7000151,7000152,7000153,7000154,7000155,7000156,7000157,7000158,7000159,7000160,7000161,7000162,7000163,7000164,7000165,7000166,7000167,7000168,7000169,7000170,7000171,7000172,7000173,7000174,7000175,7000176,7000177,7000178,7000179,7000180,7000181,7000182,7000183,7000184,7000185,7000186,7000187,7000188,7000189,7000190,7000191,7000192,7000193,7000194,7000195,7000196,7000197,7000198,7000199,7000200,7000201,7000202,7000203,7000204,7000205,7000206,7000207,7000208,7000209,7000210,7000211,7000212,7000213,7000214,7000215,7000216,7000217,7000218,7000219,7000220,7000221,7000222,7000223,7000224,7000225,7000226,7000227,7000228,7000229,7000230,7000231,7000232,7000233,7000234,7000235,7000236,7000237,7000238,7000239,7000240,7000241,7000242,7000243,7000244,7000245,7000246,7000247,7000248,7000249,7000250,7000251,7000252,7000253,7000254,7000255,7000256,7000257,7000258,7000259,7000260,7000261,7000262,7000263,7000264,7000265,7000266,7000267,7000268,7000269,7000270,7000271,7000272,7000273,7000274,7000275,7000276,7000277,7000278,7000279,7000280,7000281,7000282,7000283,7000284,7000285,7000286,7000287,7000288,7000289,7000290,7000291,7000292,7000293,7000294,7000295,7000296,7000297,7000298,7000299,7000300,7000301,7000302,7000303,7000304,7000305,7000306,7000307,7000308,7000309,7000310,7000311,7000312,7000313,7000314,7000315,7000316,7000317,7000318,7000319,7000320,7000321,7000322,7000323,7000324,7000325,7000326,7000327,7000328,7000329,7000330,7000331,7000332,7000333,7000334,7000335,7000336,7000337,7000338,7000339,7000340,7000341,7000342,7000343,7000344,7000345,7000346,7000347,7000348,7000349,7000350,7000351,7000352,7000353,7000354,7000355,7000356,7000357,7000358,7000359,7000360,7000361,7000362,7000363,7000364,7000365,7000366,7000367,7000368,7000369,7000370,7000371,7000372,7000373,7000374,7000375,7000376,7000377,7000378,7000379,7000380,7000381,7000382,7000383,7000384,7000385,7000386,7000387,7000388,7000389,7000390,7000391,7000392,7000393,7000394,7000395,7000396,7000397,7000398,7000399,7000400,7000401,7000402,7000403,7000404,7000405,7000406,7000407,7000408,7000409,7000410,7000411,7000412,7000413,7000414,7000415,7000416,7000417,7000418,7000419,7000420,7000421,7000422,7000423,7000424,7000425,7000426,7000427,7000428,7000429,7000430,7000431,7000432,7000433,7000434,7000435,7000436,7000437,7000438,7000439,7000440,7000441,7000442,7000443,7000444,7000445,7000446,7000447,7000448,7000449,7000450,7000451,7000452,7000453,7000454,7000455,7000456,7000457,7000458,7000459,7000460,7000461,7000462,7000463,7000464,7000465,7000466,7000467,7000468,7000469,7000470,7000471,7000472,7000473,7000474,7000475,7000476,7000477,7000478,7000479,7000480,7000481,7000482,7000483,7000484,7000485,7000486,7000487,7000488,7000489,7000490,7000491,7000492,7000493,7000494,7000495,7000496,7000497,7000498,7000499,7000500,7000501,7000502,7000503,7000504,7000505,7000506,7000507,7000508,7000509,7000510,7000511,7000512,7000513,7000514,7000515,7000516,7000517,7000518,7000519,7000520,7000521,7000522,7000523,7000524,7000525,7000526,7000527,7000528,7000529,7000530,7000531,7000532,7000533,7000534,7000535,7000536,7000537,7000538,7000539,7000540,7000541,7000542,7000543,7000544,7000545,7000546,7000547,7000548,7000549,7000550,7000551,7000552,7000553,7000554,7000555,7000556,7000557,7000558,7000559,7000560,7000561,7000562,7000563,7000564,7000565,7000566,7000567,7000568,7000569,7000570,7000571,7000572,7000573,7000574,7000575,7000576,7000577,7000578,7000579,7000580,7000581,7000582,7000583,7000584,7000585,7000586,7000587,7000588,7000589,7000590,7000591,7000592,7000593,7000594,7000595,7000596,7000597,7000598,7000599,7000600,7000601,7000602,7000603,7000604,7000605,7000606,7000607,7000608,7000609,7000610,7000611,7000612,7000613,7000614,7000615,7000616,7000617,7000618,7000619,7000620,7000621,7000622,7000623,7000624,7000625,7000626,7000627,7000628,7000629,7000630,7000631,7000632,7000633,7000634,7000635,7000636,7000637,7000638,7000639,7000640,7000641,7000642,7000643,7000644,7000645,7000646,7000647,7000648,7000649,7000650,7000651,7000652,7000653,7000654,7000655,7000656,7000657,7000658,7000659,7000660,7000661,7000662,7000663,7000664,7000665,7000666,7000667,7000668,7000669,7000670,7000671,7000672,7000673,7000674,7000675,7000676,7000677,7000678,7000679,7000680,7000681,7000682,7000683,7000684,7000685,7000686,7000687,7000688,7000689,7000690,7000691,7000692,7000693,7000694,7000695,7000696,7000697,7000698,7000699,7000700,7000701,7000702,7000703,7000704,7000705,7000706,7000707,7000708,7000709,7000710,7000711,7000712,7000713,7000714,7000715,7000716,7000717,7000718,7000719,7000720,7000721,7000722,7000723,7000724,7000725,7000726,7000727,7000728,7000729,7000730,7000731,7000732,7000733,7000734,7000735,7000736,7000737,7000738,7000739,7000740,7000741,7000742,7000743,7000744,7000745,7000746,7000747,7000748,7000749,7000750,7000751,7000752,7000753,7000754,7000755,7000756,7000757,7000758,7000759,7000760,7000761,7000762,7000763,7000764,7000765,7000766,7000767,7000768,7000769,7000770,7000771,7000772,7000773,7000774,7000775,7000776,7000777,7000778,7000779,7000780,7000781,7000782,7000783,7000784,7000785,7000786,7000787,7000788,7000789,7000790,7000791,7000792,7000793,7000794,7000795,7000796,7000797,7000798,7000799,7000800,7000801,7000802,7000803,7000804,7000805,7000806,7000807,7000808,7000809,7000810,7000811,7000812,7000813,7000814,7000815,7000816,7000817,7000818,7000819,7000820,7000821,7000822,7000823,7000824,7000825,7000826,7000827,7000828,7000829,7000830,7000831,7000832,7000833,7000834,7000835,7000836,7000837,7000838,7000839,7000840,7000841,7000842,7000843,7000844,7000845,7000846,7000847,7000848,7000849,7000850,7000851,7000852,7000853,7000854,7000855,7000856,7000857,7000858,7000859,7000860,7000861,7000862,7000863,7000864,7000865,7000866,7000867,7000868,7000869,7000870,7000871,7000872,7000873,7000874,7000875,7000876,7000877,7000878,7000879,7000880,7000881,7000882,7000883,7000884,7000885,7000886,7000887,7000888,7000889,7000890,7000891,7000892,7000893,7000894,7000895,7000896,7000897,7000898,7000899,7000900,7000901,7000902,7000903,7000904,7000905,7000906,7000907,7000908,7000909,7000910,7000911,7000912,7000913,7000914,7000915,7000916,7000917,7000918,7000919,7000920,7000921,7000922,7000923,7000924,7000925,7000926,7000927,7000928,7000929,7000930,7000931,7000932,7000933,7000934,7000935,7000936,7000937,7000938,7000939,7000940,7000941,7000942,7000943,7000944,7000945,7000946,7000947,7000948,7000949,7000950,7000951,7000952,7000953,7000954,7000955,7000956,7000957,7000958,7000959,7000960,7000961,7000962,7000963,7000964,7000965,7000966,7000967,7000968,7000969,7000970,7000971,7000972,7000973,7000974,7000975,7000976,7000977,7000978,7000979,7000980,7000981,7000982,7000983,7000984,7000985,7000986,7000987,7000988,7000989,7000990,7000991,7000992,7000993,7000994,7000995,7000996,7000997,7000998,7000999,7001000,8000002,8000003,8000004,8000005,8000006,8000007,8000008,8000009,8000010,8000011,8000012,8000013,8000014,8000015,8000016,8000017,8000018,8000019,8000020,8000021,8000022,8000023,8000024,8000025,8000026,8000027,8000028,8000029,8000030,8000031,8000032,8000033,8000034,8000035,8000036,8000037,8000038,8000039,8000040,8000041,8000042,8000043,8000044,8000045,8000046,8000047,8000048,8000049,8000050,8000051,8000052,8000053,8000054,8000055,8000056,8000057,8000058,8000059,8000060,8000061,8000062,8000063,8000064,8000065,8000066,8000067,8000068,8000069,8000070,8000071,8000072,8000073,8000074,8000075,8000076,8000077,8000078,8000079,8000080,8000081,8000082,8000083,8000084,8000085,8000086,8000087,8000088,8000089,8000090,8000091,8000092,8000093,8000094,8000095,8000096,8000097,8000098,8000099,8000100,8000101,8000102,8000103,8000104,8000105,8000106,8000107,8000108,8000109,8000110,8000111,8000112,8000113,8000114,8000115,8000116,8000117,8000118,8000119,8000120,8000121,8000122,8000123,8000124,8000125,8000126,8000127,8000128,8000129,8000130,8000131,8000132,8000133,8000134,8000135,8000136,8000137,8000138,8000139,8000140,8000141,8000142,8000143,8000144,8000145,8000146,8000147,8000148,8000149,8000150,8000151,8000152,8000153,8000154,8000155,8000156,8000157,8000158,8000159,8000160,8000161,8000162,8000163,8000164,8000165,8000166,8000167,8000168,8000169,8000170,8000171,8000172,8000173,8000174,8000175,8000176,8000177,8000178,8000179,8000180,8000181,8000182,8000183,8000184,8000185,8000186,8000187,8000188,8000189,8000190,8000191,8000192,8000193,8000194,8000195,8000196,8000197,8000198,8000199,8000200,8000201,8000202,8000203,8000204,8000205,8000206,8000207,8000208,8000209,8000210,8000211,8000212,8000213,8000214,8000215,8000216,8000217,8000218,8000219,8000220,8000221,8000222,8000223,8000224,8000225,8000226,8000227,8000228,8000229,8000230,8000231,8000232,8000233,8000234,8000235,8000236,8000237,8000238,8000239,8000240,8000241,8000242,8000243,8000244,8000245,8000246,8000247,8000248,8000249,8000250,8000251,8000252,8000253,8000254,8000255,8000256,8000257,8000258,8000259,8000260,8000261,8000262,8000263,8000264,8000265,8000266,8000267,8000268,8000269,8000270,8000271,8000272,8000273,8000274,8000275,8000276,8000277,8000278,8000279,8000280,8000281,8000282,8000283,8000284,8000285,8000286,8000287,8000288,8000289,8000290,8000291,8000292,8000293,8000294,8000295,8000296,8000297,8000298,8000299,8000300,8000301,8000302,8000303,8000304,8000305,8000306,8000307,8000308,8000309,8000310,8000311,8000312,8000313,8000314,8000315,8000316,8000317,8000318,8000319,8000320,8000321,8000322,8000323,8000324,8000325,8000326,8000327,8000328,8000329,8000330,8000331,8000332,8000333,8000334,8000335,8000336,8000337,8000338,8000339,8000340,8000341,8000342,8000343,8000344,8000345,8000346,8000347,8000348,8000349,8000350,8000351,8000352,8000353,8000354,8000355,8000356,8000357,8000358,8000359,8000360,8000361,8000362,8000363,8000364,8000365,8000366,8000367,8000368,8000369,8000370,8000371,8000372,8000373,8000374,8000375,8000376,8000377,8000378,8000379,8000380,8000381,8000382,8000383,8000384,8000385,8000386,8000387,8000388,8000389,8000390,8000391,8000392,8000393,8000394,8000395,8000396,8000397,8000398,8000399,8000400,8000401,8000402,8000403,8000404,8000405,8000406,8000407,8000408,8000409,8000410,8000411,8000412,8000413,8000414,8000415,8000416,8000417,8000418,8000419,8000420,8000421,8000422,8000423,8000424,8000425,8000426,8000427,8000428,8000429,8000430,8000431,8000432,8000433,8000434,8000435,8000436,8000437,8000438,8000439,8000440,8000441,8000442,8000443,8000444,8000445,8000446,8000447,8000448,8000449,8000450,8000451,8000452,8000453,8000454,8000455,8000456,8000457,8000458,8000459,8000460,8000461,8000462,8000463,8000464,8000465,8000466,8000467,8000468,8000469,8000470,8000471,8000472,8000473,8000474,8000475,8000476,8000477,8000478,8000479,8000480,8000481,8000482,8000483,8000484,8000485,8000486,8000487,8000488,8000489,8000490,8000491,8000492,8000493,8000494,8000495,8000496,8000497,8000498,8000499,8000500,8000501,8000502,8000503,8000504,8000505,8000506,8000507,8000508,8000509,8000510,8000511,8000512,8000513,8000514,8000515,8000516,8000517,8000518,8000519,8000520,8000521,8000522,8000523,8000524,8000525,8000526,8000527,8000528,8000529,8000530,8000531,8000532,8000533,8000534,8000535,8000536,8000537,8000538,8000539,8000540,8000541,8000542,8000543,8000544,8000545,8000546,8000547,8000548,8000549,8000550,8000551,8000552,8000553,8000554,8000555,8000556,8000557,8000558,8000559,8000560,8000561,8000562,8000563,8000564,8000565,8000566,8000567,8000568,8000569,8000570,8000571,8000572,8000573,8000574,8000575,8000576,8000577,8000578,8000579,8000580,8000581,8000582,8000583,8000584,8000585,8000586,8000587,8000588,8000589,8000590,8000591,8000592,8000593,8000594,8000595,8000596,8000597,8000598,8000599,8000600,8000601,8000602,8000603,8000604,8000605,8000606,8000607,8000608,8000609,8000610,8000611,8000612,8000613,8000614,8000615,8000616,8000617,8000618,8000619,8000620,8000621,8000622,8000623,8000624,8000625,8000626,8000627,8000628,8000629,8000630,8000631,8000632,8000633,8000634,8000635,8000636,8000637,8000638,8000639,8000640,8000641,8000642,8000643,8000644,8000645,8000646,8000647,8000648,8000649,8000650,8000651,8000652,8000653,8000654,8000655,8000656,8000657,8000658,8000659,8000660,8000661,8000662,8000663,8000664,8000665,8000666,8000667,8000668,8000669,8000670,8000671,8000672,8000673,8000674,8000675,8000676,8000677,8000678,8000679,8000680,8000681,8000682,8000683,8000684,8000685,8000686,8000687,8000688,8000689,8000690,8000691,8000692,8000693,8000694,8000695,8000696,8000697,8000698,8000699,8000700,8000701,8000702,8000703,8000704,8000705,8000706,8000707,8000708,8000709,8000710,8000711,8000712,8000713,8000714,8000715,8000716,8000717,8000718,8000719,8000720,8000721,8000722,8000723,8000724,8000725,8000726,8000727,8000728,8000729,8000730,8000731,8000732,8000733,8000734,8000735,8000736,8000737,8000738,8000739,8000740,8000741,8000742,8000743,8000744,8000745,8000746,8000747,8000748,8000749,8000750,8000751,8000752,8000753,8000754,8000755,8000756,8000757,8000758,8000759,8000760,8000761,8000762,8000763,8000764,8000765,8000766,8000767,8000768,8000769,8000770,8000771,8000772,8000773,8000774,8000775,8000776,8000777,8000778,8000779,8000780,8000781,8000782,8000783,8000784,8000785,8000786,8000787,8000788,8000789,8000790,8000791,8000792,8000793,8000794,8000795,8000796,8000797,8000798,8000799,8000800,8000801,8000802,8000803,8000804,8000805,8000806,8000807,8000808,8000809,8000810,8000811,8000812,8000813,8000814,8000815,8000816,8000817,8000818,8000819,8000820,8000821,8000822,8000823,8000824,8000825,8000826,8000827,8000828,8000829,8000830,8000831,8000832,8000833,8000834,8000835,8000836,8000837,8000838,8000839,8000840,8000841,8000842,8000843,8000844,8000845,8000846,8000847,8000848,8000849,8000850,8000851,8000852,8000853,8000854,8000855,8000856,8000857,8000858,8000859,8000860,8000861,8000862,8000863,8000864,8000865,8000866,8000867,8000868,8000869,8000870,8000871,8000872,8000873,8000874,8000875,8000876,8000877,8000878,8000879,8000880,8000881,8000882,8000883,8000884,8000885,8000886,8000887,8000888,8000889,8000890,8000891,8000892,8000893,8000894,8000895,8000896,8000897,8000898,8000899,8000900,8000901,8000902,8000903,8000904,8000905,8000906,8000907,8000908,8000909,8000910,8000911,8000912,8000913,8000914,8000915,8000916,8000917,8000918,8000919,8000920,8000921,8000922,8000923,8000924,8000925,8000926,8000927,8000928,8000929,8000930,8000931,8000932,8000933,8000934,8000935,8000936,8000937,8000938,8000939,8000940,8000941,8000942,8000943,8000944,8000945,8000946,8000947,8000948,8000949,8000950,8000951,8000952,8000953,8000954,8000955,8000956,8000957,8000958,8000959,8000960,8000961,8000962,8000963,8000964,8000965,8000966,8000967,8000968,8000969,8000970,8000971,8000972,8000973,8000974,8000975,8000976,8000977,8000978,8000979,8000980,8000981,8000982,8000983,8000984,8000985,8000986,8000987,8000988,8000989,8000990,8000991,8000992,8000993,8000994,8000995,8000996,8000997,8000998,8000999,8001000,9000001,9000002,9000003,9000004,9000005,9000006,9000007,9000008,9000009,9000010,9000011,9000012,9000013,9000014,9000015,9000016,9000017,9000018,9000019,9000020,9000021,9000022,9000023,9000024,9000025,9000026,9000027,9000028,9000029,9000030,9000031,9000032,9000033,9000034,9000035,9000036,9000037,9000038,9000039,9000040,9000041,9000042,9000043,9000044,9000045,9000046,9000047,9000048,9000049,9000050,9000051,9000052,9000053,9000054,9000055,9000056,9000057,9000058,9000059,9000060,9000061,9000062,9000063,9000064,9000065,9000066,9000067,9000068,9000069,9000070,9000071,9000072,9000073,9000074,9000075,9000076,9000077,9000078,9000079,9000080,9000081,9000082,9000083,9000084,9000085,9000086,9000087,9000088,9000089,9000090,9000091,9000092,9000093,9000094,9000095,9000096,9000097,9000098,9000099,9000100,9000101,9000102,9000103,9000104,9000105,9000106,9000107,9000108,9000109,9000110,9000111,9000112,9000113,9000114,9000115,9000116,9000117,9000118,9000119,9000120,9000121,9000122,9000123,9000124,9000125,9000126,9000127,9000128,9000129,9000130,9000131,9000132,9000133,9000134,9000135,9000136,9000137,9000138,9000139,9000140,9000141,9000142,9000143,9000144,9000145,9000146,9000147,9000148,9000149,9000150,9000151,9000152,9000153,9000154,9000155,9000156,9000157,9000158,9000159,9000160,9000161,9000162,9000163,9000164,9000165,9000166,9000167,9000168,9000169,9000170,9000171,9000172,9000173,9000174,9000175,9000176,9000177,9000178,9000179,9000180,9000181,9000182,9000183,9000184,9000185,9000186,9000187,9000188,9000189,9000190,9000191,9000192,9000193,9000194,9000195,9000196,9000197,9000198,9000199,9000200,9000201,9000202,9000203,9000204,9000205,9000206,9000207,9000208,9000209,9000210,9000211,9000212,9000213,9000214,9000215,9000216,9000217,9000218,9000219,9000220,9000221,9000222,9000223,9000224,9000225,9000226,9000227,9000228,9000229,9000230,9000231,9000232,9000233,9000234,9000235,9000236,9000237,9000238,9000239,9000240,9000241,9000242,9000243,9000244,9000245,9000246,9000247,9000248,9000249,9000250,9000251,9000252,9000253,9000254,9000255,9000256,9000257,9000258,9000259,9000260,9000261,9000262,9000263,9000264,9000265,9000266,9000267,9000268,9000269,9000270,9000271,9000272,9000273,9000274,9000275,9000276,9000277,9000278,9000279,9000280,9000281,9000282,9000283,9000284,9000285,9000286,9000287,9000288,9000289,9000290,9000291,9000292,9000293,9000294,9000295,9000296,9000297,9000298,9000299,9000300,9000301,9000302,9000303,9000304,9000305,9000306,9000307,9000308,9000309,9000310,9000311,9000312,9000313,9000314,9000315,9000316,9000317,9000318,9000319,9000320,9000321,9000322,9000323,9000324,9000325,9000326,9000327,9000328,9000329,9000330,9000331,9000332,9000333,9000334,9000335,9000336,9000337,9000338,9000339,9000340,9000341,9000342,9000343,9000344,9000345,9000346,9000347,9000348,9000349,9000350,9000351,9000352,9000353,9000354,9000355,9000356,9000357,9000358,9000359,9000360,9000361,9000362,9000363,9000364,9000365,9000366,9000367,9000368,9000369,9000370,9000371,9000372,9000373,9000374,9000375,9000376,9000377,9000378,9000379,9000380,9000381,9000382,9000383,9000384,9000385,9000386,9000387,9000388,9000389,9000390,9000391,9000392,9000393,9000394,9000395,9000396,9000397,9000398,9000399,9000400,9000401,9000402,9000403,9000404,9000405,9000406,9000407,9000408,9000409,9000410,9000411,9000412,9000413,9000414,9000415,9000416,9000417,9000418,9000419,9000420,9000421,9000422,9000423,9000424,9000425,9000426,9000427,9000428,9000429,9000430,9000431,9000432,9000433,9000434,9000435,9000436,9000437,9000438,9000439,9000440,9000441,9000442,9000443,9000444,9000445,9000446,9000447,9000448,9000449,9000450,9000451,9000452,9000453,9000454,9000455,9000456,9000457,9000458,9000459,9000460,9000461,9000462,9000463,9000464,9000465,9000466,9000467,9000468,9000469,9000470,9000471,9000472,9000473,9000474,9000475,9000476,9000477,9000478,9000479,9000480,9000481,9000482,9000483,9000484,9000485,9000486,9000487,9000488,9000489,9000490,9000491,9000492,9000493,9000494,9000495,9000496,9000497,9000498,9000499,9000500,9000501,9000502,9000503,9000504,9000505,9000506,9000507,9000508,9000509,9000510,9000511,9000512,9000513,9000514,9000515,9000516,9000517,9000518,9000519,9000520,9000521,9000522,9000523,9000524,9000525,9000526,9000527,9000528,9000529,9000530,9000531,9000532,9000533,9000534,9000535,9000536,9000537,9000538,9000539,9000540,9000541,9000542,9000543,9000544,9000545,9000546,9000547,9000548,9000549,9000550,9000551,9000552,9000553,9000554,9000555,9000556,9000557,9000558,9000559,9000560,9000561,9000562,9000563,9000564,9000565,9000566,9000567,9000568,9000569,9000570,9000571,9000572,9000573,9000574,9000575,9000576,9000577,9000578,9000579,9000580,9000581,9000582,9000583,9000584,9000585,9000586,9000587,9000588,9000589,9000590,9000591,9000592,9000593,9000594,9000595,9000596,9000597,9000598,9000599,9000600,9000601,9000602,9000603,9000604,9000605,9000606,9000607,9000608,9000609,9000610,9000611,9000612,9000613,9000614,9000615,9000616,9000617,9000618,9000619,9000620,9000621,9000622,9000623,9000624,9000625,9000626,9000627,9000628,9000629,9000630,9000631,9000632,9000633,9000634,9000635,9000636,9000637,9000638,9000639,9000640,9000641,9000642,9000643,9000644,9000645,9000646,9000647,9000648,9000649,9000650,9000651,9000652,9000653,9000654,9000655,9000656,9000657,9000658,9000659,9000660,9000661,9000662,9000663,9000664,9000665,9000666,9000667,9000668,9000669,9000670,9000671,9000672,9000673,9000674,9000675,9000676,9000677,9000678,9000679,9000680,9000681,9000682,9000683,9000684,9000685,9000686,9000687,9000688,9000689,9000690,9000691,9000692,9000693,9000694,9000695,9000696,9000697,9000698,9000699,9000700,9000701,9000702,9000703,9000704,9000705,9000706,9000707,9000708,9000709,9000710,9000711,9000712,9000713,9000714,9000715,9000716,9000717,9000718,9000719,9000720,9000721,9000722,9000723,9000724,9000725,9000726,9000727,9000728,9000729,9000730,9000731,9000732,9000733,9000734,9000735,9000736,9000737,9000738,9000739,9000740,9000741,9000742,9000743,9000744,9000745,9000746,9000747,9000748,9000749,9000750,9000751,9000752,9000753,9000754,9000755,9000756,9000757,9000758,9000759,9000760,9000761,9000762,9000763,9000764,9000765,9000766,9000767,9000768,9000769,9000770,9000771,9000772,9000773,9000774,9000775,9000776,9000777,9000778,9000779,9000780,9000781,9000782,9000783,9000784,9000785,9000786,9000787,9000788,9000789,9000790,9000791,9000792,9000793,9000794,9000795,9000796,9000797,9000798,9000799,9000800,9000801,9000802,9000803,9000804,9000805,9000806,9000807,9000808,9000809,9000810,9000811,9000812,9000813,9000814,9000815,9000816,9000817,9000818,9000819,9000820,9000821,9000822,9000823,9000824,9000825,9000826,9000827,9000828,9000829,9000830,9000831,9000832,9000833,9000834,9000835,9000836,9000837,9000838,9000839,9000840,9000841,9000842,9000843,9000844,9000845,9000846,9000847,9000848,9000849,9000850,9000851,9000852,9000853,9000854,9000855,9000856,9000857,9000858,9000859,9000860,9000861,9000862,9000863,9000864,9000865,9000866,9000867,9000868,9000869,9000870,9000871,9000872,9000873,9000874,9000875,9000876,9000877,9000878,9000879,9000880,9000881,9000882,9000883,9000884,9000885,9000886,9000887,9000888,9000889,9000890,9000891,9000892,9000893,9000894,9000895,9000896,9000897,9000898,9000899,9000900,9000901,9000902,9000903,9000904,9000905,9000906,9000907,9000908,9000909,9000910,9000911,9000912,9000913,9000914,9000915,9000916,9000917,9000918,9000919,9000920,9000921,9000922,9000923,9000924,9000925,9000926,9000927,9000928,9000929,9000930,9000931,9000932,9000933,9000934,9000935,9000936,9000937,9000938,9000939,9000940,9000941,9000942,9000943,9000944,9000945,9000946,9000947,9000948,9000949,9000950,9000951,9000952,9000953,9000954,9000955,9000956,9000957,9000958,9000959,9000960,9000961,9000962,9000963,9000964,9000965,9000966,9000967,9000968,9000969,9000970,9000971,9000972,9000973,9000974,9000975,9000976,9000977,9000978,9000979,9000980,9000981,9000982,9000983,9000984,9000985,9000986,9000987,9000988,9000989,9000990,9000991,9000992,9000993,9000994,9000995,9000996,9000997,9000998,9000999,9001000,10000001,10000002,10000003,10000004,10000005,10000006,10000007,10000008,10000009,10000010,10000011,10000012,10000013,10000014,10000015,10000016,10000017,10000018,10000019,10000020,10000021,10000022,10000023,10000024,10000025,10000026,10000027,10000028,10000029,10000030,10000031,10000032,10000033,10000034,10000035,10000036,10000037,10000038,10000039,10000040,10000041,10000042,10000043,10000044,10000045,10000046,10000047,10000048,10000049,10000050,10000051,10000052,10000053,10000054,10000055,10000056,10000057,10000058,10000059,10000060,10000061,10000062,10000063,10000064,10000065,10000066,10000067,10000068,10000069,10000070,10000071,10000072,10000073,10000074,10000075,10000076,10000077,10000078,10000079,10000080,10000081,10000082,10000083,10000084,10000085,10000086,10000087,10000088,10000089,10000090,10000091,10000092,10000093,10000094,10000095,10000096,10000097,10000098,10000099,10000100,10000101,10000102,10000103,10000104,10000105,10000106,10000107,10000108,10000109,10000110,10000111,10000112,10000113,10000114,10000115,10000116,10000117,10000118,10000119,10000120,10000121,10000122,10000123,10000124,10000125,10000126,10000127,10000128,10000129,10000130,10000131,10000132,10000133,10000134,10000135,10000136,10000137,10000138,10000139,10000140,10000141,10000142,10000143,10000144,10000145,10000146,10000147,10000148,10000149,10000150,10000151,10000152,10000153,10000154,10000155,10000156,10000157,10000158,10000159,10000160,10000161,10000162,10000163,10000164,10000165,10000166,10000167,10000168,10000169,10000170,10000171,10000172,10000173,10000174,10000175,10000176,10000177,10000178,10000179,10000180,10000181,10000182,10000183,10000184,10000185,10000186,10000187,10000188,10000189,10000190,10000191,10000192,10000193,10000194,10000195,10000196,10000197,10000198,10000199,10000200,10000201,10000202,10000203,10000204,10000205,10000206,10000207,10000208,10000209,10000210,10000211,10000212,10000213,10000214,10000215,10000216,10000217,10000218,10000219,10000220,10000221,10000222,10000223,10000224,10000225,10000226,10000227,10000228,10000229,10000230,10000231,10000232,10000233,10000234,10000235,10000236,10000237,10000238,10000239,10000240,10000241,10000242,10000243,10000244,10000245,10000246,10000247,10000248,10000249,10000250,10000251,10000252,10000253,10000254,10000255,10000256,10000257,10000258,10000259,10000260,10000261,10000262,10000263,10000264,10000265,10000266,10000267,10000268,10000269,10000270,10000271,10000272,10000273,10000274,10000275,10000276,10000277,10000278,10000279,10000280,10000281,10000282,10000283,10000284,10000285,10000286,10000287,10000288,10000289,10000290,10000291,10000292,10000293,10000294,10000295,10000296,10000297,10000298,10000299,10000300,10000301,10000302,10000303,10000304,10000305,10000306,10000307,10000308,10000309,10000310,10000311,10000312,10000313,10000314,10000315,10000316,10000317,10000318,10000319,10000320,10000321,10000322,10000323,10000324,10000325,10000326,10000327,10000328,10000329,10000330,10000331,10000332,10000333,10000334,10000335,10000336,10000337,10000338,10000339,10000340,10000341,10000342,10000343,10000344,10000345,10000346,10000347,10000348,10000349,10000350,10000351,10000352,10000353,10000354,10000355,10000356,10000357,10000358,10000359,10000360,10000361,10000362,10000363,10000364,10000365,10000366,10000367,10000368,10000369,10000370,10000371,10000372,10000373,10000374,10000375,10000376,10000377,10000378,10000379,10000380,10000381,10000382,10000383,10000384,10000385,10000386,10000387,10000388,10000389,10000390,10000391,10000392,10000393,10000394,10000395,10000396,10000397,10000398,10000399,10000400,10000401,10000402,10000403,10000404,10000405,10000406,10000407,10000408,10000409,10000410,10000411,10000412,10000413,10000414,10000415,10000416,10000417,10000418,10000419,10000420,10000421,10000422,10000423,10000424,10000425,10000426,10000427,10000428,10000429,10000430,10000431,10000432,10000433,10000434,10000435,10000436,10000437,10000438,10000439,10000440,10000441,10000442,10000443,10000444,10000445,10000446,10000447,10000448,10000449,10000450,10000451,10000452,10000453,10000454,10000455,10000456,10000457,10000458,10000459,10000460,10000461,10000462,10000463,10000464,10000465,10000466,10000467,10000468,10000469,10000470,10000471,10000472,10000473,10000474,10000475,10000476,10000477,10000478,10000479,10000480,10000481,10000482,10000483,10000484,10000485,10000486,10000487,10000488,10000489,10000490,10000491,10000492,10000493,10000494,10000495,10000496,10000497,10000498,10000499,10000500,10000501,10000502,10000503,10000504,10000505,10000506,10000507,10000508,10000509,10000510,10000511,10000512,10000513,10000514,10000515,10000516,10000517,10000518,10000519,10000520,10000521,10000522,10000523,10000524,10000525,10000526,10000527,10000528,10000529,10000530,10000531,10000532,10000533,10000534,10000535,10000536,10000537,10000538,10000539,10000540,10000541,10000542,10000543,10000544,10000545,10000546,10000547,10000548,10000549,10000550,10000551,10000552,10000553,10000554,10000555,10000556,10000557,10000558,10000559,10000560,10000561,10000562,10000563,10000564,10000565,10000566,10000567,10000568,10000569,10000570,10000571,10000572,10000573,10000574,10000575,10000576,10000577,10000578,10000579,10000580,10000581,10000582,10000583,10000584,10000585,10000586,10000587,10000588,10000589,10000590,10000591,10000592,10000593,10000594,10000595,10000596,10000597,10000598,10000599,10000600,10000601,10000602,10000603,10000604,10000605,10000606,10000607,10000608,10000609,10000610,10000611,10000612,10000613,10000614,10000615,10000616,10000617,10000618,10000619,10000620,10000621,10000622,10000623,10000624,10000625,10000626,10000627,10000628,10000629,10000630,10000631,10000632,10000633,10000634,10000635,10000636,10000637,10000638,10000639,10000640,10000641,10000642,10000643,10000644,10000645,10000646,10000647,10000648,10000649,10000650,10000651,10000652,10000653,10000654,10000655,10000656,10000657,10000658,10000659,10000660,10000661,10000662,10000663,10000664,10000665,10000666,10000667,10000668,10000669,10000670,10000671,10000672,10000673,10000674,10000675,10000676,10000677,10000678,10000679,10000680,10000681,10000682,10000683,10000684,10000685,10000686,10000687,10000688,10000689,10000690,10000691,10000692,10000693,10000694,10000695,10000696,10000697,10000698,10000699,10000700,10000701,10000702,10000703,10000704,10000705,10000706,10000707,10000708,10000709,10000710,10000711,10000712,10000713,10000714,10000715,10000716,10000717,10000718,10000719,10000720,10000721,10000722,10000723,10000724,10000725,10000726,10000727,10000728,10000729,10000730,10000731,10000732,10000733,10000734,10000735,10000736,10000737,10000738,10000739,10000740,10000741,10000742,10000743,10000744,10000745,10000746,10000747,10000748,10000749,10000750,10000751,10000752,10000753,10000754,10000755,10000756,10000757,10000758,10000759,10000760,10000761,10000762,10000763,10000764,10000765,10000766,10000767,10000768,10000769,10000770,10000771,10000772,10000773,10000774,10000775,10000776,10000777,10000778,10000779,10000780,10000781,10000782,10000783,10000784,10000785,10000786,10000787,10000788,10000789,10000790,10000791,10000792,10000793,10000794,10000795,10000796,10000797,10000798,10000799,10000800,10000801,10000802,10000803,10000804,10000805,10000806,10000807,10000808,10000809,10000810,10000811,10000812,10000813,10000814,10000815,10000816,10000817,10000818,10000819,10000820,10000821,10000822,10000823,10000824,10000825,10000826,10000827,10000828,10000829,10000830,10000831,10000832,10000833,10000834,10000835,10000836,10000837,10000838,10000839,10000840,10000841,10000842,10000843,10000844,10000845,10000846,10000847,10000848,10000849,10000850,10000851,10000852,10000853,10000854,10000855,10000856,10000857,10000858,10000859,10000860,10000861,10000862,10000863,10000864,10000865,10000866,10000867,10000868,10000869,10000870,10000871,10000872,10000873,10000874,10000875,10000876,10000877,10000878,10000879,10000880,10000881,10000882,10000883,10000884,10000885,10000886,10000887,10000888,10000889,10000890,10000891,10000892,10000893,10000894,10000895,10000896,10000897,10000898,10000899,10000900,10000901,10000902,10000903,10000904,10000905,10000906,10000907,10000908,10000909,10000910,10000911,10000912,10000913,10000914,10000915,10000916,10000917,10000918,10000919,10000920,10000921,10000922,10000923,10000924,10000925,10000926,10000927,10000928,10000929,10000930,10000931,10000932,10000933,10000934,10000935,10000936,10000937,10000938,10000939,10000940,10000941,10000942,10000943,10000944,10000945,10000946,10000947,10000948,10000949,10000950,10000951,10000952,10000953,10000954,10000955,10000956,10000957,10000958,10000959,10000960,10000961,10000962,10000963,10000964,10000965,10000966,10000967,10000968,10000969,10000970,10000971,10000972,10000973,10000974,10000975,10000976,10000977,10000978,10000979,10000980,10000981,10000982,10000983,10000984,10000985,10000986,10000987,10000988,10000989,10000990,10000991,10000992,10000993,10000994,10000995,10000996,10000997,10000998,10000999,10001000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ #Table3 1*10k 100*100 1000*10
+ - table: pkeyBigint10k_
+ count: 1
+ rows: 10000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: JoinG5_1_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: customer=3,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedpkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedpkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+ - workload: JoinG5_2_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedpkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedpkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card3_1 in (1000058);
+
+ - workload: JoinG5_3_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: customer=7,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedpkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedpkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG5_4_1Mtbl_join_1Mtbl_two_conditions_seqscan_two_filters
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangepkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card2_1=b.col_bigint_card2_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG5_5_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=1,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedpkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedpkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+ - workload: JoinG5_6_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=3,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedpkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedpkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card3_1 in (1000058);
+
+ - workload: JoinG5_7_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=8,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedpkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedpkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG5_8_1Mtbl_join_10ktbl_two_conditions_seqscan_two_filters
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangepkey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card2_1=b.col_bigint_card2_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card2_1 in (1000058);
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING6_to_test_data_cardinality_skey.yaml b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING6_to_test_data_cardinality_skey.yaml
new file mode 100644
index 000000000..632d115cd
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING6_to_test_data_cardinality_skey.yaml
@@ -0,0 +1,199 @@
+#100000 col1 col2 col3 col4
+#Table1 1*1M 1000*1k 10000*100
+#Table2 1*1L 1000*100 10000*10
+#Table3 1*10k 100*100 1000*10
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint10k_1;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10k_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card1_1,col_bigint_card2_1,col_bigint_card3_1)
+ - CREATE INDEX ON pkeyBigint1M_2(col_bigint_card1_1,col_bigint_card2_1,col_bigint_card3_1)
+ - CREATE INDEX ON pkeyBigint10k_1(col_bigint_card1_1,col_bigint_card2_1,col_bigint_card3_1)
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint10k_1;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000,2000002,2000003,2000004,2000005,2000006,2000007,2000008,2000009,2000010,2000011,2000012,2000013,2000014,2000015,2000016,2000017,2000018,2000019,2000020,2000021,2000022,2000023,2000024,2000025,2000026,2000027,2000028,2000029,2000030,2000031,2000032,2000033,2000034,2000035,2000036,2000037,2000038,2000039,2000040,2000041,2000042,2000043,2000044,2000045,2000046,2000047,2000048,2000049,2000050,2000051,2000052,2000053,2000054,2000055,2000056,2000057,2000058,2000059,2000060,2000061,2000062,2000063,2000064,2000065,2000066,2000067,2000068,2000069,2000070,2000071,2000072,2000073,2000074,2000075,2000076,2000077,2000078,2000079,2000080,2000081,2000082,2000083,2000084,2000085,2000086,2000087,2000088,2000089,2000090,2000091,2000092,2000093,2000094,2000095,2000096,2000097,2000098,2000099,2000100,2000101,2000102,2000103,2000104,2000105,2000106,2000107,2000108,2000109,2000110,2000111,2000112,2000113,2000114,2000115,2000116,2000117,2000118,2000119,2000120,2000121,2000122,2000123,2000124,2000125,2000126,2000127,2000128,2000129,2000130,2000131,2000132,2000133,2000134,2000135,2000136,2000137,2000138,2000139,2000140,2000141,2000142,2000143,2000144,2000145,2000146,2000147,2000148,2000149,2000150,2000151,2000152,2000153,2000154,2000155,2000156,2000157,2000158,2000159,2000160,2000161,2000162,2000163,2000164,2000165,2000166,2000167,2000168,2000169,2000170,2000171,2000172,2000173,2000174,2000175,2000176,2000177,2000178,2000179,2000180,2000181,2000182,2000183,2000184,2000185,2000186,2000187,2000188,2000189,2000190,2000191,2000192,2000193,2000194,2000195,2000196,2000197,2000198,2000199,2000200,2000201,2000202,2000203,2000204,2000205,2000206,2000207,2000208,2000209,2000210,2000211,2000212,2000213,2000214,2000215,2000216,2000217,2000218,2000219,2000220,2000221,2000222,2000223,2000224,2000225,2000226,2000227,2000228,2000229,2000230,2000231,2000232,2000233,2000234,2000235,2000236,2000237,2000238,2000239,2000240,2000241,2000242,2000243,2000244,2000245,2000246,2000247,2000248,2000249,2000250,2000251,2000252,2000253,2000254,2000255,2000256,2000257,2000258,2000259,2000260,2000261,2000262,2000263,2000264,2000265,2000266,2000267,2000268,2000269,2000270,2000271,2000272,2000273,2000274,2000275,2000276,2000277,2000278,2000279,2000280,2000281,2000282,2000283,2000284,2000285,2000286,2000287,2000288,2000289,2000290,2000291,2000292,2000293,2000294,2000295,2000296,2000297,2000298,2000299,2000300,2000301,2000302,2000303,2000304,2000305,2000306,2000307,2000308,2000309,2000310,2000311,2000312,2000313,2000314,2000315,2000316,2000317,2000318,2000319,2000320,2000321,2000322,2000323,2000324,2000325,2000326,2000327,2000328,2000329,2000330,2000331,2000332,2000333,2000334,2000335,2000336,2000337,2000338,2000339,2000340,2000341,2000342,2000343,2000344,2000345,2000346,2000347,2000348,2000349,2000350,2000351,2000352,2000353,2000354,2000355,2000356,2000357,2000358,2000359,2000360,2000361,2000362,2000363,2000364,2000365,2000366,2000367,2000368,2000369,2000370,2000371,2000372,2000373,2000374,2000375,2000376,2000377,2000378,2000379,2000380,2000381,2000382,2000383,2000384,2000385,2000386,2000387,2000388,2000389,2000390,2000391,2000392,2000393,2000394,2000395,2000396,2000397,2000398,2000399,2000400,2000401,2000402,2000403,2000404,2000405,2000406,2000407,2000408,2000409,2000410,2000411,2000412,2000413,2000414,2000415,2000416,2000417,2000418,2000419,2000420,2000421,2000422,2000423,2000424,2000425,2000426,2000427,2000428,2000429,2000430,2000431,2000432,2000433,2000434,2000435,2000436,2000437,2000438,2000439,2000440,2000441,2000442,2000443,2000444,2000445,2000446,2000447,2000448,2000449,2000450,2000451,2000452,2000453,2000454,2000455,2000456,2000457,2000458,2000459,2000460,2000461,2000462,2000463,2000464,2000465,2000466,2000467,2000468,2000469,2000470,2000471,2000472,2000473,2000474,2000475,2000476,2000477,2000478,2000479,2000480,2000481,2000482,2000483,2000484,2000485,2000486,2000487,2000488,2000489,2000490,2000491,2000492,2000493,2000494,2000495,2000496,2000497,2000498,2000499,2000500,2000501,2000502,2000503,2000504,2000505,2000506,2000507,2000508,2000509,2000510,2000511,2000512,2000513,2000514,2000515,2000516,2000517,2000518,2000519,2000520,2000521,2000522,2000523,2000524,2000525,2000526,2000527,2000528,2000529,2000530,2000531,2000532,2000533,2000534,2000535,2000536,2000537,2000538,2000539,2000540,2000541,2000542,2000543,2000544,2000545,2000546,2000547,2000548,2000549,2000550,2000551,2000552,2000553,2000554,2000555,2000556,2000557,2000558,2000559,2000560,2000561,2000562,2000563,2000564,2000565,2000566,2000567,2000568,2000569,2000570,2000571,2000572,2000573,2000574,2000575,2000576,2000577,2000578,2000579,2000580,2000581,2000582,2000583,2000584,2000585,2000586,2000587,2000588,2000589,2000590,2000591,2000592,2000593,2000594,2000595,2000596,2000597,2000598,2000599,2000600,2000601,2000602,2000603,2000604,2000605,2000606,2000607,2000608,2000609,2000610,2000611,2000612,2000613,2000614,2000615,2000616,2000617,2000618,2000619,2000620,2000621,2000622,2000623,2000624,2000625,2000626,2000627,2000628,2000629,2000630,2000631,2000632,2000633,2000634,2000635,2000636,2000637,2000638,2000639,2000640,2000641,2000642,2000643,2000644,2000645,2000646,2000647,2000648,2000649,2000650,2000651,2000652,2000653,2000654,2000655,2000656,2000657,2000658,2000659,2000660,2000661,2000662,2000663,2000664,2000665,2000666,2000667,2000668,2000669,2000670,2000671,2000672,2000673,2000674,2000675,2000676,2000677,2000678,2000679,2000680,2000681,2000682,2000683,2000684,2000685,2000686,2000687,2000688,2000689,2000690,2000691,2000692,2000693,2000694,2000695,2000696,2000697,2000698,2000699,2000700,2000701,2000702,2000703,2000704,2000705,2000706,2000707,2000708,2000709,2000710,2000711,2000712,2000713,2000714,2000715,2000716,2000717,2000718,2000719,2000720,2000721,2000722,2000723,2000724,2000725,2000726,2000727,2000728,2000729,2000730,2000731,2000732,2000733,2000734,2000735,2000736,2000737,2000738,2000739,2000740,2000741,2000742,2000743,2000744,2000745,2000746,2000747,2000748,2000749,2000750,2000751,2000752,2000753,2000754,2000755,2000756,2000757,2000758,2000759,2000760,2000761,2000762,2000763,2000764,2000765,2000766,2000767,2000768,2000769,2000770,2000771,2000772,2000773,2000774,2000775,2000776,2000777,2000778,2000779,2000780,2000781,2000782,2000783,2000784,2000785,2000786,2000787,2000788,2000789,2000790,2000791,2000792,2000793,2000794,2000795,2000796,2000797,2000798,2000799,2000800,2000801,2000802,2000803,2000804,2000805,2000806,2000807,2000808,2000809,2000810,2000811,2000812,2000813,2000814,2000815,2000816,2000817,2000818,2000819,2000820,2000821,2000822,2000823,2000824,2000825,2000826,2000827,2000828,2000829,2000830,2000831,2000832,2000833,2000834,2000835,2000836,2000837,2000838,2000839,2000840,2000841,2000842,2000843,2000844,2000845,2000846,2000847,2000848,2000849,2000850,2000851,2000852,2000853,2000854,2000855,2000856,2000857,2000858,2000859,2000860,2000861,2000862,2000863,2000864,2000865,2000866,2000867,2000868,2000869,2000870,2000871,2000872,2000873,2000874,2000875,2000876,2000877,2000878,2000879,2000880,2000881,2000882,2000883,2000884,2000885,2000886,2000887,2000888,2000889,2000890,2000891,2000892,2000893,2000894,2000895,2000896,2000897,2000898,2000899,2000900,2000901,2000902,2000903,2000904,2000905,2000906,2000907,2000908,2000909,2000910,2000911,2000912,2000913,2000914,2000915,2000916,2000917,2000918,2000919,2000920,2000921,2000922,2000923,2000924,2000925,2000926,2000927,2000928,2000929,2000930,2000931,2000932,2000933,2000934,2000935,2000936,2000937,2000938,2000939,2000940,2000941,2000942,2000943,2000944,2000945,2000946,2000947,2000948,2000949,2000950,2000951,2000952,2000953,2000954,2000955,2000956,2000957,2000958,2000959,2000960,2000961,2000962,2000963,2000964,2000965,2000966,2000967,2000968,2000969,2000970,2000971,2000972,2000973,2000974,2000975,2000976,2000977,2000978,2000979,2000980,2000981,2000982,2000983,2000984,2000985,2000986,2000987,2000988,2000989,2000990,2000991,2000992,2000993,2000994,2000995,2000996,2000997,2000998,2000999,2001000,3000001,3000002,3000003,3000004,3000005,3000006,3000007,3000008,3000009,3000010,3000011,3000012,3000013,3000014,3000015,3000016,3000017,3000018,3000019,3000020,3000021,3000022,3000023,3000024,3000025,3000026,3000027,3000028,3000029,3000030,3000031,3000032,3000033,3000034,3000035,3000036,3000037,3000038,3000039,3000040,3000041,3000042,3000043,3000044,3000045,3000046,3000047,3000048,3000049,3000050,3000051,3000052,3000053,3000054,3000055,3000056,3000057,3000058,3000059,3000060,3000061,3000062,3000063,3000064,3000065,3000066,3000067,3000068,3000069,3000070,3000071,3000072,3000073,3000074,3000075,3000076,3000077,3000078,3000079,3000080,3000081,3000082,3000083,3000084,3000085,3000086,3000087,3000088,3000089,3000090,3000091,3000092,3000093,3000094,3000095,3000096,3000097,3000098,3000099,3000100,3000101,3000102,3000103,3000104,3000105,3000106,3000107,3000108,3000109,3000110,3000111,3000112,3000113,3000114,3000115,3000116,3000117,3000118,3000119,3000120,3000121,3000122,3000123,3000124,3000125,3000126,3000127,3000128,3000129,3000130,3000131,3000132,3000133,3000134,3000135,3000136,3000137,3000138,3000139,3000140,3000141,3000142,3000143,3000144,3000145,3000146,3000147,3000148,3000149,3000150,3000151,3000152,3000153,3000154,3000155,3000156,3000157,3000158,3000159,3000160,3000161,3000162,3000163,3000164,3000165,3000166,3000167,3000168,3000169,3000170,3000171,3000172,3000173,3000174,3000175,3000176,3000177,3000178,3000179,3000180,3000181,3000182,3000183,3000184,3000185,3000186,3000187,3000188,3000189,3000190,3000191,3000192,3000193,3000194,3000195,3000196,3000197,3000198,3000199,3000200,3000201,3000202,3000203,3000204,3000205,3000206,3000207,3000208,3000209,3000210,3000211,3000212,3000213,3000214,3000215,3000216,3000217,3000218,3000219,3000220,3000221,3000222,3000223,3000224,3000225,3000226,3000227,3000228,3000229,3000230,3000231,3000232,3000233,3000234,3000235,3000236,3000237,3000238,3000239,3000240,3000241,3000242,3000243,3000244,3000245,3000246,3000247,3000248,3000249,3000250,3000251,3000252,3000253,3000254,3000255,3000256,3000257,3000258,3000259,3000260,3000261,3000262,3000263,3000264,3000265,3000266,3000267,3000268,3000269,3000270,3000271,3000272,3000273,3000274,3000275,3000276,3000277,3000278,3000279,3000280,3000281,3000282,3000283,3000284,3000285,3000286,3000287,3000288,3000289,3000290,3000291,3000292,3000293,3000294,3000295,3000296,3000297,3000298,3000299,3000300,3000301,3000302,3000303,3000304,3000305,3000306,3000307,3000308,3000309,3000310,3000311,3000312,3000313,3000314,3000315,3000316,3000317,3000318,3000319,3000320,3000321,3000322,3000323,3000324,3000325,3000326,3000327,3000328,3000329,3000330,3000331,3000332,3000333,3000334,3000335,3000336,3000337,3000338,3000339,3000340,3000341,3000342,3000343,3000344,3000345,3000346,3000347,3000348,3000349,3000350,3000351,3000352,3000353,3000354,3000355,3000356,3000357,3000358,3000359,3000360,3000361,3000362,3000363,3000364,3000365,3000366,3000367,3000368,3000369,3000370,3000371,3000372,3000373,3000374,3000375,3000376,3000377,3000378,3000379,3000380,3000381,3000382,3000383,3000384,3000385,3000386,3000387,3000388,3000389,3000390,3000391,3000392,3000393,3000394,3000395,3000396,3000397,3000398,3000399,3000400,3000401,3000402,3000403,3000404,3000405,3000406,3000407,3000408,3000409,3000410,3000411,3000412,3000413,3000414,3000415,3000416,3000417,3000418,3000419,3000420,3000421,3000422,3000423,3000424,3000425,3000426,3000427,3000428,3000429,3000430,3000431,3000432,3000433,3000434,3000435,3000436,3000437,3000438,3000439,3000440,3000441,3000442,3000443,3000444,3000445,3000446,3000447,3000448,3000449,3000450,3000451,3000452,3000453,3000454,3000455,3000456,3000457,3000458,3000459,3000460,3000461,3000462,3000463,3000464,3000465,3000466,3000467,3000468,3000469,3000470,3000471,3000472,3000473,3000474,3000475,3000476,3000477,3000478,3000479,3000480,3000481,3000482,3000483,3000484,3000485,3000486,3000487,3000488,3000489,3000490,3000491,3000492,3000493,3000494,3000495,3000496,3000497,3000498,3000499,3000500,3000501,3000502,3000503,3000504,3000505,3000506,3000507,3000508,3000509,3000510,3000511,3000512,3000513,3000514,3000515,3000516,3000517,3000518,3000519,3000520,3000521,3000522,3000523,3000524,3000525,3000526,3000527,3000528,3000529,3000530,3000531,3000532,3000533,3000534,3000535,3000536,3000537,3000538,3000539,3000540,3000541,3000542,3000543,3000544,3000545,3000546,3000547,3000548,3000549,3000550,3000551,3000552,3000553,3000554,3000555,3000556,3000557,3000558,3000559,3000560,3000561,3000562,3000563,3000564,3000565,3000566,3000567,3000568,3000569,3000570,3000571,3000572,3000573,3000574,3000575,3000576,3000577,3000578,3000579,3000580,3000581,3000582,3000583,3000584,3000585,3000586,3000587,3000588,3000589,3000590,3000591,3000592,3000593,3000594,3000595,3000596,3000597,3000598,3000599,3000600,3000601,3000602,3000603,3000604,3000605,3000606,3000607,3000608,3000609,3000610,3000611,3000612,3000613,3000614,3000615,3000616,3000617,3000618,3000619,3000620,3000621,3000622,3000623,3000624,3000625,3000626,3000627,3000628,3000629,3000630,3000631,3000632,3000633,3000634,3000635,3000636,3000637,3000638,3000639,3000640,3000641,3000642,3000643,3000644,3000645,3000646,3000647,3000648,3000649,3000650,3000651,3000652,3000653,3000654,3000655,3000656,3000657,3000658,3000659,3000660,3000661,3000662,3000663,3000664,3000665,3000666,3000667,3000668,3000669,3000670,3000671,3000672,3000673,3000674,3000675,3000676,3000677,3000678,3000679,3000680,3000681,3000682,3000683,3000684,3000685,3000686,3000687,3000688,3000689,3000690,3000691,3000692,3000693,3000694,3000695,3000696,3000697,3000698,3000699,3000700,3000701,3000702,3000703,3000704,3000705,3000706,3000707,3000708,3000709,3000710,3000711,3000712,3000713,3000714,3000715,3000716,3000717,3000718,3000719,3000720,3000721,3000722,3000723,3000724,3000725,3000726,3000727,3000728,3000729,3000730,3000731,3000732,3000733,3000734,3000735,3000736,3000737,3000738,3000739,3000740,3000741,3000742,3000743,3000744,3000745,3000746,3000747,3000748,3000749,3000750,3000751,3000752,3000753,3000754,3000755,3000756,3000757,3000758,3000759,3000760,3000761,3000762,3000763,3000764,3000765,3000766,3000767,3000768,3000769,3000770,3000771,3000772,3000773,3000774,3000775,3000776,3000777,3000778,3000779,3000780,3000781,3000782,3000783,3000784,3000785,3000786,3000787,3000788,3000789,3000790,3000791,3000792,3000793,3000794,3000795,3000796,3000797,3000798,3000799,3000800,3000801,3000802,3000803,3000804,3000805,3000806,3000807,3000808,3000809,3000810,3000811,3000812,3000813,3000814,3000815,3000816,3000817,3000818,3000819,3000820,3000821,3000822,3000823,3000824,3000825,3000826,3000827,3000828,3000829,3000830,3000831,3000832,3000833,3000834,3000835,3000836,3000837,3000838,3000839,3000840,3000841,3000842,3000843,3000844,3000845,3000846,3000847,3000848,3000849,3000850,3000851,3000852,3000853,3000854,3000855,3000856,3000857,3000858,3000859,3000860,3000861,3000862,3000863,3000864,3000865,3000866,3000867,3000868,3000869,3000870,3000871,3000872,3000873,3000874,3000875,3000876,3000877,3000878,3000879,3000880,3000881,3000882,3000883,3000884,3000885,3000886,3000887,3000888,3000889,3000890,3000891,3000892,3000893,3000894,3000895,3000896,3000897,3000898,3000899,3000900,3000901,3000902,3000903,3000904,3000905,3000906,3000907,3000908,3000909,3000910,3000911,3000912,3000913,3000914,3000915,3000916,3000917,3000918,3000919,3000920,3000921,3000922,3000923,3000924,3000925,3000926,3000927,3000928,3000929,3000930,3000931,3000932,3000933,3000934,3000935,3000936,3000937,3000938,3000939,3000940,3000941,3000942,3000943,3000944,3000945,3000946,3000947,3000948,3000949,3000950,3000951,3000952,3000953,3000954,3000955,3000956,3000957,3000958,3000959,3000960,3000961,3000962,3000963,3000964,3000965,3000966,3000967,3000968,3000969,3000970,3000971,3000972,3000973,3000974,3000975,3000976,3000977,3000978,3000979,3000980,3000981,3000982,3000983,3000984,3000985,3000986,3000987,3000988,3000989,3000990,3000991,3000992,3000993,3000994,3000995,3000996,3000997,3000998,3000999,3001000,4000001,4000002,4000003,4000004,4000005,4000006,4000007,4000008,4000009,4000010,4000011,4000012,4000013,4000014,4000015,4000016,4000017,4000018,4000019,4000020,4000021,4000022,4000023,4000024,4000025,4000026,4000027,4000028,4000029,4000030,4000031,4000032,4000033,4000034,4000035,4000036,4000037,4000038,4000039,4000040,4000041,4000042,4000043,4000044,4000045,4000046,4000047,4000048,4000049,4000050,4000051,4000052,4000053,4000054,4000055,4000056,4000057,4000058,4000059,4000060,4000061,4000062,4000063,4000064,4000065,4000066,4000067,4000068,4000069,4000070,4000071,4000072,4000073,4000074,4000075,4000076,4000077,4000078,4000079,4000080,4000081,4000082,4000083,4000084,4000085,4000086,4000087,4000088,4000089,4000090,4000091,4000092,4000093,4000094,4000095,4000096,4000097,4000098,4000099,4000100,4000101,4000102,4000103,4000104,4000105,4000106,4000107,4000108,4000109,4000110,4000111,4000112,4000113,4000114,4000115,4000116,4000117,4000118,4000119,4000120,4000121,4000122,4000123,4000124,4000125,4000126,4000127,4000128,4000129,4000130,4000131,4000132,4000133,4000134,4000135,4000136,4000137,4000138,4000139,4000140,4000141,4000142,4000143,4000144,4000145,4000146,4000147,4000148,4000149,4000150,4000151,4000152,4000153,4000154,4000155,4000156,4000157,4000158,4000159,4000160,4000161,4000162,4000163,4000164,4000165,4000166,4000167,4000168,4000169,4000170,4000171,4000172,4000173,4000174,4000175,4000176,4000177,4000178,4000179,4000180,4000181,4000182,4000183,4000184,4000185,4000186,4000187,4000188,4000189,4000190,4000191,4000192,4000193,4000194,4000195,4000196,4000197,4000198,4000199,4000200,4000201,4000202,4000203,4000204,4000205,4000206,4000207,4000208,4000209,4000210,4000211,4000212,4000213,4000214,4000215,4000216,4000217,4000218,4000219,4000220,4000221,4000222,4000223,4000224,4000225,4000226,4000227,4000228,4000229,4000230,4000231,4000232,4000233,4000234,4000235,4000236,4000237,4000238,4000239,4000240,4000241,4000242,4000243,4000244,4000245,4000246,4000247,4000248,4000249,4000250,4000251,4000252,4000253,4000254,4000255,4000256,4000257,4000258,4000259,4000260,4000261,4000262,4000263,4000264,4000265,4000266,4000267,4000268,4000269,4000270,4000271,4000272,4000273,4000274,4000275,4000276,4000277,4000278,4000279,4000280,4000281,4000282,4000283,4000284,4000285,4000286,4000287,4000288,4000289,4000290,4000291,4000292,4000293,4000294,4000295,4000296,4000297,4000298,4000299,4000300,4000301,4000302,4000303,4000304,4000305,4000306,4000307,4000308,4000309,4000310,4000311,4000312,4000313,4000314,4000315,4000316,4000317,4000318,4000319,4000320,4000321,4000322,4000323,4000324,4000325,4000326,4000327,4000328,4000329,4000330,4000331,4000332,4000333,4000334,4000335,4000336,4000337,4000338,4000339,4000340,4000341,4000342,4000343,4000344,4000345,4000346,4000347,4000348,4000349,4000350,4000351,4000352,4000353,4000354,4000355,4000356,4000357,4000358,4000359,4000360,4000361,4000362,4000363,4000364,4000365,4000366,4000367,4000368,4000369,4000370,4000371,4000372,4000373,4000374,4000375,4000376,4000377,4000378,4000379,4000380,4000381,4000382,4000383,4000384,4000385,4000386,4000387,4000388,4000389,4000390,4000391,4000392,4000393,4000394,4000395,4000396,4000397,4000398,4000399,4000400,4000401,4000402,4000403,4000404,4000405,4000406,4000407,4000408,4000409,4000410,4000411,4000412,4000413,4000414,4000415,4000416,4000417,4000418,4000419,4000420,4000421,4000422,4000423,4000424,4000425,4000426,4000427,4000428,4000429,4000430,4000431,4000432,4000433,4000434,4000435,4000436,4000437,4000438,4000439,4000440,4000441,4000442,4000443,4000444,4000445,4000446,4000447,4000448,4000449,4000450,4000451,4000452,4000453,4000454,4000455,4000456,4000457,4000458,4000459,4000460,4000461,4000462,4000463,4000464,4000465,4000466,4000467,4000468,4000469,4000470,4000471,4000472,4000473,4000474,4000475,4000476,4000477,4000478,4000479,4000480,4000481,4000482,4000483,4000484,4000485,4000486,4000487,4000488,4000489,4000490,4000491,4000492,4000493,4000494,4000495,4000496,4000497,4000498,4000499,4000500,4000501,4000502,4000503,4000504,4000505,4000506,4000507,4000508,4000509,4000510,4000511,4000512,4000513,4000514,4000515,4000516,4000517,4000518,4000519,4000520,4000521,4000522,4000523,4000524,4000525,4000526,4000527,4000528,4000529,4000530,4000531,4000532,4000533,4000534,4000535,4000536,4000537,4000538,4000539,4000540,4000541,4000542,4000543,4000544,4000545,4000546,4000547,4000548,4000549,4000550,4000551,4000552,4000553,4000554,4000555,4000556,4000557,4000558,4000559,4000560,4000561,4000562,4000563,4000564,4000565,4000566,4000567,4000568,4000569,4000570,4000571,4000572,4000573,4000574,4000575,4000576,4000577,4000578,4000579,4000580,4000581,4000582,4000583,4000584,4000585,4000586,4000587,4000588,4000589,4000590,4000591,4000592,4000593,4000594,4000595,4000596,4000597,4000598,4000599,4000600,4000601,4000602,4000603,4000604,4000605,4000606,4000607,4000608,4000609,4000610,4000611,4000612,4000613,4000614,4000615,4000616,4000617,4000618,4000619,4000620,4000621,4000622,4000623,4000624,4000625,4000626,4000627,4000628,4000629,4000630,4000631,4000632,4000633,4000634,4000635,4000636,4000637,4000638,4000639,4000640,4000641,4000642,4000643,4000644,4000645,4000646,4000647,4000648,4000649,4000650,4000651,4000652,4000653,4000654,4000655,4000656,4000657,4000658,4000659,4000660,4000661,4000662,4000663,4000664,4000665,4000666,4000667,4000668,4000669,4000670,4000671,4000672,4000673,4000674,4000675,4000676,4000677,4000678,4000679,4000680,4000681,4000682,4000683,4000684,4000685,4000686,4000687,4000688,4000689,4000690,4000691,4000692,4000693,4000694,4000695,4000696,4000697,4000698,4000699,4000700,4000701,4000702,4000703,4000704,4000705,4000706,4000707,4000708,4000709,4000710,4000711,4000712,4000713,4000714,4000715,4000716,4000717,4000718,4000719,4000720,4000721,4000722,4000723,4000724,4000725,4000726,4000727,4000728,4000729,4000730,4000731,4000732,4000733,4000734,4000735,4000736,4000737,4000738,4000739,4000740,4000741,4000742,4000743,4000744,4000745,4000746,4000747,4000748,4000749,4000750,4000751,4000752,4000753,4000754,4000755,4000756,4000757,4000758,4000759,4000760,4000761,4000762,4000763,4000764,4000765,4000766,4000767,4000768,4000769,4000770,4000771,4000772,4000773,4000774,4000775,4000776,4000777,4000778,4000779,4000780,4000781,4000782,4000783,4000784,4000785,4000786,4000787,4000788,4000789,4000790,4000791,4000792,4000793,4000794,4000795,4000796,4000797,4000798,4000799,4000800,4000801,4000802,4000803,4000804,4000805,4000806,4000807,4000808,4000809,4000810,4000811,4000812,4000813,4000814,4000815,4000816,4000817,4000818,4000819,4000820,4000821,4000822,4000823,4000824,4000825,4000826,4000827,4000828,4000829,4000830,4000831,4000832,4000833,4000834,4000835,4000836,4000837,4000838,4000839,4000840,4000841,4000842,4000843,4000844,4000845,4000846,4000847,4000848,4000849,4000850,4000851,4000852,4000853,4000854,4000855,4000856,4000857,4000858,4000859,4000860,4000861,4000862,4000863,4000864,4000865,4000866,4000867,4000868,4000869,4000870,4000871,4000872,4000873,4000874,4000875,4000876,4000877,4000878,4000879,4000880,4000881,4000882,4000883,4000884,4000885,4000886,4000887,4000888,4000889,4000890,4000891,4000892,4000893,4000894,4000895,4000896,4000897,4000898,4000899,4000900,4000901,4000902,4000903,4000904,4000905,4000906,4000907,4000908,4000909,4000910,4000911,4000912,4000913,4000914,4000915,4000916,4000917,4000918,4000919,4000920,4000921,4000922,4000923,4000924,4000925,4000926,4000927,4000928,4000929,4000930,4000931,4000932,4000933,4000934,4000935,4000936,4000937,4000938,4000939,4000940,4000941,4000942,4000943,4000944,4000945,4000946,4000947,4000948,4000949,4000950,4000951,4000952,4000953,4000954,4000955,4000956,4000957,4000958,4000959,4000960,4000961,4000962,4000963,4000964,4000965,4000966,4000967,4000968,4000969,4000970,4000971,4000972,4000973,4000974,4000975,4000976,4000977,4000978,4000979,4000980,4000981,4000982,4000983,4000984,4000985,4000986,4000987,4000988,4000989,4000990,4000991,4000992,4000993,4000994,4000995,4000996,4000997,4000998,4000999,4001000,5000002,5000003,5000004,5000005,5000006,5000007,5000008,5000009,5000010,5000011,5000012,5000013,5000014,5000015,5000016,5000017,5000018,5000019,5000020,5000021,5000022,5000023,5000024,5000025,5000026,5000027,5000028,5000029,5000030,5000031,5000032,5000033,5000034,5000035,5000036,5000037,5000038,5000039,5000040,5000041,5000042,5000043,5000044,5000045,5000046,5000047,5000048,5000049,5000050,5000051,5000052,5000053,5000054,5000055,5000056,5000057,5000058,5000059,5000060,5000061,5000062,5000063,5000064,5000065,5000066,5000067,5000068,5000069,5000070,5000071,5000072,5000073,5000074,5000075,5000076,5000077,5000078,5000079,5000080,5000081,5000082,5000083,5000084,5000085,5000086,5000087,5000088,5000089,5000090,5000091,5000092,5000093,5000094,5000095,5000096,5000097,5000098,5000099,5000100,5000101,5000102,5000103,5000104,5000105,5000106,5000107,5000108,5000109,5000110,5000111,5000112,5000113,5000114,5000115,5000116,5000117,5000118,5000119,5000120,5000121,5000122,5000123,5000124,5000125,5000126,5000127,5000128,5000129,5000130,5000131,5000132,5000133,5000134,5000135,5000136,5000137,5000138,5000139,5000140,5000141,5000142,5000143,5000144,5000145,5000146,5000147,5000148,5000149,5000150,5000151,5000152,5000153,5000154,5000155,5000156,5000157,5000158,5000159,5000160,5000161,5000162,5000163,5000164,5000165,5000166,5000167,5000168,5000169,5000170,5000171,5000172,5000173,5000174,5000175,5000176,5000177,5000178,5000179,5000180,5000181,5000182,5000183,5000184,5000185,5000186,5000187,5000188,5000189,5000190,5000191,5000192,5000193,5000194,5000195,5000196,5000197,5000198,5000199,5000200,5000201,5000202,5000203,5000204,5000205,5000206,5000207,5000208,5000209,5000210,5000211,5000212,5000213,5000214,5000215,5000216,5000217,5000218,5000219,5000220,5000221,5000222,5000223,5000224,5000225,5000226,5000227,5000228,5000229,5000230,5000231,5000232,5000233,5000234,5000235,5000236,5000237,5000238,5000239,5000240,5000241,5000242,5000243,5000244,5000245,5000246,5000247,5000248,5000249,5000250,5000251,5000252,5000253,5000254,5000255,5000256,5000257,5000258,5000259,5000260,5000261,5000262,5000263,5000264,5000265,5000266,5000267,5000268,5000269,5000270,5000271,5000272,5000273,5000274,5000275,5000276,5000277,5000278,5000279,5000280,5000281,5000282,5000283,5000284,5000285,5000286,5000287,5000288,5000289,5000290,5000291,5000292,5000293,5000294,5000295,5000296,5000297,5000298,5000299,5000300,5000301,5000302,5000303,5000304,5000305,5000306,5000307,5000308,5000309,5000310,5000311,5000312,5000313,5000314,5000315,5000316,5000317,5000318,5000319,5000320,5000321,5000322,5000323,5000324,5000325,5000326,5000327,5000328,5000329,5000330,5000331,5000332,5000333,5000334,5000335,5000336,5000337,5000338,5000339,5000340,5000341,5000342,5000343,5000344,5000345,5000346,5000347,5000348,5000349,5000350,5000351,5000352,5000353,5000354,5000355,5000356,5000357,5000358,5000359,5000360,5000361,5000362,5000363,5000364,5000365,5000366,5000367,5000368,5000369,5000370,5000371,5000372,5000373,5000374,5000375,5000376,5000377,5000378,5000379,5000380,5000381,5000382,5000383,5000384,5000385,5000386,5000387,5000388,5000389,5000390,5000391,5000392,5000393,5000394,5000395,5000396,5000397,5000398,5000399,5000400,5000401,5000402,5000403,5000404,5000405,5000406,5000407,5000408,5000409,5000410,5000411,5000412,5000413,5000414,5000415,5000416,5000417,5000418,5000419,5000420,5000421,5000422,5000423,5000424,5000425,5000426,5000427,5000428,5000429,5000430,5000431,5000432,5000433,5000434,5000435,5000436,5000437,5000438,5000439,5000440,5000441,5000442,5000443,5000444,5000445,5000446,5000447,5000448,5000449,5000450,5000451,5000452,5000453,5000454,5000455,5000456,5000457,5000458,5000459,5000460,5000461,5000462,5000463,5000464,5000465,5000466,5000467,5000468,5000469,5000470,5000471,5000472,5000473,5000474,5000475,5000476,5000477,5000478,5000479,5000480,5000481,5000482,5000483,5000484,5000485,5000486,5000487,5000488,5000489,5000490,5000491,5000492,5000493,5000494,5000495,5000496,5000497,5000498,5000499,5000500,5000501,5000502,5000503,5000504,5000505,5000506,5000507,5000508,5000509,5000510,5000511,5000512,5000513,5000514,5000515,5000516,5000517,5000518,5000519,5000520,5000521,5000522,5000523,5000524,5000525,5000526,5000527,5000528,5000529,5000530,5000531,5000532,5000533,5000534,5000535,5000536,5000537,5000538,5000539,5000540,5000541,5000542,5000543,5000544,5000545,5000546,5000547,5000548,5000549,5000550,5000551,5000552,5000553,5000554,5000555,5000556,5000557,5000558,5000559,5000560,5000561,5000562,5000563,5000564,5000565,5000566,5000567,5000568,5000569,5000570,5000571,5000572,5000573,5000574,5000575,5000576,5000577,5000578,5000579,5000580,5000581,5000582,5000583,5000584,5000585,5000586,5000587,5000588,5000589,5000590,5000591,5000592,5000593,5000594,5000595,5000596,5000597,5000598,5000599,5000600,5000601,5000602,5000603,5000604,5000605,5000606,5000607,5000608,5000609,5000610,5000611,5000612,5000613,5000614,5000615,5000616,5000617,5000618,5000619,5000620,5000621,5000622,5000623,5000624,5000625,5000626,5000627,5000628,5000629,5000630,5000631,5000632,5000633,5000634,5000635,5000636,5000637,5000638,5000639,5000640,5000641,5000642,5000643,5000644,5000645,5000646,5000647,5000648,5000649,5000650,5000651,5000652,5000653,5000654,5000655,5000656,5000657,5000658,5000659,5000660,5000661,5000662,5000663,5000664,5000665,5000666,5000667,5000668,5000669,5000670,5000671,5000672,5000673,5000674,5000675,5000676,5000677,5000678,5000679,5000680,5000681,5000682,5000683,5000684,5000685,5000686,5000687,5000688,5000689,5000690,5000691,5000692,5000693,5000694,5000695,5000696,5000697,5000698,5000699,5000700,5000701,5000702,5000703,5000704,5000705,5000706,5000707,5000708,5000709,5000710,5000711,5000712,5000713,5000714,5000715,5000716,5000717,5000718,5000719,5000720,5000721,5000722,5000723,5000724,5000725,5000726,5000727,5000728,5000729,5000730,5000731,5000732,5000733,5000734,5000735,5000736,5000737,5000738,5000739,5000740,5000741,5000742,5000743,5000744,5000745,5000746,5000747,5000748,5000749,5000750,5000751,5000752,5000753,5000754,5000755,5000756,5000757,5000758,5000759,5000760,5000761,5000762,5000763,5000764,5000765,5000766,5000767,5000768,5000769,5000770,5000771,5000772,5000773,5000774,5000775,5000776,5000777,5000778,5000779,5000780,5000781,5000782,5000783,5000784,5000785,5000786,5000787,5000788,5000789,5000790,5000791,5000792,5000793,5000794,5000795,5000796,5000797,5000798,5000799,5000800,5000801,5000802,5000803,5000804,5000805,5000806,5000807,5000808,5000809,5000810,5000811,5000812,5000813,5000814,5000815,5000816,5000817,5000818,5000819,5000820,5000821,5000822,5000823,5000824,5000825,5000826,5000827,5000828,5000829,5000830,5000831,5000832,5000833,5000834,5000835,5000836,5000837,5000838,5000839,5000840,5000841,5000842,5000843,5000844,5000845,5000846,5000847,5000848,5000849,5000850,5000851,5000852,5000853,5000854,5000855,5000856,5000857,5000858,5000859,5000860,5000861,5000862,5000863,5000864,5000865,5000866,5000867,5000868,5000869,5000870,5000871,5000872,5000873,5000874,5000875,5000876,5000877,5000878,5000879,5000880,5000881,5000882,5000883,5000884,5000885,5000886,5000887,5000888,5000889,5000890,5000891,5000892,5000893,5000894,5000895,5000896,5000897,5000898,5000899,5000900,5000901,5000902,5000903,5000904,5000905,5000906,5000907,5000908,5000909,5000910,5000911,5000912,5000913,5000914,5000915,5000916,5000917,5000918,5000919,5000920,5000921,5000922,5000923,5000924,5000925,5000926,5000927,5000928,5000929,5000930,5000931,5000932,5000933,5000934,5000935,5000936,5000937,5000938,5000939,5000940,5000941,5000942,5000943,5000944,5000945,5000946,5000947,5000948,5000949,5000950,5000951,5000952,5000953,5000954,5000955,5000956,5000957,5000958,5000959,5000960,5000961,5000962,5000963,5000964,5000965,5000966,5000967,5000968,5000969,5000970,5000971,5000972,5000973,5000974,5000975,5000976,5000977,5000978,5000979,5000980,5000981,5000982,5000983,5000984,5000985,5000986,5000987,5000988,5000989,5000990,5000991,5000992,5000993,5000994,5000995,5000996,5000997,5000998,5000999,5001000,6000001,6000002,6000003,6000004,6000005,6000006,6000007,6000008,6000009,6000010,6000011,6000012,6000013,6000014,6000015,6000016,6000017,6000018,6000019,6000020,6000021,6000022,6000023,6000024,6000025,6000026,6000027,6000028,6000029,6000030,6000031,6000032,6000033,6000034,6000035,6000036,6000037,6000038,6000039,6000040,6000041,6000042,6000043,6000044,6000045,6000046,6000047,6000048,6000049,6000050,6000051,6000052,6000053,6000054,6000055,6000056,6000057,6000058,6000059,6000060,6000061,6000062,6000063,6000064,6000065,6000066,6000067,6000068,6000069,6000070,6000071,6000072,6000073,6000074,6000075,6000076,6000077,6000078,6000079,6000080,6000081,6000082,6000083,6000084,6000085,6000086,6000087,6000088,6000089,6000090,6000091,6000092,6000093,6000094,6000095,6000096,6000097,6000098,6000099,6000100,6000101,6000102,6000103,6000104,6000105,6000106,6000107,6000108,6000109,6000110,6000111,6000112,6000113,6000114,6000115,6000116,6000117,6000118,6000119,6000120,6000121,6000122,6000123,6000124,6000125,6000126,6000127,6000128,6000129,6000130,6000131,6000132,6000133,6000134,6000135,6000136,6000137,6000138,6000139,6000140,6000141,6000142,6000143,6000144,6000145,6000146,6000147,6000148,6000149,6000150,6000151,6000152,6000153,6000154,6000155,6000156,6000157,6000158,6000159,6000160,6000161,6000162,6000163,6000164,6000165,6000166,6000167,6000168,6000169,6000170,6000171,6000172,6000173,6000174,6000175,6000176,6000177,6000178,6000179,6000180,6000181,6000182,6000183,6000184,6000185,6000186,6000187,6000188,6000189,6000190,6000191,6000192,6000193,6000194,6000195,6000196,6000197,6000198,6000199,6000200,6000201,6000202,6000203,6000204,6000205,6000206,6000207,6000208,6000209,6000210,6000211,6000212,6000213,6000214,6000215,6000216,6000217,6000218,6000219,6000220,6000221,6000222,6000223,6000224,6000225,6000226,6000227,6000228,6000229,6000230,6000231,6000232,6000233,6000234,6000235,6000236,6000237,6000238,6000239,6000240,6000241,6000242,6000243,6000244,6000245,6000246,6000247,6000248,6000249,6000250,6000251,6000252,6000253,6000254,6000255,6000256,6000257,6000258,6000259,6000260,6000261,6000262,6000263,6000264,6000265,6000266,6000267,6000268,6000269,6000270,6000271,6000272,6000273,6000274,6000275,6000276,6000277,6000278,6000279,6000280,6000281,6000282,6000283,6000284,6000285,6000286,6000287,6000288,6000289,6000290,6000291,6000292,6000293,6000294,6000295,6000296,6000297,6000298,6000299,6000300,6000301,6000302,6000303,6000304,6000305,6000306,6000307,6000308,6000309,6000310,6000311,6000312,6000313,6000314,6000315,6000316,6000317,6000318,6000319,6000320,6000321,6000322,6000323,6000324,6000325,6000326,6000327,6000328,6000329,6000330,6000331,6000332,6000333,6000334,6000335,6000336,6000337,6000338,6000339,6000340,6000341,6000342,6000343,6000344,6000345,6000346,6000347,6000348,6000349,6000350,6000351,6000352,6000353,6000354,6000355,6000356,6000357,6000358,6000359,6000360,6000361,6000362,6000363,6000364,6000365,6000366,6000367,6000368,6000369,6000370,6000371,6000372,6000373,6000374,6000375,6000376,6000377,6000378,6000379,6000380,6000381,6000382,6000383,6000384,6000385,6000386,6000387,6000388,6000389,6000390,6000391,6000392,6000393,6000394,6000395,6000396,6000397,6000398,6000399,6000400,6000401,6000402,6000403,6000404,6000405,6000406,6000407,6000408,6000409,6000410,6000411,6000412,6000413,6000414,6000415,6000416,6000417,6000418,6000419,6000420,6000421,6000422,6000423,6000424,6000425,6000426,6000427,6000428,6000429,6000430,6000431,6000432,6000433,6000434,6000435,6000436,6000437,6000438,6000439,6000440,6000441,6000442,6000443,6000444,6000445,6000446,6000447,6000448,6000449,6000450,6000451,6000452,6000453,6000454,6000455,6000456,6000457,6000458,6000459,6000460,6000461,6000462,6000463,6000464,6000465,6000466,6000467,6000468,6000469,6000470,6000471,6000472,6000473,6000474,6000475,6000476,6000477,6000478,6000479,6000480,6000481,6000482,6000483,6000484,6000485,6000486,6000487,6000488,6000489,6000490,6000491,6000492,6000493,6000494,6000495,6000496,6000497,6000498,6000499,6000500,6000501,6000502,6000503,6000504,6000505,6000506,6000507,6000508,6000509,6000510,6000511,6000512,6000513,6000514,6000515,6000516,6000517,6000518,6000519,6000520,6000521,6000522,6000523,6000524,6000525,6000526,6000527,6000528,6000529,6000530,6000531,6000532,6000533,6000534,6000535,6000536,6000537,6000538,6000539,6000540,6000541,6000542,6000543,6000544,6000545,6000546,6000547,6000548,6000549,6000550,6000551,6000552,6000553,6000554,6000555,6000556,6000557,6000558,6000559,6000560,6000561,6000562,6000563,6000564,6000565,6000566,6000567,6000568,6000569,6000570,6000571,6000572,6000573,6000574,6000575,6000576,6000577,6000578,6000579,6000580,6000581,6000582,6000583,6000584,6000585,6000586,6000587,6000588,6000589,6000590,6000591,6000592,6000593,6000594,6000595,6000596,6000597,6000598,6000599,6000600,6000601,6000602,6000603,6000604,6000605,6000606,6000607,6000608,6000609,6000610,6000611,6000612,6000613,6000614,6000615,6000616,6000617,6000618,6000619,6000620,6000621,6000622,6000623,6000624,6000625,6000626,6000627,6000628,6000629,6000630,6000631,6000632,6000633,6000634,6000635,6000636,6000637,6000638,6000639,6000640,6000641,6000642,6000643,6000644,6000645,6000646,6000647,6000648,6000649,6000650,6000651,6000652,6000653,6000654,6000655,6000656,6000657,6000658,6000659,6000660,6000661,6000662,6000663,6000664,6000665,6000666,6000667,6000668,6000669,6000670,6000671,6000672,6000673,6000674,6000675,6000676,6000677,6000678,6000679,6000680,6000681,6000682,6000683,6000684,6000685,6000686,6000687,6000688,6000689,6000690,6000691,6000692,6000693,6000694,6000695,6000696,6000697,6000698,6000699,6000700,6000701,6000702,6000703,6000704,6000705,6000706,6000707,6000708,6000709,6000710,6000711,6000712,6000713,6000714,6000715,6000716,6000717,6000718,6000719,6000720,6000721,6000722,6000723,6000724,6000725,6000726,6000727,6000728,6000729,6000730,6000731,6000732,6000733,6000734,6000735,6000736,6000737,6000738,6000739,6000740,6000741,6000742,6000743,6000744,6000745,6000746,6000747,6000748,6000749,6000750,6000751,6000752,6000753,6000754,6000755,6000756,6000757,6000758,6000759,6000760,6000761,6000762,6000763,6000764,6000765,6000766,6000767,6000768,6000769,6000770,6000771,6000772,6000773,6000774,6000775,6000776,6000777,6000778,6000779,6000780,6000781,6000782,6000783,6000784,6000785,6000786,6000787,6000788,6000789,6000790,6000791,6000792,6000793,6000794,6000795,6000796,6000797,6000798,6000799,6000800,6000801,6000802,6000803,6000804,6000805,6000806,6000807,6000808,6000809,6000810,6000811,6000812,6000813,6000814,6000815,6000816,6000817,6000818,6000819,6000820,6000821,6000822,6000823,6000824,6000825,6000826,6000827,6000828,6000829,6000830,6000831,6000832,6000833,6000834,6000835,6000836,6000837,6000838,6000839,6000840,6000841,6000842,6000843,6000844,6000845,6000846,6000847,6000848,6000849,6000850,6000851,6000852,6000853,6000854,6000855,6000856,6000857,6000858,6000859,6000860,6000861,6000862,6000863,6000864,6000865,6000866,6000867,6000868,6000869,6000870,6000871,6000872,6000873,6000874,6000875,6000876,6000877,6000878,6000879,6000880,6000881,6000882,6000883,6000884,6000885,6000886,6000887,6000888,6000889,6000890,6000891,6000892,6000893,6000894,6000895,6000896,6000897,6000898,6000899,6000900,6000901,6000902,6000903,6000904,6000905,6000906,6000907,6000908,6000909,6000910,6000911,6000912,6000913,6000914,6000915,6000916,6000917,6000918,6000919,6000920,6000921,6000922,6000923,6000924,6000925,6000926,6000927,6000928,6000929,6000930,6000931,6000932,6000933,6000934,6000935,6000936,6000937,6000938,6000939,6000940,6000941,6000942,6000943,6000944,6000945,6000946,6000947,6000948,6000949,6000950,6000951,6000952,6000953,6000954,6000955,6000956,6000957,6000958,6000959,6000960,6000961,6000962,6000963,6000964,6000965,6000966,6000967,6000968,6000969,6000970,6000971,6000972,6000973,6000974,6000975,6000976,6000977,6000978,6000979,6000980,6000981,6000982,6000983,6000984,6000985,6000986,6000987,6000988,6000989,6000990,6000991,6000992,6000993,6000994,6000995,6000996,6000997,6000998,6000999,6001000,7000001,7000002,7000003,7000004,7000005,7000006,7000007,7000008,7000009,7000010,7000011,7000012,7000013,7000014,7000015,7000016,7000017,7000018,7000019,7000020,7000021,7000022,7000023,7000024,7000025,7000026,7000027,7000028,7000029,7000030,7000031,7000032,7000033,7000034,7000035,7000036,7000037,7000038,7000039,7000040,7000041,7000042,7000043,7000044,7000045,7000046,7000047,7000048,7000049,7000050,7000051,7000052,7000053,7000054,7000055,7000056,7000057,7000058,7000059,7000060,7000061,7000062,7000063,7000064,7000065,7000066,7000067,7000068,7000069,7000070,7000071,7000072,7000073,7000074,7000075,7000076,7000077,7000078,7000079,7000080,7000081,7000082,7000083,7000084,7000085,7000086,7000087,7000088,7000089,7000090,7000091,7000092,7000093,7000094,7000095,7000096,7000097,7000098,7000099,7000100,7000101,7000102,7000103,7000104,7000105,7000106,7000107,7000108,7000109,7000110,7000111,7000112,7000113,7000114,7000115,7000116,7000117,7000118,7000119,7000120,7000121,7000122,7000123,7000124,7000125,7000126,7000127,7000128,7000129,7000130,7000131,7000132,7000133,7000134,7000135,7000136,7000137,7000138,7000139,7000140,7000141,7000142,7000143,7000144,7000145,7000146,7000147,7000148,7000149,7000150,7000151,7000152,7000153,7000154,7000155,7000156,7000157,7000158,7000159,7000160,7000161,7000162,7000163,7000164,7000165,7000166,7000167,7000168,7000169,7000170,7000171,7000172,7000173,7000174,7000175,7000176,7000177,7000178,7000179,7000180,7000181,7000182,7000183,7000184,7000185,7000186,7000187,7000188,7000189,7000190,7000191,7000192,7000193,7000194,7000195,7000196,7000197,7000198,7000199,7000200,7000201,7000202,7000203,7000204,7000205,7000206,7000207,7000208,7000209,7000210,7000211,7000212,7000213,7000214,7000215,7000216,7000217,7000218,7000219,7000220,7000221,7000222,7000223,7000224,7000225,7000226,7000227,7000228,7000229,7000230,7000231,7000232,7000233,7000234,7000235,7000236,7000237,7000238,7000239,7000240,7000241,7000242,7000243,7000244,7000245,7000246,7000247,7000248,7000249,7000250,7000251,7000252,7000253,7000254,7000255,7000256,7000257,7000258,7000259,7000260,7000261,7000262,7000263,7000264,7000265,7000266,7000267,7000268,7000269,7000270,7000271,7000272,7000273,7000274,7000275,7000276,7000277,7000278,7000279,7000280,7000281,7000282,7000283,7000284,7000285,7000286,7000287,7000288,7000289,7000290,7000291,7000292,7000293,7000294,7000295,7000296,7000297,7000298,7000299,7000300,7000301,7000302,7000303,7000304,7000305,7000306,7000307,7000308,7000309,7000310,7000311,7000312,7000313,7000314,7000315,7000316,7000317,7000318,7000319,7000320,7000321,7000322,7000323,7000324,7000325,7000326,7000327,7000328,7000329,7000330,7000331,7000332,7000333,7000334,7000335,7000336,7000337,7000338,7000339,7000340,7000341,7000342,7000343,7000344,7000345,7000346,7000347,7000348,7000349,7000350,7000351,7000352,7000353,7000354,7000355,7000356,7000357,7000358,7000359,7000360,7000361,7000362,7000363,7000364,7000365,7000366,7000367,7000368,7000369,7000370,7000371,7000372,7000373,7000374,7000375,7000376,7000377,7000378,7000379,7000380,7000381,7000382,7000383,7000384,7000385,7000386,7000387,7000388,7000389,7000390,7000391,7000392,7000393,7000394,7000395,7000396,7000397,7000398,7000399,7000400,7000401,7000402,7000403,7000404,7000405,7000406,7000407,7000408,7000409,7000410,7000411,7000412,7000413,7000414,7000415,7000416,7000417,7000418,7000419,7000420,7000421,7000422,7000423,7000424,7000425,7000426,7000427,7000428,7000429,7000430,7000431,7000432,7000433,7000434,7000435,7000436,7000437,7000438,7000439,7000440,7000441,7000442,7000443,7000444,7000445,7000446,7000447,7000448,7000449,7000450,7000451,7000452,7000453,7000454,7000455,7000456,7000457,7000458,7000459,7000460,7000461,7000462,7000463,7000464,7000465,7000466,7000467,7000468,7000469,7000470,7000471,7000472,7000473,7000474,7000475,7000476,7000477,7000478,7000479,7000480,7000481,7000482,7000483,7000484,7000485,7000486,7000487,7000488,7000489,7000490,7000491,7000492,7000493,7000494,7000495,7000496,7000497,7000498,7000499,7000500,7000501,7000502,7000503,7000504,7000505,7000506,7000507,7000508,7000509,7000510,7000511,7000512,7000513,7000514,7000515,7000516,7000517,7000518,7000519,7000520,7000521,7000522,7000523,7000524,7000525,7000526,7000527,7000528,7000529,7000530,7000531,7000532,7000533,7000534,7000535,7000536,7000537,7000538,7000539,7000540,7000541,7000542,7000543,7000544,7000545,7000546,7000547,7000548,7000549,7000550,7000551,7000552,7000553,7000554,7000555,7000556,7000557,7000558,7000559,7000560,7000561,7000562,7000563,7000564,7000565,7000566,7000567,7000568,7000569,7000570,7000571,7000572,7000573,7000574,7000575,7000576,7000577,7000578,7000579,7000580,7000581,7000582,7000583,7000584,7000585,7000586,7000587,7000588,7000589,7000590,7000591,7000592,7000593,7000594,7000595,7000596,7000597,7000598,7000599,7000600,7000601,7000602,7000603,7000604,7000605,7000606,7000607,7000608,7000609,7000610,7000611,7000612,7000613,7000614,7000615,7000616,7000617,7000618,7000619,7000620,7000621,7000622,7000623,7000624,7000625,7000626,7000627,7000628,7000629,7000630,7000631,7000632,7000633,7000634,7000635,7000636,7000637,7000638,7000639,7000640,7000641,7000642,7000643,7000644,7000645,7000646,7000647,7000648,7000649,7000650,7000651,7000652,7000653,7000654,7000655,7000656,7000657,7000658,7000659,7000660,7000661,7000662,7000663,7000664,7000665,7000666,7000667,7000668,7000669,7000670,7000671,7000672,7000673,7000674,7000675,7000676,7000677,7000678,7000679,7000680,7000681,7000682,7000683,7000684,7000685,7000686,7000687,7000688,7000689,7000690,7000691,7000692,7000693,7000694,7000695,7000696,7000697,7000698,7000699,7000700,7000701,7000702,7000703,7000704,7000705,7000706,7000707,7000708,7000709,7000710,7000711,7000712,7000713,7000714,7000715,7000716,7000717,7000718,7000719,7000720,7000721,7000722,7000723,7000724,7000725,7000726,7000727,7000728,7000729,7000730,7000731,7000732,7000733,7000734,7000735,7000736,7000737,7000738,7000739,7000740,7000741,7000742,7000743,7000744,7000745,7000746,7000747,7000748,7000749,7000750,7000751,7000752,7000753,7000754,7000755,7000756,7000757,7000758,7000759,7000760,7000761,7000762,7000763,7000764,7000765,7000766,7000767,7000768,7000769,7000770,7000771,7000772,7000773,7000774,7000775,7000776,7000777,7000778,7000779,7000780,7000781,7000782,7000783,7000784,7000785,7000786,7000787,7000788,7000789,7000790,7000791,7000792,7000793,7000794,7000795,7000796,7000797,7000798,7000799,7000800,7000801,7000802,7000803,7000804,7000805,7000806,7000807,7000808,7000809,7000810,7000811,7000812,7000813,7000814,7000815,7000816,7000817,7000818,7000819,7000820,7000821,7000822,7000823,7000824,7000825,7000826,7000827,7000828,7000829,7000830,7000831,7000832,7000833,7000834,7000835,7000836,7000837,7000838,7000839,7000840,7000841,7000842,7000843,7000844,7000845,7000846,7000847,7000848,7000849,7000850,7000851,7000852,7000853,7000854,7000855,7000856,7000857,7000858,7000859,7000860,7000861,7000862,7000863,7000864,7000865,7000866,7000867,7000868,7000869,7000870,7000871,7000872,7000873,7000874,7000875,7000876,7000877,7000878,7000879,7000880,7000881,7000882,7000883,7000884,7000885,7000886,7000887,7000888,7000889,7000890,7000891,7000892,7000893,7000894,7000895,7000896,7000897,7000898,7000899,7000900,7000901,7000902,7000903,7000904,7000905,7000906,7000907,7000908,7000909,7000910,7000911,7000912,7000913,7000914,7000915,7000916,7000917,7000918,7000919,7000920,7000921,7000922,7000923,7000924,7000925,7000926,7000927,7000928,7000929,7000930,7000931,7000932,7000933,7000934,7000935,7000936,7000937,7000938,7000939,7000940,7000941,7000942,7000943,7000944,7000945,7000946,7000947,7000948,7000949,7000950,7000951,7000952,7000953,7000954,7000955,7000956,7000957,7000958,7000959,7000960,7000961,7000962,7000963,7000964,7000965,7000966,7000967,7000968,7000969,7000970,7000971,7000972,7000973,7000974,7000975,7000976,7000977,7000978,7000979,7000980,7000981,7000982,7000983,7000984,7000985,7000986,7000987,7000988,7000989,7000990,7000991,7000992,7000993,7000994,7000995,7000996,7000997,7000998,7000999,7001000,8000002,8000003,8000004,8000005,8000006,8000007,8000008,8000009,8000010,8000011,8000012,8000013,8000014,8000015,8000016,8000017,8000018,8000019,8000020,8000021,8000022,8000023,8000024,8000025,8000026,8000027,8000028,8000029,8000030,8000031,8000032,8000033,8000034,8000035,8000036,8000037,8000038,8000039,8000040,8000041,8000042,8000043,8000044,8000045,8000046,8000047,8000048,8000049,8000050,8000051,8000052,8000053,8000054,8000055,8000056,8000057,8000058,8000059,8000060,8000061,8000062,8000063,8000064,8000065,8000066,8000067,8000068,8000069,8000070,8000071,8000072,8000073,8000074,8000075,8000076,8000077,8000078,8000079,8000080,8000081,8000082,8000083,8000084,8000085,8000086,8000087,8000088,8000089,8000090,8000091,8000092,8000093,8000094,8000095,8000096,8000097,8000098,8000099,8000100,8000101,8000102,8000103,8000104,8000105,8000106,8000107,8000108,8000109,8000110,8000111,8000112,8000113,8000114,8000115,8000116,8000117,8000118,8000119,8000120,8000121,8000122,8000123,8000124,8000125,8000126,8000127,8000128,8000129,8000130,8000131,8000132,8000133,8000134,8000135,8000136,8000137,8000138,8000139,8000140,8000141,8000142,8000143,8000144,8000145,8000146,8000147,8000148,8000149,8000150,8000151,8000152,8000153,8000154,8000155,8000156,8000157,8000158,8000159,8000160,8000161,8000162,8000163,8000164,8000165,8000166,8000167,8000168,8000169,8000170,8000171,8000172,8000173,8000174,8000175,8000176,8000177,8000178,8000179,8000180,8000181,8000182,8000183,8000184,8000185,8000186,8000187,8000188,8000189,8000190,8000191,8000192,8000193,8000194,8000195,8000196,8000197,8000198,8000199,8000200,8000201,8000202,8000203,8000204,8000205,8000206,8000207,8000208,8000209,8000210,8000211,8000212,8000213,8000214,8000215,8000216,8000217,8000218,8000219,8000220,8000221,8000222,8000223,8000224,8000225,8000226,8000227,8000228,8000229,8000230,8000231,8000232,8000233,8000234,8000235,8000236,8000237,8000238,8000239,8000240,8000241,8000242,8000243,8000244,8000245,8000246,8000247,8000248,8000249,8000250,8000251,8000252,8000253,8000254,8000255,8000256,8000257,8000258,8000259,8000260,8000261,8000262,8000263,8000264,8000265,8000266,8000267,8000268,8000269,8000270,8000271,8000272,8000273,8000274,8000275,8000276,8000277,8000278,8000279,8000280,8000281,8000282,8000283,8000284,8000285,8000286,8000287,8000288,8000289,8000290,8000291,8000292,8000293,8000294,8000295,8000296,8000297,8000298,8000299,8000300,8000301,8000302,8000303,8000304,8000305,8000306,8000307,8000308,8000309,8000310,8000311,8000312,8000313,8000314,8000315,8000316,8000317,8000318,8000319,8000320,8000321,8000322,8000323,8000324,8000325,8000326,8000327,8000328,8000329,8000330,8000331,8000332,8000333,8000334,8000335,8000336,8000337,8000338,8000339,8000340,8000341,8000342,8000343,8000344,8000345,8000346,8000347,8000348,8000349,8000350,8000351,8000352,8000353,8000354,8000355,8000356,8000357,8000358,8000359,8000360,8000361,8000362,8000363,8000364,8000365,8000366,8000367,8000368,8000369,8000370,8000371,8000372,8000373,8000374,8000375,8000376,8000377,8000378,8000379,8000380,8000381,8000382,8000383,8000384,8000385,8000386,8000387,8000388,8000389,8000390,8000391,8000392,8000393,8000394,8000395,8000396,8000397,8000398,8000399,8000400,8000401,8000402,8000403,8000404,8000405,8000406,8000407,8000408,8000409,8000410,8000411,8000412,8000413,8000414,8000415,8000416,8000417,8000418,8000419,8000420,8000421,8000422,8000423,8000424,8000425,8000426,8000427,8000428,8000429,8000430,8000431,8000432,8000433,8000434,8000435,8000436,8000437,8000438,8000439,8000440,8000441,8000442,8000443,8000444,8000445,8000446,8000447,8000448,8000449,8000450,8000451,8000452,8000453,8000454,8000455,8000456,8000457,8000458,8000459,8000460,8000461,8000462,8000463,8000464,8000465,8000466,8000467,8000468,8000469,8000470,8000471,8000472,8000473,8000474,8000475,8000476,8000477,8000478,8000479,8000480,8000481,8000482,8000483,8000484,8000485,8000486,8000487,8000488,8000489,8000490,8000491,8000492,8000493,8000494,8000495,8000496,8000497,8000498,8000499,8000500,8000501,8000502,8000503,8000504,8000505,8000506,8000507,8000508,8000509,8000510,8000511,8000512,8000513,8000514,8000515,8000516,8000517,8000518,8000519,8000520,8000521,8000522,8000523,8000524,8000525,8000526,8000527,8000528,8000529,8000530,8000531,8000532,8000533,8000534,8000535,8000536,8000537,8000538,8000539,8000540,8000541,8000542,8000543,8000544,8000545,8000546,8000547,8000548,8000549,8000550,8000551,8000552,8000553,8000554,8000555,8000556,8000557,8000558,8000559,8000560,8000561,8000562,8000563,8000564,8000565,8000566,8000567,8000568,8000569,8000570,8000571,8000572,8000573,8000574,8000575,8000576,8000577,8000578,8000579,8000580,8000581,8000582,8000583,8000584,8000585,8000586,8000587,8000588,8000589,8000590,8000591,8000592,8000593,8000594,8000595,8000596,8000597,8000598,8000599,8000600,8000601,8000602,8000603,8000604,8000605,8000606,8000607,8000608,8000609,8000610,8000611,8000612,8000613,8000614,8000615,8000616,8000617,8000618,8000619,8000620,8000621,8000622,8000623,8000624,8000625,8000626,8000627,8000628,8000629,8000630,8000631,8000632,8000633,8000634,8000635,8000636,8000637,8000638,8000639,8000640,8000641,8000642,8000643,8000644,8000645,8000646,8000647,8000648,8000649,8000650,8000651,8000652,8000653,8000654,8000655,8000656,8000657,8000658,8000659,8000660,8000661,8000662,8000663,8000664,8000665,8000666,8000667,8000668,8000669,8000670,8000671,8000672,8000673,8000674,8000675,8000676,8000677,8000678,8000679,8000680,8000681,8000682,8000683,8000684,8000685,8000686,8000687,8000688,8000689,8000690,8000691,8000692,8000693,8000694,8000695,8000696,8000697,8000698,8000699,8000700,8000701,8000702,8000703,8000704,8000705,8000706,8000707,8000708,8000709,8000710,8000711,8000712,8000713,8000714,8000715,8000716,8000717,8000718,8000719,8000720,8000721,8000722,8000723,8000724,8000725,8000726,8000727,8000728,8000729,8000730,8000731,8000732,8000733,8000734,8000735,8000736,8000737,8000738,8000739,8000740,8000741,8000742,8000743,8000744,8000745,8000746,8000747,8000748,8000749,8000750,8000751,8000752,8000753,8000754,8000755,8000756,8000757,8000758,8000759,8000760,8000761,8000762,8000763,8000764,8000765,8000766,8000767,8000768,8000769,8000770,8000771,8000772,8000773,8000774,8000775,8000776,8000777,8000778,8000779,8000780,8000781,8000782,8000783,8000784,8000785,8000786,8000787,8000788,8000789,8000790,8000791,8000792,8000793,8000794,8000795,8000796,8000797,8000798,8000799,8000800,8000801,8000802,8000803,8000804,8000805,8000806,8000807,8000808,8000809,8000810,8000811,8000812,8000813,8000814,8000815,8000816,8000817,8000818,8000819,8000820,8000821,8000822,8000823,8000824,8000825,8000826,8000827,8000828,8000829,8000830,8000831,8000832,8000833,8000834,8000835,8000836,8000837,8000838,8000839,8000840,8000841,8000842,8000843,8000844,8000845,8000846,8000847,8000848,8000849,8000850,8000851,8000852,8000853,8000854,8000855,8000856,8000857,8000858,8000859,8000860,8000861,8000862,8000863,8000864,8000865,8000866,8000867,8000868,8000869,8000870,8000871,8000872,8000873,8000874,8000875,8000876,8000877,8000878,8000879,8000880,8000881,8000882,8000883,8000884,8000885,8000886,8000887,8000888,8000889,8000890,8000891,8000892,8000893,8000894,8000895,8000896,8000897,8000898,8000899,8000900,8000901,8000902,8000903,8000904,8000905,8000906,8000907,8000908,8000909,8000910,8000911,8000912,8000913,8000914,8000915,8000916,8000917,8000918,8000919,8000920,8000921,8000922,8000923,8000924,8000925,8000926,8000927,8000928,8000929,8000930,8000931,8000932,8000933,8000934,8000935,8000936,8000937,8000938,8000939,8000940,8000941,8000942,8000943,8000944,8000945,8000946,8000947,8000948,8000949,8000950,8000951,8000952,8000953,8000954,8000955,8000956,8000957,8000958,8000959,8000960,8000961,8000962,8000963,8000964,8000965,8000966,8000967,8000968,8000969,8000970,8000971,8000972,8000973,8000974,8000975,8000976,8000977,8000978,8000979,8000980,8000981,8000982,8000983,8000984,8000985,8000986,8000987,8000988,8000989,8000990,8000991,8000992,8000993,8000994,8000995,8000996,8000997,8000998,8000999,8001000,9000001,9000002,9000003,9000004,9000005,9000006,9000007,9000008,9000009,9000010,9000011,9000012,9000013,9000014,9000015,9000016,9000017,9000018,9000019,9000020,9000021,9000022,9000023,9000024,9000025,9000026,9000027,9000028,9000029,9000030,9000031,9000032,9000033,9000034,9000035,9000036,9000037,9000038,9000039,9000040,9000041,9000042,9000043,9000044,9000045,9000046,9000047,9000048,9000049,9000050,9000051,9000052,9000053,9000054,9000055,9000056,9000057,9000058,9000059,9000060,9000061,9000062,9000063,9000064,9000065,9000066,9000067,9000068,9000069,9000070,9000071,9000072,9000073,9000074,9000075,9000076,9000077,9000078,9000079,9000080,9000081,9000082,9000083,9000084,9000085,9000086,9000087,9000088,9000089,9000090,9000091,9000092,9000093,9000094,9000095,9000096,9000097,9000098,9000099,9000100,9000101,9000102,9000103,9000104,9000105,9000106,9000107,9000108,9000109,9000110,9000111,9000112,9000113,9000114,9000115,9000116,9000117,9000118,9000119,9000120,9000121,9000122,9000123,9000124,9000125,9000126,9000127,9000128,9000129,9000130,9000131,9000132,9000133,9000134,9000135,9000136,9000137,9000138,9000139,9000140,9000141,9000142,9000143,9000144,9000145,9000146,9000147,9000148,9000149,9000150,9000151,9000152,9000153,9000154,9000155,9000156,9000157,9000158,9000159,9000160,9000161,9000162,9000163,9000164,9000165,9000166,9000167,9000168,9000169,9000170,9000171,9000172,9000173,9000174,9000175,9000176,9000177,9000178,9000179,9000180,9000181,9000182,9000183,9000184,9000185,9000186,9000187,9000188,9000189,9000190,9000191,9000192,9000193,9000194,9000195,9000196,9000197,9000198,9000199,9000200,9000201,9000202,9000203,9000204,9000205,9000206,9000207,9000208,9000209,9000210,9000211,9000212,9000213,9000214,9000215,9000216,9000217,9000218,9000219,9000220,9000221,9000222,9000223,9000224,9000225,9000226,9000227,9000228,9000229,9000230,9000231,9000232,9000233,9000234,9000235,9000236,9000237,9000238,9000239,9000240,9000241,9000242,9000243,9000244,9000245,9000246,9000247,9000248,9000249,9000250,9000251,9000252,9000253,9000254,9000255,9000256,9000257,9000258,9000259,9000260,9000261,9000262,9000263,9000264,9000265,9000266,9000267,9000268,9000269,9000270,9000271,9000272,9000273,9000274,9000275,9000276,9000277,9000278,9000279,9000280,9000281,9000282,9000283,9000284,9000285,9000286,9000287,9000288,9000289,9000290,9000291,9000292,9000293,9000294,9000295,9000296,9000297,9000298,9000299,9000300,9000301,9000302,9000303,9000304,9000305,9000306,9000307,9000308,9000309,9000310,9000311,9000312,9000313,9000314,9000315,9000316,9000317,9000318,9000319,9000320,9000321,9000322,9000323,9000324,9000325,9000326,9000327,9000328,9000329,9000330,9000331,9000332,9000333,9000334,9000335,9000336,9000337,9000338,9000339,9000340,9000341,9000342,9000343,9000344,9000345,9000346,9000347,9000348,9000349,9000350,9000351,9000352,9000353,9000354,9000355,9000356,9000357,9000358,9000359,9000360,9000361,9000362,9000363,9000364,9000365,9000366,9000367,9000368,9000369,9000370,9000371,9000372,9000373,9000374,9000375,9000376,9000377,9000378,9000379,9000380,9000381,9000382,9000383,9000384,9000385,9000386,9000387,9000388,9000389,9000390,9000391,9000392,9000393,9000394,9000395,9000396,9000397,9000398,9000399,9000400,9000401,9000402,9000403,9000404,9000405,9000406,9000407,9000408,9000409,9000410,9000411,9000412,9000413,9000414,9000415,9000416,9000417,9000418,9000419,9000420,9000421,9000422,9000423,9000424,9000425,9000426,9000427,9000428,9000429,9000430,9000431,9000432,9000433,9000434,9000435,9000436,9000437,9000438,9000439,9000440,9000441,9000442,9000443,9000444,9000445,9000446,9000447,9000448,9000449,9000450,9000451,9000452,9000453,9000454,9000455,9000456,9000457,9000458,9000459,9000460,9000461,9000462,9000463,9000464,9000465,9000466,9000467,9000468,9000469,9000470,9000471,9000472,9000473,9000474,9000475,9000476,9000477,9000478,9000479,9000480,9000481,9000482,9000483,9000484,9000485,9000486,9000487,9000488,9000489,9000490,9000491,9000492,9000493,9000494,9000495,9000496,9000497,9000498,9000499,9000500,9000501,9000502,9000503,9000504,9000505,9000506,9000507,9000508,9000509,9000510,9000511,9000512,9000513,9000514,9000515,9000516,9000517,9000518,9000519,9000520,9000521,9000522,9000523,9000524,9000525,9000526,9000527,9000528,9000529,9000530,9000531,9000532,9000533,9000534,9000535,9000536,9000537,9000538,9000539,9000540,9000541,9000542,9000543,9000544,9000545,9000546,9000547,9000548,9000549,9000550,9000551,9000552,9000553,9000554,9000555,9000556,9000557,9000558,9000559,9000560,9000561,9000562,9000563,9000564,9000565,9000566,9000567,9000568,9000569,9000570,9000571,9000572,9000573,9000574,9000575,9000576,9000577,9000578,9000579,9000580,9000581,9000582,9000583,9000584,9000585,9000586,9000587,9000588,9000589,9000590,9000591,9000592,9000593,9000594,9000595,9000596,9000597,9000598,9000599,9000600,9000601,9000602,9000603,9000604,9000605,9000606,9000607,9000608,9000609,9000610,9000611,9000612,9000613,9000614,9000615,9000616,9000617,9000618,9000619,9000620,9000621,9000622,9000623,9000624,9000625,9000626,9000627,9000628,9000629,9000630,9000631,9000632,9000633,9000634,9000635,9000636,9000637,9000638,9000639,9000640,9000641,9000642,9000643,9000644,9000645,9000646,9000647,9000648,9000649,9000650,9000651,9000652,9000653,9000654,9000655,9000656,9000657,9000658,9000659,9000660,9000661,9000662,9000663,9000664,9000665,9000666,9000667,9000668,9000669,9000670,9000671,9000672,9000673,9000674,9000675,9000676,9000677,9000678,9000679,9000680,9000681,9000682,9000683,9000684,9000685,9000686,9000687,9000688,9000689,9000690,9000691,9000692,9000693,9000694,9000695,9000696,9000697,9000698,9000699,9000700,9000701,9000702,9000703,9000704,9000705,9000706,9000707,9000708,9000709,9000710,9000711,9000712,9000713,9000714,9000715,9000716,9000717,9000718,9000719,9000720,9000721,9000722,9000723,9000724,9000725,9000726,9000727,9000728,9000729,9000730,9000731,9000732,9000733,9000734,9000735,9000736,9000737,9000738,9000739,9000740,9000741,9000742,9000743,9000744,9000745,9000746,9000747,9000748,9000749,9000750,9000751,9000752,9000753,9000754,9000755,9000756,9000757,9000758,9000759,9000760,9000761,9000762,9000763,9000764,9000765,9000766,9000767,9000768,9000769,9000770,9000771,9000772,9000773,9000774,9000775,9000776,9000777,9000778,9000779,9000780,9000781,9000782,9000783,9000784,9000785,9000786,9000787,9000788,9000789,9000790,9000791,9000792,9000793,9000794,9000795,9000796,9000797,9000798,9000799,9000800,9000801,9000802,9000803,9000804,9000805,9000806,9000807,9000808,9000809,9000810,9000811,9000812,9000813,9000814,9000815,9000816,9000817,9000818,9000819,9000820,9000821,9000822,9000823,9000824,9000825,9000826,9000827,9000828,9000829,9000830,9000831,9000832,9000833,9000834,9000835,9000836,9000837,9000838,9000839,9000840,9000841,9000842,9000843,9000844,9000845,9000846,9000847,9000848,9000849,9000850,9000851,9000852,9000853,9000854,9000855,9000856,9000857,9000858,9000859,9000860,9000861,9000862,9000863,9000864,9000865,9000866,9000867,9000868,9000869,9000870,9000871,9000872,9000873,9000874,9000875,9000876,9000877,9000878,9000879,9000880,9000881,9000882,9000883,9000884,9000885,9000886,9000887,9000888,9000889,9000890,9000891,9000892,9000893,9000894,9000895,9000896,9000897,9000898,9000899,9000900,9000901,9000902,9000903,9000904,9000905,9000906,9000907,9000908,9000909,9000910,9000911,9000912,9000913,9000914,9000915,9000916,9000917,9000918,9000919,9000920,9000921,9000922,9000923,9000924,9000925,9000926,9000927,9000928,9000929,9000930,9000931,9000932,9000933,9000934,9000935,9000936,9000937,9000938,9000939,9000940,9000941,9000942,9000943,9000944,9000945,9000946,9000947,9000948,9000949,9000950,9000951,9000952,9000953,9000954,9000955,9000956,9000957,9000958,9000959,9000960,9000961,9000962,9000963,9000964,9000965,9000966,9000967,9000968,9000969,9000970,9000971,9000972,9000973,9000974,9000975,9000976,9000977,9000978,9000979,9000980,9000981,9000982,9000983,9000984,9000985,9000986,9000987,9000988,9000989,9000990,9000991,9000992,9000993,9000994,9000995,9000996,9000997,9000998,9000999,9001000,10000001,10000002,10000003,10000004,10000005,10000006,10000007,10000008,10000009,10000010,10000011,10000012,10000013,10000014,10000015,10000016,10000017,10000018,10000019,10000020,10000021,10000022,10000023,10000024,10000025,10000026,10000027,10000028,10000029,10000030,10000031,10000032,10000033,10000034,10000035,10000036,10000037,10000038,10000039,10000040,10000041,10000042,10000043,10000044,10000045,10000046,10000047,10000048,10000049,10000050,10000051,10000052,10000053,10000054,10000055,10000056,10000057,10000058,10000059,10000060,10000061,10000062,10000063,10000064,10000065,10000066,10000067,10000068,10000069,10000070,10000071,10000072,10000073,10000074,10000075,10000076,10000077,10000078,10000079,10000080,10000081,10000082,10000083,10000084,10000085,10000086,10000087,10000088,10000089,10000090,10000091,10000092,10000093,10000094,10000095,10000096,10000097,10000098,10000099,10000100,10000101,10000102,10000103,10000104,10000105,10000106,10000107,10000108,10000109,10000110,10000111,10000112,10000113,10000114,10000115,10000116,10000117,10000118,10000119,10000120,10000121,10000122,10000123,10000124,10000125,10000126,10000127,10000128,10000129,10000130,10000131,10000132,10000133,10000134,10000135,10000136,10000137,10000138,10000139,10000140,10000141,10000142,10000143,10000144,10000145,10000146,10000147,10000148,10000149,10000150,10000151,10000152,10000153,10000154,10000155,10000156,10000157,10000158,10000159,10000160,10000161,10000162,10000163,10000164,10000165,10000166,10000167,10000168,10000169,10000170,10000171,10000172,10000173,10000174,10000175,10000176,10000177,10000178,10000179,10000180,10000181,10000182,10000183,10000184,10000185,10000186,10000187,10000188,10000189,10000190,10000191,10000192,10000193,10000194,10000195,10000196,10000197,10000198,10000199,10000200,10000201,10000202,10000203,10000204,10000205,10000206,10000207,10000208,10000209,10000210,10000211,10000212,10000213,10000214,10000215,10000216,10000217,10000218,10000219,10000220,10000221,10000222,10000223,10000224,10000225,10000226,10000227,10000228,10000229,10000230,10000231,10000232,10000233,10000234,10000235,10000236,10000237,10000238,10000239,10000240,10000241,10000242,10000243,10000244,10000245,10000246,10000247,10000248,10000249,10000250,10000251,10000252,10000253,10000254,10000255,10000256,10000257,10000258,10000259,10000260,10000261,10000262,10000263,10000264,10000265,10000266,10000267,10000268,10000269,10000270,10000271,10000272,10000273,10000274,10000275,10000276,10000277,10000278,10000279,10000280,10000281,10000282,10000283,10000284,10000285,10000286,10000287,10000288,10000289,10000290,10000291,10000292,10000293,10000294,10000295,10000296,10000297,10000298,10000299,10000300,10000301,10000302,10000303,10000304,10000305,10000306,10000307,10000308,10000309,10000310,10000311,10000312,10000313,10000314,10000315,10000316,10000317,10000318,10000319,10000320,10000321,10000322,10000323,10000324,10000325,10000326,10000327,10000328,10000329,10000330,10000331,10000332,10000333,10000334,10000335,10000336,10000337,10000338,10000339,10000340,10000341,10000342,10000343,10000344,10000345,10000346,10000347,10000348,10000349,10000350,10000351,10000352,10000353,10000354,10000355,10000356,10000357,10000358,10000359,10000360,10000361,10000362,10000363,10000364,10000365,10000366,10000367,10000368,10000369,10000370,10000371,10000372,10000373,10000374,10000375,10000376,10000377,10000378,10000379,10000380,10000381,10000382,10000383,10000384,10000385,10000386,10000387,10000388,10000389,10000390,10000391,10000392,10000393,10000394,10000395,10000396,10000397,10000398,10000399,10000400,10000401,10000402,10000403,10000404,10000405,10000406,10000407,10000408,10000409,10000410,10000411,10000412,10000413,10000414,10000415,10000416,10000417,10000418,10000419,10000420,10000421,10000422,10000423,10000424,10000425,10000426,10000427,10000428,10000429,10000430,10000431,10000432,10000433,10000434,10000435,10000436,10000437,10000438,10000439,10000440,10000441,10000442,10000443,10000444,10000445,10000446,10000447,10000448,10000449,10000450,10000451,10000452,10000453,10000454,10000455,10000456,10000457,10000458,10000459,10000460,10000461,10000462,10000463,10000464,10000465,10000466,10000467,10000468,10000469,10000470,10000471,10000472,10000473,10000474,10000475,10000476,10000477,10000478,10000479,10000480,10000481,10000482,10000483,10000484,10000485,10000486,10000487,10000488,10000489,10000490,10000491,10000492,10000493,10000494,10000495,10000496,10000497,10000498,10000499,10000500,10000501,10000502,10000503,10000504,10000505,10000506,10000507,10000508,10000509,10000510,10000511,10000512,10000513,10000514,10000515,10000516,10000517,10000518,10000519,10000520,10000521,10000522,10000523,10000524,10000525,10000526,10000527,10000528,10000529,10000530,10000531,10000532,10000533,10000534,10000535,10000536,10000537,10000538,10000539,10000540,10000541,10000542,10000543,10000544,10000545,10000546,10000547,10000548,10000549,10000550,10000551,10000552,10000553,10000554,10000555,10000556,10000557,10000558,10000559,10000560,10000561,10000562,10000563,10000564,10000565,10000566,10000567,10000568,10000569,10000570,10000571,10000572,10000573,10000574,10000575,10000576,10000577,10000578,10000579,10000580,10000581,10000582,10000583,10000584,10000585,10000586,10000587,10000588,10000589,10000590,10000591,10000592,10000593,10000594,10000595,10000596,10000597,10000598,10000599,10000600,10000601,10000602,10000603,10000604,10000605,10000606,10000607,10000608,10000609,10000610,10000611,10000612,10000613,10000614,10000615,10000616,10000617,10000618,10000619,10000620,10000621,10000622,10000623,10000624,10000625,10000626,10000627,10000628,10000629,10000630,10000631,10000632,10000633,10000634,10000635,10000636,10000637,10000638,10000639,10000640,10000641,10000642,10000643,10000644,10000645,10000646,10000647,10000648,10000649,10000650,10000651,10000652,10000653,10000654,10000655,10000656,10000657,10000658,10000659,10000660,10000661,10000662,10000663,10000664,10000665,10000666,10000667,10000668,10000669,10000670,10000671,10000672,10000673,10000674,10000675,10000676,10000677,10000678,10000679,10000680,10000681,10000682,10000683,10000684,10000685,10000686,10000687,10000688,10000689,10000690,10000691,10000692,10000693,10000694,10000695,10000696,10000697,10000698,10000699,10000700,10000701,10000702,10000703,10000704,10000705,10000706,10000707,10000708,10000709,10000710,10000711,10000712,10000713,10000714,10000715,10000716,10000717,10000718,10000719,10000720,10000721,10000722,10000723,10000724,10000725,10000726,10000727,10000728,10000729,10000730,10000731,10000732,10000733,10000734,10000735,10000736,10000737,10000738,10000739,10000740,10000741,10000742,10000743,10000744,10000745,10000746,10000747,10000748,10000749,10000750,10000751,10000752,10000753,10000754,10000755,10000756,10000757,10000758,10000759,10000760,10000761,10000762,10000763,10000764,10000765,10000766,10000767,10000768,10000769,10000770,10000771,10000772,10000773,10000774,10000775,10000776,10000777,10000778,10000779,10000780,10000781,10000782,10000783,10000784,10000785,10000786,10000787,10000788,10000789,10000790,10000791,10000792,10000793,10000794,10000795,10000796,10000797,10000798,10000799,10000800,10000801,10000802,10000803,10000804,10000805,10000806,10000807,10000808,10000809,10000810,10000811,10000812,10000813,10000814,10000815,10000816,10000817,10000818,10000819,10000820,10000821,10000822,10000823,10000824,10000825,10000826,10000827,10000828,10000829,10000830,10000831,10000832,10000833,10000834,10000835,10000836,10000837,10000838,10000839,10000840,10000841,10000842,10000843,10000844,10000845,10000846,10000847,10000848,10000849,10000850,10000851,10000852,10000853,10000854,10000855,10000856,10000857,10000858,10000859,10000860,10000861,10000862,10000863,10000864,10000865,10000866,10000867,10000868,10000869,10000870,10000871,10000872,10000873,10000874,10000875,10000876,10000877,10000878,10000879,10000880,10000881,10000882,10000883,10000884,10000885,10000886,10000887,10000888,10000889,10000890,10000891,10000892,10000893,10000894,10000895,10000896,10000897,10000898,10000899,10000900,10000901,10000902,10000903,10000904,10000905,10000906,10000907,10000908,10000909,10000910,10000911,10000912,10000913,10000914,10000915,10000916,10000917,10000918,10000919,10000920,10000921,10000922,10000923,10000924,10000925,10000926,10000927,10000928,10000929,10000930,10000931,10000932,10000933,10000934,10000935,10000936,10000937,10000938,10000939,10000940,10000941,10000942,10000943,10000944,10000945,10000946,10000947,10000948,10000949,10000950,10000951,10000952,10000953,10000954,10000955,10000956,10000957,10000958,10000959,10000960,10000961,10000962,10000963,10000964,10000965,10000966,10000967,10000968,10000969,10000970,10000971,10000972,10000973,10000974,10000975,10000976,10000977,10000978,10000979,10000980,10000981,10000982,10000983,10000984,10000985,10000986,10000987,10000988,10000989,10000990,10000991,10000992,10000993,10000994,10000995,10000996,10000997,10000998,10000999,10001000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ #Table3 1*10k 100*100 1000*10
+ - table: pkeyBigint10k_
+ count: 1
+ rows: 10000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: JoinG6_1_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: customer=3,schematype=regular,partition=hash,skey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+ - workload: JoinG6_2_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: schematype=regular,partition=hash,skey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card3_1 in (1000058);
+
+ - workload: JoinG6_3_1Mtbl_join_1Mtbl_two_conditions_indexscan_two_filters
+ customTags: customer=3,schematype=regular,partition=hash,skey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG6_4_1Mtbl_join_1Mtbl_two_conditions_seqscan_two_filters
+ customTags: schematype=regular,partition=hash,skey=asc,cardinality=multiple,projection=all,filtercount=two,filteron=rangeskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangeskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint1M_2 as b on a.col_bigint_card2_1=b.col_bigint_card2_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG6_5_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=3,schematype=regular,partition=hash,skey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+ - workload: JoinG6_6_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: schematype=regular,partition=hash,skey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card3_1 in (1000058);
+
+ - workload: JoinG6_7_1Mtbl_join_10ktbl_two_conditions_indexscan_two_filters
+ customTags: customer=3,schematype=regular,partition=hash,skey=composite,cardinality=multiple,projection=all,filtercount=two,filteron=mixedskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=mixedskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card1_1=b.col_bigint_card1_1 and a.col_bigint_card2_1=b.col_bigint_card2_1 where b.col_bigint_card1_1=1000000 and b.col_bigint_card2_1 in (1000058);
+
+
+ - workload: JoinG6_8_1Mtbl_join_10ktbl_two_conditions_seqscan_two_filters
+ customTags: schematype=regular,partition=hash,skey=asc,cardinality=multiple,projection=all,filtercount=two,filteron=rangeskey,filtertype=pointselect,filterother=IN,queryshape=join,joinon=rangeskey,joinconditions=two
+ run:
+ - name: hashtbl_index_scan_using_sec_index
+ weight: 100
+ queries:
+ - query: select * from pkeyBigint1M_1 as a join pkeyBigint10k_1 as b on a.col_bigint_card2_1=b.col_bigint_card2_1 and a.col_bigint_card3_1=b.col_bigint_card3_1 where b.col_bigint_card2_1 in (1000058);
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING7_pkey_rangescan_join.yaml b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING7_pkey_rangescan_join.yaml
new file mode 100644
index 000000000..2558e1a57
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING7_pkey_rangescan_join.yaml
@@ -0,0 +1,103 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL11 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Join + Primary Key: Range + Join condition: Range Primary key. + Filter: range scan
+#TESTS:
+# Filter condition returns 1 rows
+# Filter condition returns 10 rows
+# Filter condition returns 1000 rows
+# Filter condition returns 100000 rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ - CREATE TABLE pkey_rangescan_join_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkey_rangescan_join_2(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ loadRules:
+ - table: pkey_rangescan_join_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: JoinG7_pkey_rangescan_join_fetch_1row
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=join,joinon=rangepkey
+ run:
+ - name: pkey_rangescan_join_fetch_1row_test
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1<2;
+ - workload: JoinG7_pkey_rangescan_join_fetch_10row
+ customTags: customer=4,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=join,joinon=rangepkey
+ run:
+ - name: pkey_rangescan_join_fetch_10row_test
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1<11;
+ - workload: JoinG7_pkey_rangescan_join_fetch_1000row
+ customTags: customer=6,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=join,joinon=rangepkey
+ run:
+ - name: pkey_rangescan_join_fetch_1000row_test
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1<1001;
+ - workload: JoinG7_pkey_rangescan_join_fetch_100000row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=join,joinon=rangepkey
+ run:
+ - name: pkey_rangescan_join_fetch_100000row_test
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1<100001;
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING8_hash_merge_join.yaml b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING8_hash_merge_join.yaml
new file mode 100644
index 000000000..ec89e570a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING8_hash_merge_join.yaml
@@ -0,0 +1,102 @@
+#GOAL12 HashJoin and Merge join tests
+#TESTS:
+# Filter condition returns 1 rows
+# Filter condition returns 1000 rows .
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{ username }}
+password: {{ password }}
+isolation: TRANSACTION_REPEATABLE_READ
+batchsize: 128
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ - CREATE TABLE pkey_rangescan_join_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC, col_bigint_1 ASC));
+ - CREATE TABLE pkey_rangescan_join_2(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC, col_bigint_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ loadRules:
+ - table: pkey_rangescan_join_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: JoinG8_hash_join_fetch_1row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=two,filteron=rangepkey,filtertype=pointselect,queryshape=join,joinon=rangepkey,joinconditions=one
+ run:
+ - name: hash_join_fetch_1row
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_2=pkey_rangescan_join_2.col_bigint_2 and pkey_rangescan_join_1.col_bigint_id_1 = 2 and pkey_rangescan_join_2.col_bigint_id_1 = 2 ;
+
+ - workload: JoinG8_hash_join_fetch_1000row
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=two,filteron=rangepkey,filtertype=pointselect,queryshape=join,joinon=rangepkey,joinconditions=one
+ run:
+ - name: hash_join_fetch_1000row
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_2=pkey_rangescan_join_2.col_bigint_2 and pkey_rangescan_join_1.col_bigint_id_1 < 1001 and pkey_rangescan_join_2.col_bigint_id_1 < 1001 ;
+
+ - workload: JoinG8_merge_join_fetch_1row
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=two,filteron=rangepkey,filtertype=pointselect,queryshape=join,joinon=rangepkey,joinconditions=one
+ run:
+ - name: merge_join_fetch_1row
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1 < 2 and pkey_rangescan_join_2.col_bigint_id_1 < 2;
+
+
+ - workload: JoinG8_merge_join_fetch_1000row
+ customTags: customer=4,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=two,filteron=rangepkey,filtertype=pointselect,queryshape=join,joinon=rangepkey,joinconditions=one
+ run:
+ - name: merge_join_fetch_1000row
+ weight: 100
+ queries:
+ - query: select pkey_rangescan_join_1.col_bigint_id_1 from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_bigint_id_1=pkey_rangescan_join_2.col_bigint_id_1 and pkey_rangescan_join_1.col_bigint_id_1 < 1001 and pkey_rangescan_join_2.col_bigint_id_1 < 1001 ;
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING9_cascadded_joins.yaml b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING9_cascadded_joins.yaml
new file mode 100644
index 000000000..b3bd88be7
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/join_workloads/yugabyte/JOING9_cascadded_joins.yaml
@@ -0,0 +1,137 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{ username }}
+password: {{ password }}
+isolation: TRANSACTION_REPEATABLE_READ
+batchsize: 128
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M_3;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE TABLE pkeyBigint1M_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE TABLE pkeyBigint1M_3(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1, col_bigint_id_2, col_bigint_id_3, col_bigint_card1_1));
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card2_1);
+ - CREATE INDEX ON pkeyBigint1M_2(col_bigint_card2_1);
+ - CREATE INDEX ON pkeyBigint1M_3(col_bigint_card2_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyBigint1M_2;
+ - DROP TABLE IF EXISTS pkeyBigint1M_3;
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 3
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000001,1000002,1000003,1000004,1000005,1000006,1000007,1000008,1000009,1000010,1000011,1000012,1000013,1000014,1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030,1000031,1000032,1000033,1000034,1000035,1000036,1000037,1000038,1000039,1000040,1000041,1000042,1000043,1000044,1000045,1000046,1000047,1000048,1000049,1000050,1000051,1000052,1000053,1000054,1000055,1000056,1000057,1000058,1000059,1000060,1000061,1000062,1000063,1000064,1000065,1000066,1000067,1000068,1000069,1000070,1000071,1000072,1000073,1000074,1000075,1000076,1000077,1000078,1000079,1000080,1000081,1000082,1000083,1000084,1000085,1000086,1000087,1000088,1000089,1000090,1000091,1000092,1000093,1000094,1000095,1000096,1000097,1000098,1000099,1000100,1000101,1000102,1000103,1000104,1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112,1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127,1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000144,1000145,1000146,1000147,1000148,1000149,1000150,1000151,1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168,1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185,1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202,1000203,1000204,1000205,1000206,1000207,1000208,1000209,1000210,1000211,1000212,1000213,1000214,1000215,1000216,1000217,1000218,1000219,1000220,1000221,1000222,1000223,1000224,1000225,1000226,1000227,1000228,1000229,1000230,1000231,1000232,1000233,1000234,1000235,1000236,1000237,1000238,1000239,1000240,1000241,1000242,1000243,1000244,1000245,1000246,1000247,1000248,1000249,1000250,1000251,1000252,1000253,1000254,1000255,1000256,1000257,1000258,1000259,1000260,1000261,1000262,1000263,1000264,1000265,1000266,1000267,1000268,1000269,1000270,1000271,1000272,1000273,1000274,1000275,1000276,1000277,1000278,1000279,1000280,1000281,1000282,1000283,1000284,1000285,1000286,1000287,1000288,1000289,1000290,1000291,1000292,1000293,1000294,1000295,1000296,1000297,1000298,1000299,1000300,1000301,1000302,1000303,1000304,1000305,1000306,1000307,1000308,1000309,1000310,1000311,1000312,1000313,1000314,1000315,1000316,1000317,1000318,1000319,1000320,1000321,1000322,1000323,1000324,1000325,1000326,1000327,1000328,1000329,1000330,1000331,1000332,1000333,1000334,1000335,1000336,1000337,1000338,1000339,1000340,1000341,1000342,1000343,1000344,1000345,1000346,1000347,1000348,1000349,1000350,1000351,1000352,1000353,1000354,1000355,1000356,1000357,1000358,1000359,1000360,1000361,1000362,1000363,1000364,1000365,1000366,1000367,1000368,1000369,1000370,1000371,1000372,1000373,1000374,1000375,1000376,1000377,1000378,1000379,1000380,1000381,1000382,1000383,1000384,1000385,1000386,1000387,1000388,1000389,1000390,1000391,1000392,1000393,1000394,1000395,1000396,1000397,1000398,1000399,1000400,1000401,1000402,1000403,1000404,1000405,1000406,1000407,1000408,1000409,1000410,1000411,1000412,1000413,1000414,1000415,1000416,1000417,1000418,1000419,1000420,1000421,1000422,1000423,1000424,1000425,1000426,1000427,1000428,1000429,1000430,1000431,1000432,1000433,1000434,1000435,1000436,1000437,1000438,1000439,1000440,1000441,1000442,1000443,1000444,1000445,1000446,1000447,1000448,1000449,1000450,1000451,1000452,1000453,1000454,1000455,1000456,1000457,1000458,1000459,1000460,1000461,1000462,1000463,1000464,1000465,1000466,1000467,1000468,1000469,1000470,1000471,1000472,1000473,1000474,1000475,1000476,1000477,1000478,1000479,1000480,1000481,1000482,1000483,1000484,1000485,1000486,1000487,1000488,1000489,1000490,1000491,1000492,1000493,1000494,1000495,1000496,1000497,1000498,1000499,1000500,1000501,1000502,1000503,1000504,1000505,1000506,1000507,1000508,1000509,1000510,1000511,1000512,1000513,1000514,1000515,1000516,1000517,1000518,1000519,1000520,1000521,1000522,1000523,1000524,1000525,1000526,1000527,1000528,1000529,1000530,1000531,1000532,1000533,1000534,1000535,1000536,1000537,1000538,1000539,1000540,1000541,1000542,1000543,1000544,1000545,1000546,1000547,1000548,1000549,1000550,1000551,1000552,1000553,1000554,1000555,1000556,1000557,1000558,1000559,1000560,1000561,1000562,1000563,1000564,1000565,1000566,1000567,1000568,1000569,1000570,1000571,1000572,1000573,1000574,1000575,1000576,1000577,1000578,1000579,1000580,1000581,1000582,1000583,1000584,1000585,1000586,1000587,1000588,1000589,1000590,1000591,1000592,1000593,1000594,1000595,1000596,1000597,1000598,1000599,1000600,1000601,1000602,1000603,1000604,1000605,1000606,1000607,1000608,1000609,1000610,1000611,1000612,1000613,1000614,1000615,1000616,1000617,1000618,1000619,1000620,1000621,1000622,1000623,1000624,1000625,1000626,1000627,1000628,1000629,1000630,1000631,1000632,1000633,1000634,1000635,1000636,1000637,1000638,1000639,1000640,1000641,1000642,1000643,1000644,1000645,1000646,1000647,1000648,1000649,1000650,1000651,1000652,1000653,1000654,1000655,1000656,1000657,1000658,1000659,1000660,1000661,1000662,1000663,1000664,1000665,1000666,1000667,1000668,1000669,1000670,1000671,1000672,1000673,1000674,1000675,1000676,1000677,1000678,1000679,1000680,1000681,1000682,1000683,1000684,1000685,1000686,1000687,1000688,1000689,1000690,1000691,1000692,1000693,1000694,1000695,1000696,1000697,1000698,1000699,1000700,1000701,1000702,1000703,1000704,1000705,1000706,1000707,1000708,1000709,1000710,1000711,1000712,1000713,1000714,1000715,1000716,1000717,1000718,1000719,1000720,1000721,1000722,1000723,1000724,1000725,1000726,1000727,1000728,1000729,1000730,1000731,1000732,1000733,1000734,1000735,1000736,1000737,1000738,1000739,1000740,1000741,1000742,1000743,1000744,1000745,1000746,1000747,1000748,1000749,1000750,1000751,1000752,1000753,1000754,1000755,1000756,1000757,1000758,1000759,1000760,1000761,1000762,1000763,1000764,1000765,1000766,1000767,1000768,1000769,1000770,1000771,1000772,1000773,1000774,1000775,1000776,1000777,1000778,1000779,1000780,1000781,1000782,1000783,1000784,1000785,1000786,1000787,1000788,1000789,1000790,1000791,1000792,1000793,1000794,1000795,1000796,1000797,1000798,1000799,1000800,1000801,1000802,1000803,1000804,1000805,1000806,1000807,1000808,1000809,1000810,1000811,1000812,1000813,1000814,1000815,1000816,1000817,1000818,1000819,1000820,1000821,1000822,1000823,1000824,1000825,1000826,1000827,1000828,1000829,1000830,1000831,1000832,1000833,1000834,1000835,1000836,1000837,1000838,1000839,1000840,1000841,1000842,1000843,1000844,1000845,1000846,1000847,1000848,1000849,1000850,1000851,1000852,1000853,1000854,1000855,1000856,1000857,1000858,1000859,1000860,1000861,1000862,1000863,1000864,1000865,1000866,1000867,1000868,1000869,1000870,1000871,1000872,1000873,1000874,1000875,1000876,1000877,1000878,1000879,1000880,1000881,1000882,1000883,1000884,1000885,1000886,1000887,1000888,1000889,1000890,1000891,1000892,1000893,1000894,1000895,1000896,1000897,1000898,1000899,1000900,1000901,1000902,1000903,1000904,1000905,1000906,1000907,1000908,1000909,1000910,1000911,1000912,1000913,1000914,1000915,1000916,1000917,1000918,1000919,1000920,1000921,1000922,1000923,1000924,1000925,1000926,1000927,1000928,1000929,1000930,1000931,1000932,1000933,1000934,1000935,1000936,1000937,1000938,1000939,1000940,1000941,1000942,1000943,1000944,1000945,1000946,1000947,1000948,1000949,1000950,1000951,1000952,1000953,1000954,1000955,1000956,1000957,1000958,1000959,1000960,1000961,1000962,1000963,1000964,1000965,1000966,1000967,1000968,1000969,1000970,1000971,1000972,1000973,1000974,1000975,1000976,1000977,1000978,1000979,1000980,1000981,1000982,1000983,1000984,1000985,1000986,1000987,1000988,1000989,1000990,1000991,1000992,1000993,1000994,1000995,1000996,1000997,1000998,1000999,1001000,2000002,2000003,2000004,2000005,2000006,2000007,2000008,2000009,2000010,2000011,2000012,2000013,2000014,2000015,2000016,2000017,2000018,2000019,2000020,2000021,2000022,2000023,2000024,2000025,2000026,2000027,2000028,2000029,2000030,2000031,2000032,2000033,2000034,2000035,2000036,2000037,2000038,2000039,2000040,2000041,2000042,2000043,2000044,2000045,2000046,2000047,2000048,2000049,2000050,2000051,2000052,2000053,2000054,2000055,2000056,2000057,2000058,2000059,2000060,2000061,2000062,2000063,2000064,2000065,2000066,2000067,2000068,2000069,2000070,2000071,2000072,2000073,2000074,2000075,2000076,2000077,2000078,2000079,2000080,2000081,2000082,2000083,2000084,2000085,2000086,2000087,2000088,2000089,2000090,2000091,2000092,2000093,2000094,2000095,2000096,2000097,2000098,2000099,2000100,2000101,2000102,2000103,2000104,2000105,2000106,2000107,2000108,2000109,2000110,2000111,2000112,2000113,2000114,2000115,2000116,2000117,2000118,2000119,2000120,2000121,2000122,2000123,2000124,2000125,2000126,2000127,2000128,2000129,2000130,2000131,2000132,2000133,2000134,2000135,2000136,2000137,2000138,2000139,2000140,2000141,2000142,2000143,2000144,2000145,2000146,2000147,2000148,2000149,2000150,2000151,2000152,2000153,2000154,2000155,2000156,2000157,2000158,2000159,2000160,2000161,2000162,2000163,2000164,2000165,2000166,2000167,2000168,2000169,2000170,2000171,2000172,2000173,2000174,2000175,2000176,2000177,2000178,2000179,2000180,2000181,2000182,2000183,2000184,2000185,2000186,2000187,2000188,2000189,2000190,2000191,2000192,2000193,2000194,2000195,2000196,2000197,2000198,2000199,2000200,2000201,2000202,2000203,2000204,2000205,2000206,2000207,2000208,2000209,2000210,2000211,2000212,2000213,2000214,2000215,2000216,2000217,2000218,2000219,2000220,2000221,2000222,2000223,2000224,2000225,2000226,2000227,2000228,2000229,2000230,2000231,2000232,2000233,2000234,2000235,2000236,2000237,2000238,2000239,2000240,2000241,2000242,2000243,2000244,2000245,2000246,2000247,2000248,2000249,2000250,2000251,2000252,2000253,2000254,2000255,2000256,2000257,2000258,2000259,2000260,2000261,2000262,2000263,2000264,2000265,2000266,2000267,2000268,2000269,2000270,2000271,2000272,2000273,2000274,2000275,2000276,2000277,2000278,2000279,2000280,2000281,2000282,2000283,2000284,2000285,2000286,2000287,2000288,2000289,2000290,2000291,2000292,2000293,2000294,2000295,2000296,2000297,2000298,2000299,2000300,2000301,2000302,2000303,2000304,2000305,2000306,2000307,2000308,2000309,2000310,2000311,2000312,2000313,2000314,2000315,2000316,2000317,2000318,2000319,2000320,2000321,2000322,2000323,2000324,2000325,2000326,2000327,2000328,2000329,2000330,2000331,2000332,2000333,2000334,2000335,2000336,2000337,2000338,2000339,2000340,2000341,2000342,2000343,2000344,2000345,2000346,2000347,2000348,2000349,2000350,2000351,2000352,2000353,2000354,2000355,2000356,2000357,2000358,2000359,2000360,2000361,2000362,2000363,2000364,2000365,2000366,2000367,2000368,2000369,2000370,2000371,2000372,2000373,2000374,2000375,2000376,2000377,2000378,2000379,2000380,2000381,2000382,2000383,2000384,2000385,2000386,2000387,2000388,2000389,2000390,2000391,2000392,2000393,2000394,2000395,2000396,2000397,2000398,2000399,2000400,2000401,2000402,2000403,2000404,2000405,2000406,2000407,2000408,2000409,2000410,2000411,2000412,2000413,2000414,2000415,2000416,2000417,2000418,2000419,2000420,2000421,2000422,2000423,2000424,2000425,2000426,2000427,2000428,2000429,2000430,2000431,2000432,2000433,2000434,2000435,2000436,2000437,2000438,2000439,2000440,2000441,2000442,2000443,2000444,2000445,2000446,2000447,2000448,2000449,2000450,2000451,2000452,2000453,2000454,2000455,2000456,2000457,2000458,2000459,2000460,2000461,2000462,2000463,2000464,2000465,2000466,2000467,2000468,2000469,2000470,2000471,2000472,2000473,2000474,2000475,2000476,2000477,2000478,2000479,2000480,2000481,2000482,2000483,2000484,2000485,2000486,2000487,2000488,2000489,2000490,2000491,2000492,2000493,2000494,2000495,2000496,2000497,2000498,2000499,2000500,2000501,2000502,2000503,2000504,2000505,2000506,2000507,2000508,2000509,2000510,2000511,2000512,2000513,2000514,2000515,2000516,2000517,2000518,2000519,2000520,2000521,2000522,2000523,2000524,2000525,2000526,2000527,2000528,2000529,2000530,2000531,2000532,2000533,2000534,2000535,2000536,2000537,2000538,2000539,2000540,2000541,2000542,2000543,2000544,2000545,2000546,2000547,2000548,2000549,2000550,2000551,2000552,2000553,2000554,2000555,2000556,2000557,2000558,2000559,2000560,2000561,2000562,2000563,2000564,2000565,2000566,2000567,2000568,2000569,2000570,2000571,2000572,2000573,2000574,2000575,2000576,2000577,2000578,2000579,2000580,2000581,2000582,2000583,2000584,2000585,2000586,2000587,2000588,2000589,2000590,2000591,2000592,2000593,2000594,2000595,2000596,2000597,2000598,2000599,2000600,2000601,2000602,2000603,2000604,2000605,2000606,2000607,2000608,2000609,2000610,2000611,2000612,2000613,2000614,2000615,2000616,2000617,2000618,2000619,2000620,2000621,2000622,2000623,2000624,2000625,2000626,2000627,2000628,2000629,2000630,2000631,2000632,2000633,2000634,2000635,2000636,2000637,2000638,2000639,2000640,2000641,2000642,2000643,2000644,2000645,2000646,2000647,2000648,2000649,2000650,2000651,2000652,2000653,2000654,2000655,2000656,2000657,2000658,2000659,2000660,2000661,2000662,2000663,2000664,2000665,2000666,2000667,2000668,2000669,2000670,2000671,2000672,2000673,2000674,2000675,2000676,2000677,2000678,2000679,2000680,2000681,2000682,2000683,2000684,2000685,2000686,2000687,2000688,2000689,2000690,2000691,2000692,2000693,2000694,2000695,2000696,2000697,2000698,2000699,2000700,2000701,2000702,2000703,2000704,2000705,2000706,2000707,2000708,2000709,2000710,2000711,2000712,2000713,2000714,2000715,2000716,2000717,2000718,2000719,2000720,2000721,2000722,2000723,2000724,2000725,2000726,2000727,2000728,2000729,2000730,2000731,2000732,2000733,2000734,2000735,2000736,2000737,2000738,2000739,2000740,2000741,2000742,2000743,2000744,2000745,2000746,2000747,2000748,2000749,2000750,2000751,2000752,2000753,2000754,2000755,2000756,2000757,2000758,2000759,2000760,2000761,2000762,2000763,2000764,2000765,2000766,2000767,2000768,2000769,2000770,2000771,2000772,2000773,2000774,2000775,2000776,2000777,2000778,2000779,2000780,2000781,2000782,2000783,2000784,2000785,2000786,2000787,2000788,2000789,2000790,2000791,2000792,2000793,2000794,2000795,2000796,2000797,2000798,2000799,2000800,2000801,2000802,2000803,2000804,2000805,2000806,2000807,2000808,2000809,2000810,2000811,2000812,2000813,2000814,2000815,2000816,2000817,2000818,2000819,2000820,2000821,2000822,2000823,2000824,2000825,2000826,2000827,2000828,2000829,2000830,2000831,2000832,2000833,2000834,2000835,2000836,2000837,2000838,2000839,2000840,2000841,2000842,2000843,2000844,2000845,2000846,2000847,2000848,2000849,2000850,2000851,2000852,2000853,2000854,2000855,2000856,2000857,2000858,2000859,2000860,2000861,2000862,2000863,2000864,2000865,2000866,2000867,2000868,2000869,2000870,2000871,2000872,2000873,2000874,2000875,2000876,2000877,2000878,2000879,2000880,2000881,2000882,2000883,2000884,2000885,2000886,2000887,2000888,2000889,2000890,2000891,2000892,2000893,2000894,2000895,2000896,2000897,2000898,2000899,2000900,2000901,2000902,2000903,2000904,2000905,2000906,2000907,2000908,2000909,2000910,2000911,2000912,2000913,2000914,2000915,2000916,2000917,2000918,2000919,2000920,2000921,2000922,2000923,2000924,2000925,2000926,2000927,2000928,2000929,2000930,2000931,2000932,2000933,2000934,2000935,2000936,2000937,2000938,2000939,2000940,2000941,2000942,2000943,2000944,2000945,2000946,2000947,2000948,2000949,2000950,2000951,2000952,2000953,2000954,2000955,2000956,2000957,2000958,2000959,2000960,2000961,2000962,2000963,2000964,2000965,2000966,2000967,2000968,2000969,2000970,2000971,2000972,2000973,2000974,2000975,2000976,2000977,2000978,2000979,2000980,2000981,2000982,2000983,2000984,2000985,2000986,2000987,2000988,2000989,2000990,2000991,2000992,2000993,2000994,2000995,2000996,2000997,2000998,2000999,2001000,3000001,3000002,3000003,3000004,3000005,3000006,3000007,3000008,3000009,3000010,3000011,3000012,3000013,3000014,3000015,3000016,3000017,3000018,3000019,3000020,3000021,3000022,3000023,3000024,3000025,3000026,3000027,3000028,3000029,3000030,3000031,3000032,3000033,3000034,3000035,3000036,3000037,3000038,3000039,3000040,3000041,3000042,3000043,3000044,3000045,3000046,3000047,3000048,3000049,3000050,3000051,3000052,3000053,3000054,3000055,3000056,3000057,3000058,3000059,3000060,3000061,3000062,3000063,3000064,3000065,3000066,3000067,3000068,3000069,3000070,3000071,3000072,3000073,3000074,3000075,3000076,3000077,3000078,3000079,3000080,3000081,3000082,3000083,3000084,3000085,3000086,3000087,3000088,3000089,3000090,3000091,3000092,3000093,3000094,3000095,3000096,3000097,3000098,3000099,3000100,3000101,3000102,3000103,3000104,3000105,3000106,3000107,3000108,3000109,3000110,3000111,3000112,3000113,3000114,3000115,3000116,3000117,3000118,3000119,3000120,3000121,3000122,3000123,3000124,3000125,3000126,3000127,3000128,3000129,3000130,3000131,3000132,3000133,3000134,3000135,3000136,3000137,3000138,3000139,3000140,3000141,3000142,3000143,3000144,3000145,3000146,3000147,3000148,3000149,3000150,3000151,3000152,3000153,3000154,3000155,3000156,3000157,3000158,3000159,3000160,3000161,3000162,3000163,3000164,3000165,3000166,3000167,3000168,3000169,3000170,3000171,3000172,3000173,3000174,3000175,3000176,3000177,3000178,3000179,3000180,3000181,3000182,3000183,3000184,3000185,3000186,3000187,3000188,3000189,3000190,3000191,3000192,3000193,3000194,3000195,3000196,3000197,3000198,3000199,3000200,3000201,3000202,3000203,3000204,3000205,3000206,3000207,3000208,3000209,3000210,3000211,3000212,3000213,3000214,3000215,3000216,3000217,3000218,3000219,3000220,3000221,3000222,3000223,3000224,3000225,3000226,3000227,3000228,3000229,3000230,3000231,3000232,3000233,3000234,3000235,3000236,3000237,3000238,3000239,3000240,3000241,3000242,3000243,3000244,3000245,3000246,3000247,3000248,3000249,3000250,3000251,3000252,3000253,3000254,3000255,3000256,3000257,3000258,3000259,3000260,3000261,3000262,3000263,3000264,3000265,3000266,3000267,3000268,3000269,3000270,3000271,3000272,3000273,3000274,3000275,3000276,3000277,3000278,3000279,3000280,3000281,3000282,3000283,3000284,3000285,3000286,3000287,3000288,3000289,3000290,3000291,3000292,3000293,3000294,3000295,3000296,3000297,3000298,3000299,3000300,3000301,3000302,3000303,3000304,3000305,3000306,3000307,3000308,3000309,3000310,3000311,3000312,3000313,3000314,3000315,3000316,3000317,3000318,3000319,3000320,3000321,3000322,3000323,3000324,3000325,3000326,3000327,3000328,3000329,3000330,3000331,3000332,3000333,3000334,3000335,3000336,3000337,3000338,3000339,3000340,3000341,3000342,3000343,3000344,3000345,3000346,3000347,3000348,3000349,3000350,3000351,3000352,3000353,3000354,3000355,3000356,3000357,3000358,3000359,3000360,3000361,3000362,3000363,3000364,3000365,3000366,3000367,3000368,3000369,3000370,3000371,3000372,3000373,3000374,3000375,3000376,3000377,3000378,3000379,3000380,3000381,3000382,3000383,3000384,3000385,3000386,3000387,3000388,3000389,3000390,3000391,3000392,3000393,3000394,3000395,3000396,3000397,3000398,3000399,3000400,3000401,3000402,3000403,3000404,3000405,3000406,3000407,3000408,3000409,3000410,3000411,3000412,3000413,3000414,3000415,3000416,3000417,3000418,3000419,3000420,3000421,3000422,3000423,3000424,3000425,3000426,3000427,3000428,3000429,3000430,3000431,3000432,3000433,3000434,3000435,3000436,3000437,3000438,3000439,3000440,3000441,3000442,3000443,3000444,3000445,3000446,3000447,3000448,3000449,3000450,3000451,3000452,3000453,3000454,3000455,3000456,3000457,3000458,3000459,3000460,3000461,3000462,3000463,3000464,3000465,3000466,3000467,3000468,3000469,3000470,3000471,3000472,3000473,3000474,3000475,3000476,3000477,3000478,3000479,3000480,3000481,3000482,3000483,3000484,3000485,3000486,3000487,3000488,3000489,3000490,3000491,3000492,3000493,3000494,3000495,3000496,3000497,3000498,3000499,3000500,3000501,3000502,3000503,3000504,3000505,3000506,3000507,3000508,3000509,3000510,3000511,3000512,3000513,3000514,3000515,3000516,3000517,3000518,3000519,3000520,3000521,3000522,3000523,3000524,3000525,3000526,3000527,3000528,3000529,3000530,3000531,3000532,3000533,3000534,3000535,3000536,3000537,3000538,3000539,3000540,3000541,3000542,3000543,3000544,3000545,3000546,3000547,3000548,3000549,3000550,3000551,3000552,3000553,3000554,3000555,3000556,3000557,3000558,3000559,3000560,3000561,3000562,3000563,3000564,3000565,3000566,3000567,3000568,3000569,3000570,3000571,3000572,3000573,3000574,3000575,3000576,3000577,3000578,3000579,3000580,3000581,3000582,3000583,3000584,3000585,3000586,3000587,3000588,3000589,3000590,3000591,3000592,3000593,3000594,3000595,3000596,3000597,3000598,3000599,3000600,3000601,3000602,3000603,3000604,3000605,3000606,3000607,3000608,3000609,3000610,3000611,3000612,3000613,3000614,3000615,3000616,3000617,3000618,3000619,3000620,3000621,3000622,3000623,3000624,3000625,3000626,3000627,3000628,3000629,3000630,3000631,3000632,3000633,3000634,3000635,3000636,3000637,3000638,3000639,3000640,3000641,3000642,3000643,3000644,3000645,3000646,3000647,3000648,3000649,3000650,3000651,3000652,3000653,3000654,3000655,3000656,3000657,3000658,3000659,3000660,3000661,3000662,3000663,3000664,3000665,3000666,3000667,3000668,3000669,3000670,3000671,3000672,3000673,3000674,3000675,3000676,3000677,3000678,3000679,3000680,3000681,3000682,3000683,3000684,3000685,3000686,3000687,3000688,3000689,3000690,3000691,3000692,3000693,3000694,3000695,3000696,3000697,3000698,3000699,3000700,3000701,3000702,3000703,3000704,3000705,3000706,3000707,3000708,3000709,3000710,3000711,3000712,3000713,3000714,3000715,3000716,3000717,3000718,3000719,3000720,3000721,3000722,3000723,3000724,3000725,3000726,3000727,3000728,3000729,3000730,3000731,3000732,3000733,3000734,3000735,3000736,3000737,3000738,3000739,3000740,3000741,3000742,3000743,3000744,3000745,3000746,3000747,3000748,3000749,3000750,3000751,3000752,3000753,3000754,3000755,3000756,3000757,3000758,3000759,3000760,3000761,3000762,3000763,3000764,3000765,3000766,3000767,3000768,3000769,3000770,3000771,3000772,3000773,3000774,3000775,3000776,3000777,3000778,3000779,3000780,3000781,3000782,3000783,3000784,3000785,3000786,3000787,3000788,3000789,3000790,3000791,3000792,3000793,3000794,3000795,3000796,3000797,3000798,3000799,3000800,3000801,3000802,3000803,3000804,3000805,3000806,3000807,3000808,3000809,3000810,3000811,3000812,3000813,3000814,3000815,3000816,3000817,3000818,3000819,3000820,3000821,3000822,3000823,3000824,3000825,3000826,3000827,3000828,3000829,3000830,3000831,3000832,3000833,3000834,3000835,3000836,3000837,3000838,3000839,3000840,3000841,3000842,3000843,3000844,3000845,3000846,3000847,3000848,3000849,3000850,3000851,3000852,3000853,3000854,3000855,3000856,3000857,3000858,3000859,3000860,3000861,3000862,3000863,3000864,3000865,3000866,3000867,3000868,3000869,3000870,3000871,3000872,3000873,3000874,3000875,3000876,3000877,3000878,3000879,3000880,3000881,3000882,3000883,3000884,3000885,3000886,3000887,3000888,3000889,3000890,3000891,3000892,3000893,3000894,3000895,3000896,3000897,3000898,3000899,3000900,3000901,3000902,3000903,3000904,3000905,3000906,3000907,3000908,3000909,3000910,3000911,3000912,3000913,3000914,3000915,3000916,3000917,3000918,3000919,3000920,3000921,3000922,3000923,3000924,3000925,3000926,3000927,3000928,3000929,3000930,3000931,3000932,3000933,3000934,3000935,3000936,3000937,3000938,3000939,3000940,3000941,3000942,3000943,3000944,3000945,3000946,3000947,3000948,3000949,3000950,3000951,3000952,3000953,3000954,3000955,3000956,3000957,3000958,3000959,3000960,3000961,3000962,3000963,3000964,3000965,3000966,3000967,3000968,3000969,3000970,3000971,3000972,3000973,3000974,3000975,3000976,3000977,3000978,3000979,3000980,3000981,3000982,3000983,3000984,3000985,3000986,3000987,3000988,3000989,3000990,3000991,3000992,3000993,3000994,3000995,3000996,3000997,3000998,3000999,3001000,4000001,4000002,4000003,4000004,4000005,4000006,4000007,4000008,4000009,4000010,4000011,4000012,4000013,4000014,4000015,4000016,4000017,4000018,4000019,4000020,4000021,4000022,4000023,4000024,4000025,4000026,4000027,4000028,4000029,4000030,4000031,4000032,4000033,4000034,4000035,4000036,4000037,4000038,4000039,4000040,4000041,4000042,4000043,4000044,4000045,4000046,4000047,4000048,4000049,4000050,4000051,4000052,4000053,4000054,4000055,4000056,4000057,4000058,4000059,4000060,4000061,4000062,4000063,4000064,4000065,4000066,4000067,4000068,4000069,4000070,4000071,4000072,4000073,4000074,4000075,4000076,4000077,4000078,4000079,4000080,4000081,4000082,4000083,4000084,4000085,4000086,4000087,4000088,4000089,4000090,4000091,4000092,4000093,4000094,4000095,4000096,4000097,4000098,4000099,4000100,4000101,4000102,4000103,4000104,4000105,4000106,4000107,4000108,4000109,4000110,4000111,4000112,4000113,4000114,4000115,4000116,4000117,4000118,4000119,4000120,4000121,4000122,4000123,4000124,4000125,4000126,4000127,4000128,4000129,4000130,4000131,4000132,4000133,4000134,4000135,4000136,4000137,4000138,4000139,4000140,4000141,4000142,4000143,4000144,4000145,4000146,4000147,4000148,4000149,4000150,4000151,4000152,4000153,4000154,4000155,4000156,4000157,4000158,4000159,4000160,4000161,4000162,4000163,4000164,4000165,4000166,4000167,4000168,4000169,4000170,4000171,4000172,4000173,4000174,4000175,4000176,4000177,4000178,4000179,4000180,4000181,4000182,4000183,4000184,4000185,4000186,4000187,4000188,4000189,4000190,4000191,4000192,4000193,4000194,4000195,4000196,4000197,4000198,4000199,4000200,4000201,4000202,4000203,4000204,4000205,4000206,4000207,4000208,4000209,4000210,4000211,4000212,4000213,4000214,4000215,4000216,4000217,4000218,4000219,4000220,4000221,4000222,4000223,4000224,4000225,4000226,4000227,4000228,4000229,4000230,4000231,4000232,4000233,4000234,4000235,4000236,4000237,4000238,4000239,4000240,4000241,4000242,4000243,4000244,4000245,4000246,4000247,4000248,4000249,4000250,4000251,4000252,4000253,4000254,4000255,4000256,4000257,4000258,4000259,4000260,4000261,4000262,4000263,4000264,4000265,4000266,4000267,4000268,4000269,4000270,4000271,4000272,4000273,4000274,4000275,4000276,4000277,4000278,4000279,4000280,4000281,4000282,4000283,4000284,4000285,4000286,4000287,4000288,4000289,4000290,4000291,4000292,4000293,4000294,4000295,4000296,4000297,4000298,4000299,4000300,4000301,4000302,4000303,4000304,4000305,4000306,4000307,4000308,4000309,4000310,4000311,4000312,4000313,4000314,4000315,4000316,4000317,4000318,4000319,4000320,4000321,4000322,4000323,4000324,4000325,4000326,4000327,4000328,4000329,4000330,4000331,4000332,4000333,4000334,4000335,4000336,4000337,4000338,4000339,4000340,4000341,4000342,4000343,4000344,4000345,4000346,4000347,4000348,4000349,4000350,4000351,4000352,4000353,4000354,4000355,4000356,4000357,4000358,4000359,4000360,4000361,4000362,4000363,4000364,4000365,4000366,4000367,4000368,4000369,4000370,4000371,4000372,4000373,4000374,4000375,4000376,4000377,4000378,4000379,4000380,4000381,4000382,4000383,4000384,4000385,4000386,4000387,4000388,4000389,4000390,4000391,4000392,4000393,4000394,4000395,4000396,4000397,4000398,4000399,4000400,4000401,4000402,4000403,4000404,4000405,4000406,4000407,4000408,4000409,4000410,4000411,4000412,4000413,4000414,4000415,4000416,4000417,4000418,4000419,4000420,4000421,4000422,4000423,4000424,4000425,4000426,4000427,4000428,4000429,4000430,4000431,4000432,4000433,4000434,4000435,4000436,4000437,4000438,4000439,4000440,4000441,4000442,4000443,4000444,4000445,4000446,4000447,4000448,4000449,4000450,4000451,4000452,4000453,4000454,4000455,4000456,4000457,4000458,4000459,4000460,4000461,4000462,4000463,4000464,4000465,4000466,4000467,4000468,4000469,4000470,4000471,4000472,4000473,4000474,4000475,4000476,4000477,4000478,4000479,4000480,4000481,4000482,4000483,4000484,4000485,4000486,4000487,4000488,4000489,4000490,4000491,4000492,4000493,4000494,4000495,4000496,4000497,4000498,4000499,4000500,4000501,4000502,4000503,4000504,4000505,4000506,4000507,4000508,4000509,4000510,4000511,4000512,4000513,4000514,4000515,4000516,4000517,4000518,4000519,4000520,4000521,4000522,4000523,4000524,4000525,4000526,4000527,4000528,4000529,4000530,4000531,4000532,4000533,4000534,4000535,4000536,4000537,4000538,4000539,4000540,4000541,4000542,4000543,4000544,4000545,4000546,4000547,4000548,4000549,4000550,4000551,4000552,4000553,4000554,4000555,4000556,4000557,4000558,4000559,4000560,4000561,4000562,4000563,4000564,4000565,4000566,4000567,4000568,4000569,4000570,4000571,4000572,4000573,4000574,4000575,4000576,4000577,4000578,4000579,4000580,4000581,4000582,4000583,4000584,4000585,4000586,4000587,4000588,4000589,4000590,4000591,4000592,4000593,4000594,4000595,4000596,4000597,4000598,4000599,4000600,4000601,4000602,4000603,4000604,4000605,4000606,4000607,4000608,4000609,4000610,4000611,4000612,4000613,4000614,4000615,4000616,4000617,4000618,4000619,4000620,4000621,4000622,4000623,4000624,4000625,4000626,4000627,4000628,4000629,4000630,4000631,4000632,4000633,4000634,4000635,4000636,4000637,4000638,4000639,4000640,4000641,4000642,4000643,4000644,4000645,4000646,4000647,4000648,4000649,4000650,4000651,4000652,4000653,4000654,4000655,4000656,4000657,4000658,4000659,4000660,4000661,4000662,4000663,4000664,4000665,4000666,4000667,4000668,4000669,4000670,4000671,4000672,4000673,4000674,4000675,4000676,4000677,4000678,4000679,4000680,4000681,4000682,4000683,4000684,4000685,4000686,4000687,4000688,4000689,4000690,4000691,4000692,4000693,4000694,4000695,4000696,4000697,4000698,4000699,4000700,4000701,4000702,4000703,4000704,4000705,4000706,4000707,4000708,4000709,4000710,4000711,4000712,4000713,4000714,4000715,4000716,4000717,4000718,4000719,4000720,4000721,4000722,4000723,4000724,4000725,4000726,4000727,4000728,4000729,4000730,4000731,4000732,4000733,4000734,4000735,4000736,4000737,4000738,4000739,4000740,4000741,4000742,4000743,4000744,4000745,4000746,4000747,4000748,4000749,4000750,4000751,4000752,4000753,4000754,4000755,4000756,4000757,4000758,4000759,4000760,4000761,4000762,4000763,4000764,4000765,4000766,4000767,4000768,4000769,4000770,4000771,4000772,4000773,4000774,4000775,4000776,4000777,4000778,4000779,4000780,4000781,4000782,4000783,4000784,4000785,4000786,4000787,4000788,4000789,4000790,4000791,4000792,4000793,4000794,4000795,4000796,4000797,4000798,4000799,4000800,4000801,4000802,4000803,4000804,4000805,4000806,4000807,4000808,4000809,4000810,4000811,4000812,4000813,4000814,4000815,4000816,4000817,4000818,4000819,4000820,4000821,4000822,4000823,4000824,4000825,4000826,4000827,4000828,4000829,4000830,4000831,4000832,4000833,4000834,4000835,4000836,4000837,4000838,4000839,4000840,4000841,4000842,4000843,4000844,4000845,4000846,4000847,4000848,4000849,4000850,4000851,4000852,4000853,4000854,4000855,4000856,4000857,4000858,4000859,4000860,4000861,4000862,4000863,4000864,4000865,4000866,4000867,4000868,4000869,4000870,4000871,4000872,4000873,4000874,4000875,4000876,4000877,4000878,4000879,4000880,4000881,4000882,4000883,4000884,4000885,4000886,4000887,4000888,4000889,4000890,4000891,4000892,4000893,4000894,4000895,4000896,4000897,4000898,4000899,4000900,4000901,4000902,4000903,4000904,4000905,4000906,4000907,4000908,4000909,4000910,4000911,4000912,4000913,4000914,4000915,4000916,4000917,4000918,4000919,4000920,4000921,4000922,4000923,4000924,4000925,4000926,4000927,4000928,4000929,4000930,4000931,4000932,4000933,4000934,4000935,4000936,4000937,4000938,4000939,4000940,4000941,4000942,4000943,4000944,4000945,4000946,4000947,4000948,4000949,4000950,4000951,4000952,4000953,4000954,4000955,4000956,4000957,4000958,4000959,4000960,4000961,4000962,4000963,4000964,4000965,4000966,4000967,4000968,4000969,4000970,4000971,4000972,4000973,4000974,4000975,4000976,4000977,4000978,4000979,4000980,4000981,4000982,4000983,4000984,4000985,4000986,4000987,4000988,4000989,4000990,4000991,4000992,4000993,4000994,4000995,4000996,4000997,4000998,4000999,4001000,5000002,5000003,5000004,5000005,5000006,5000007,5000008,5000009,5000010,5000011,5000012,5000013,5000014,5000015,5000016,5000017,5000018,5000019,5000020,5000021,5000022,5000023,5000024,5000025,5000026,5000027,5000028,5000029,5000030,5000031,5000032,5000033,5000034,5000035,5000036,5000037,5000038,5000039,5000040,5000041,5000042,5000043,5000044,5000045,5000046,5000047,5000048,5000049,5000050,5000051,5000052,5000053,5000054,5000055,5000056,5000057,5000058,5000059,5000060,5000061,5000062,5000063,5000064,5000065,5000066,5000067,5000068,5000069,5000070,5000071,5000072,5000073,5000074,5000075,5000076,5000077,5000078,5000079,5000080,5000081,5000082,5000083,5000084,5000085,5000086,5000087,5000088,5000089,5000090,5000091,5000092,5000093,5000094,5000095,5000096,5000097,5000098,5000099,5000100,5000101,5000102,5000103,5000104,5000105,5000106,5000107,5000108,5000109,5000110,5000111,5000112,5000113,5000114,5000115,5000116,5000117,5000118,5000119,5000120,5000121,5000122,5000123,5000124,5000125,5000126,5000127,5000128,5000129,5000130,5000131,5000132,5000133,5000134,5000135,5000136,5000137,5000138,5000139,5000140,5000141,5000142,5000143,5000144,5000145,5000146,5000147,5000148,5000149,5000150,5000151,5000152,5000153,5000154,5000155,5000156,5000157,5000158,5000159,5000160,5000161,5000162,5000163,5000164,5000165,5000166,5000167,5000168,5000169,5000170,5000171,5000172,5000173,5000174,5000175,5000176,5000177,5000178,5000179,5000180,5000181,5000182,5000183,5000184,5000185,5000186,5000187,5000188,5000189,5000190,5000191,5000192,5000193,5000194,5000195,5000196,5000197,5000198,5000199,5000200,5000201,5000202,5000203,5000204,5000205,5000206,5000207,5000208,5000209,5000210,5000211,5000212,5000213,5000214,5000215,5000216,5000217,5000218,5000219,5000220,5000221,5000222,5000223,5000224,5000225,5000226,5000227,5000228,5000229,5000230,5000231,5000232,5000233,5000234,5000235,5000236,5000237,5000238,5000239,5000240,5000241,5000242,5000243,5000244,5000245,5000246,5000247,5000248,5000249,5000250,5000251,5000252,5000253,5000254,5000255,5000256,5000257,5000258,5000259,5000260,5000261,5000262,5000263,5000264,5000265,5000266,5000267,5000268,5000269,5000270,5000271,5000272,5000273,5000274,5000275,5000276,5000277,5000278,5000279,5000280,5000281,5000282,5000283,5000284,5000285,5000286,5000287,5000288,5000289,5000290,5000291,5000292,5000293,5000294,5000295,5000296,5000297,5000298,5000299,5000300,5000301,5000302,5000303,5000304,5000305,5000306,5000307,5000308,5000309,5000310,5000311,5000312,5000313,5000314,5000315,5000316,5000317,5000318,5000319,5000320,5000321,5000322,5000323,5000324,5000325,5000326,5000327,5000328,5000329,5000330,5000331,5000332,5000333,5000334,5000335,5000336,5000337,5000338,5000339,5000340,5000341,5000342,5000343,5000344,5000345,5000346,5000347,5000348,5000349,5000350,5000351,5000352,5000353,5000354,5000355,5000356,5000357,5000358,5000359,5000360,5000361,5000362,5000363,5000364,5000365,5000366,5000367,5000368,5000369,5000370,5000371,5000372,5000373,5000374,5000375,5000376,5000377,5000378,5000379,5000380,5000381,5000382,5000383,5000384,5000385,5000386,5000387,5000388,5000389,5000390,5000391,5000392,5000393,5000394,5000395,5000396,5000397,5000398,5000399,5000400,5000401,5000402,5000403,5000404,5000405,5000406,5000407,5000408,5000409,5000410,5000411,5000412,5000413,5000414,5000415,5000416,5000417,5000418,5000419,5000420,5000421,5000422,5000423,5000424,5000425,5000426,5000427,5000428,5000429,5000430,5000431,5000432,5000433,5000434,5000435,5000436,5000437,5000438,5000439,5000440,5000441,5000442,5000443,5000444,5000445,5000446,5000447,5000448,5000449,5000450,5000451,5000452,5000453,5000454,5000455,5000456,5000457,5000458,5000459,5000460,5000461,5000462,5000463,5000464,5000465,5000466,5000467,5000468,5000469,5000470,5000471,5000472,5000473,5000474,5000475,5000476,5000477,5000478,5000479,5000480,5000481,5000482,5000483,5000484,5000485,5000486,5000487,5000488,5000489,5000490,5000491,5000492,5000493,5000494,5000495,5000496,5000497,5000498,5000499,5000500,5000501,5000502,5000503,5000504,5000505,5000506,5000507,5000508,5000509,5000510,5000511,5000512,5000513,5000514,5000515,5000516,5000517,5000518,5000519,5000520,5000521,5000522,5000523,5000524,5000525,5000526,5000527,5000528,5000529,5000530,5000531,5000532,5000533,5000534,5000535,5000536,5000537,5000538,5000539,5000540,5000541,5000542,5000543,5000544,5000545,5000546,5000547,5000548,5000549,5000550,5000551,5000552,5000553,5000554,5000555,5000556,5000557,5000558,5000559,5000560,5000561,5000562,5000563,5000564,5000565,5000566,5000567,5000568,5000569,5000570,5000571,5000572,5000573,5000574,5000575,5000576,5000577,5000578,5000579,5000580,5000581,5000582,5000583,5000584,5000585,5000586,5000587,5000588,5000589,5000590,5000591,5000592,5000593,5000594,5000595,5000596,5000597,5000598,5000599,5000600,5000601,5000602,5000603,5000604,5000605,5000606,5000607,5000608,5000609,5000610,5000611,5000612,5000613,5000614,5000615,5000616,5000617,5000618,5000619,5000620,5000621,5000622,5000623,5000624,5000625,5000626,5000627,5000628,5000629,5000630,5000631,5000632,5000633,5000634,5000635,5000636,5000637,5000638,5000639,5000640,5000641,5000642,5000643,5000644,5000645,5000646,5000647,5000648,5000649,5000650,5000651,5000652,5000653,5000654,5000655,5000656,5000657,5000658,5000659,5000660,5000661,5000662,5000663,5000664,5000665,5000666,5000667,5000668,5000669,5000670,5000671,5000672,5000673,5000674,5000675,5000676,5000677,5000678,5000679,5000680,5000681,5000682,5000683,5000684,5000685,5000686,5000687,5000688,5000689,5000690,5000691,5000692,5000693,5000694,5000695,5000696,5000697,5000698,5000699,5000700,5000701,5000702,5000703,5000704,5000705,5000706,5000707,5000708,5000709,5000710,5000711,5000712,5000713,5000714,5000715,5000716,5000717,5000718,5000719,5000720,5000721,5000722,5000723,5000724,5000725,5000726,5000727,5000728,5000729,5000730,5000731,5000732,5000733,5000734,5000735,5000736,5000737,5000738,5000739,5000740,5000741,5000742,5000743,5000744,5000745,5000746,5000747,5000748,5000749,5000750,5000751,5000752,5000753,5000754,5000755,5000756,5000757,5000758,5000759,5000760,5000761,5000762,5000763,5000764,5000765,5000766,5000767,5000768,5000769,5000770,5000771,5000772,5000773,5000774,5000775,5000776,5000777,5000778,5000779,5000780,5000781,5000782,5000783,5000784,5000785,5000786,5000787,5000788,5000789,5000790,5000791,5000792,5000793,5000794,5000795,5000796,5000797,5000798,5000799,5000800,5000801,5000802,5000803,5000804,5000805,5000806,5000807,5000808,5000809,5000810,5000811,5000812,5000813,5000814,5000815,5000816,5000817,5000818,5000819,5000820,5000821,5000822,5000823,5000824,5000825,5000826,5000827,5000828,5000829,5000830,5000831,5000832,5000833,5000834,5000835,5000836,5000837,5000838,5000839,5000840,5000841,5000842,5000843,5000844,5000845,5000846,5000847,5000848,5000849,5000850,5000851,5000852,5000853,5000854,5000855,5000856,5000857,5000858,5000859,5000860,5000861,5000862,5000863,5000864,5000865,5000866,5000867,5000868,5000869,5000870,5000871,5000872,5000873,5000874,5000875,5000876,5000877,5000878,5000879,5000880,5000881,5000882,5000883,5000884,5000885,5000886,5000887,5000888,5000889,5000890,5000891,5000892,5000893,5000894,5000895,5000896,5000897,5000898,5000899,5000900,5000901,5000902,5000903,5000904,5000905,5000906,5000907,5000908,5000909,5000910,5000911,5000912,5000913,5000914,5000915,5000916,5000917,5000918,5000919,5000920,5000921,5000922,5000923,5000924,5000925,5000926,5000927,5000928,5000929,5000930,5000931,5000932,5000933,5000934,5000935,5000936,5000937,5000938,5000939,5000940,5000941,5000942,5000943,5000944,5000945,5000946,5000947,5000948,5000949,5000950,5000951,5000952,5000953,5000954,5000955,5000956,5000957,5000958,5000959,5000960,5000961,5000962,5000963,5000964,5000965,5000966,5000967,5000968,5000969,5000970,5000971,5000972,5000973,5000974,5000975,5000976,5000977,5000978,5000979,5000980,5000981,5000982,5000983,5000984,5000985,5000986,5000987,5000988,5000989,5000990,5000991,5000992,5000993,5000994,5000995,5000996,5000997,5000998,5000999,5001000,6000001,6000002,6000003,6000004,6000005,6000006,6000007,6000008,6000009,6000010,6000011,6000012,6000013,6000014,6000015,6000016,6000017,6000018,6000019,6000020,6000021,6000022,6000023,6000024,6000025,6000026,6000027,6000028,6000029,6000030,6000031,6000032,6000033,6000034,6000035,6000036,6000037,6000038,6000039,6000040,6000041,6000042,6000043,6000044,6000045,6000046,6000047,6000048,6000049,6000050,6000051,6000052,6000053,6000054,6000055,6000056,6000057,6000058,6000059,6000060,6000061,6000062,6000063,6000064,6000065,6000066,6000067,6000068,6000069,6000070,6000071,6000072,6000073,6000074,6000075,6000076,6000077,6000078,6000079,6000080,6000081,6000082,6000083,6000084,6000085,6000086,6000087,6000088,6000089,6000090,6000091,6000092,6000093,6000094,6000095,6000096,6000097,6000098,6000099,6000100,6000101,6000102,6000103,6000104,6000105,6000106,6000107,6000108,6000109,6000110,6000111,6000112,6000113,6000114,6000115,6000116,6000117,6000118,6000119,6000120,6000121,6000122,6000123,6000124,6000125,6000126,6000127,6000128,6000129,6000130,6000131,6000132,6000133,6000134,6000135,6000136,6000137,6000138,6000139,6000140,6000141,6000142,6000143,6000144,6000145,6000146,6000147,6000148,6000149,6000150,6000151,6000152,6000153,6000154,6000155,6000156,6000157,6000158,6000159,6000160,6000161,6000162,6000163,6000164,6000165,6000166,6000167,6000168,6000169,6000170,6000171,6000172,6000173,6000174,6000175,6000176,6000177,6000178,6000179,6000180,6000181,6000182,6000183,6000184,6000185,6000186,6000187,6000188,6000189,6000190,6000191,6000192,6000193,6000194,6000195,6000196,6000197,6000198,6000199,6000200,6000201,6000202,6000203,6000204,6000205,6000206,6000207,6000208,6000209,6000210,6000211,6000212,6000213,6000214,6000215,6000216,6000217,6000218,6000219,6000220,6000221,6000222,6000223,6000224,6000225,6000226,6000227,6000228,6000229,6000230,6000231,6000232,6000233,6000234,6000235,6000236,6000237,6000238,6000239,6000240,6000241,6000242,6000243,6000244,6000245,6000246,6000247,6000248,6000249,6000250,6000251,6000252,6000253,6000254,6000255,6000256,6000257,6000258,6000259,6000260,6000261,6000262,6000263,6000264,6000265,6000266,6000267,6000268,6000269,6000270,6000271,6000272,6000273,6000274,6000275,6000276,6000277,6000278,6000279,6000280,6000281,6000282,6000283,6000284,6000285,6000286,6000287,6000288,6000289,6000290,6000291,6000292,6000293,6000294,6000295,6000296,6000297,6000298,6000299,6000300,6000301,6000302,6000303,6000304,6000305,6000306,6000307,6000308,6000309,6000310,6000311,6000312,6000313,6000314,6000315,6000316,6000317,6000318,6000319,6000320,6000321,6000322,6000323,6000324,6000325,6000326,6000327,6000328,6000329,6000330,6000331,6000332,6000333,6000334,6000335,6000336,6000337,6000338,6000339,6000340,6000341,6000342,6000343,6000344,6000345,6000346,6000347,6000348,6000349,6000350,6000351,6000352,6000353,6000354,6000355,6000356,6000357,6000358,6000359,6000360,6000361,6000362,6000363,6000364,6000365,6000366,6000367,6000368,6000369,6000370,6000371,6000372,6000373,6000374,6000375,6000376,6000377,6000378,6000379,6000380,6000381,6000382,6000383,6000384,6000385,6000386,6000387,6000388,6000389,6000390,6000391,6000392,6000393,6000394,6000395,6000396,6000397,6000398,6000399,6000400,6000401,6000402,6000403,6000404,6000405,6000406,6000407,6000408,6000409,6000410,6000411,6000412,6000413,6000414,6000415,6000416,6000417,6000418,6000419,6000420,6000421,6000422,6000423,6000424,6000425,6000426,6000427,6000428,6000429,6000430,6000431,6000432,6000433,6000434,6000435,6000436,6000437,6000438,6000439,6000440,6000441,6000442,6000443,6000444,6000445,6000446,6000447,6000448,6000449,6000450,6000451,6000452,6000453,6000454,6000455,6000456,6000457,6000458,6000459,6000460,6000461,6000462,6000463,6000464,6000465,6000466,6000467,6000468,6000469,6000470,6000471,6000472,6000473,6000474,6000475,6000476,6000477,6000478,6000479,6000480,6000481,6000482,6000483,6000484,6000485,6000486,6000487,6000488,6000489,6000490,6000491,6000492,6000493,6000494,6000495,6000496,6000497,6000498,6000499,6000500,6000501,6000502,6000503,6000504,6000505,6000506,6000507,6000508,6000509,6000510,6000511,6000512,6000513,6000514,6000515,6000516,6000517,6000518,6000519,6000520,6000521,6000522,6000523,6000524,6000525,6000526,6000527,6000528,6000529,6000530,6000531,6000532,6000533,6000534,6000535,6000536,6000537,6000538,6000539,6000540,6000541,6000542,6000543,6000544,6000545,6000546,6000547,6000548,6000549,6000550,6000551,6000552,6000553,6000554,6000555,6000556,6000557,6000558,6000559,6000560,6000561,6000562,6000563,6000564,6000565,6000566,6000567,6000568,6000569,6000570,6000571,6000572,6000573,6000574,6000575,6000576,6000577,6000578,6000579,6000580,6000581,6000582,6000583,6000584,6000585,6000586,6000587,6000588,6000589,6000590,6000591,6000592,6000593,6000594,6000595,6000596,6000597,6000598,6000599,6000600,6000601,6000602,6000603,6000604,6000605,6000606,6000607,6000608,6000609,6000610,6000611,6000612,6000613,6000614,6000615,6000616,6000617,6000618,6000619,6000620,6000621,6000622,6000623,6000624,6000625,6000626,6000627,6000628,6000629,6000630,6000631,6000632,6000633,6000634,6000635,6000636,6000637,6000638,6000639,6000640,6000641,6000642,6000643,6000644,6000645,6000646,6000647,6000648,6000649,6000650,6000651,6000652,6000653,6000654,6000655,6000656,6000657,6000658,6000659,6000660,6000661,6000662,6000663,6000664,6000665,6000666,6000667,6000668,6000669,6000670,6000671,6000672,6000673,6000674,6000675,6000676,6000677,6000678,6000679,6000680,6000681,6000682,6000683,6000684,6000685,6000686,6000687,6000688,6000689,6000690,6000691,6000692,6000693,6000694,6000695,6000696,6000697,6000698,6000699,6000700,6000701,6000702,6000703,6000704,6000705,6000706,6000707,6000708,6000709,6000710,6000711,6000712,6000713,6000714,6000715,6000716,6000717,6000718,6000719,6000720,6000721,6000722,6000723,6000724,6000725,6000726,6000727,6000728,6000729,6000730,6000731,6000732,6000733,6000734,6000735,6000736,6000737,6000738,6000739,6000740,6000741,6000742,6000743,6000744,6000745,6000746,6000747,6000748,6000749,6000750,6000751,6000752,6000753,6000754,6000755,6000756,6000757,6000758,6000759,6000760,6000761,6000762,6000763,6000764,6000765,6000766,6000767,6000768,6000769,6000770,6000771,6000772,6000773,6000774,6000775,6000776,6000777,6000778,6000779,6000780,6000781,6000782,6000783,6000784,6000785,6000786,6000787,6000788,6000789,6000790,6000791,6000792,6000793,6000794,6000795,6000796,6000797,6000798,6000799,6000800,6000801,6000802,6000803,6000804,6000805,6000806,6000807,6000808,6000809,6000810,6000811,6000812,6000813,6000814,6000815,6000816,6000817,6000818,6000819,6000820,6000821,6000822,6000823,6000824,6000825,6000826,6000827,6000828,6000829,6000830,6000831,6000832,6000833,6000834,6000835,6000836,6000837,6000838,6000839,6000840,6000841,6000842,6000843,6000844,6000845,6000846,6000847,6000848,6000849,6000850,6000851,6000852,6000853,6000854,6000855,6000856,6000857,6000858,6000859,6000860,6000861,6000862,6000863,6000864,6000865,6000866,6000867,6000868,6000869,6000870,6000871,6000872,6000873,6000874,6000875,6000876,6000877,6000878,6000879,6000880,6000881,6000882,6000883,6000884,6000885,6000886,6000887,6000888,6000889,6000890,6000891,6000892,6000893,6000894,6000895,6000896,6000897,6000898,6000899,6000900,6000901,6000902,6000903,6000904,6000905,6000906,6000907,6000908,6000909,6000910,6000911,6000912,6000913,6000914,6000915,6000916,6000917,6000918,6000919,6000920,6000921,6000922,6000923,6000924,6000925,6000926,6000927,6000928,6000929,6000930,6000931,6000932,6000933,6000934,6000935,6000936,6000937,6000938,6000939,6000940,6000941,6000942,6000943,6000944,6000945,6000946,6000947,6000948,6000949,6000950,6000951,6000952,6000953,6000954,6000955,6000956,6000957,6000958,6000959,6000960,6000961,6000962,6000963,6000964,6000965,6000966,6000967,6000968,6000969,6000970,6000971,6000972,6000973,6000974,6000975,6000976,6000977,6000978,6000979,6000980,6000981,6000982,6000983,6000984,6000985,6000986,6000987,6000988,6000989,6000990,6000991,6000992,6000993,6000994,6000995,6000996,6000997,6000998,6000999,6001000,7000001,7000002,7000003,7000004,7000005,7000006,7000007,7000008,7000009,7000010,7000011,7000012,7000013,7000014,7000015,7000016,7000017,7000018,7000019,7000020,7000021,7000022,7000023,7000024,7000025,7000026,7000027,7000028,7000029,7000030,7000031,7000032,7000033,7000034,7000035,7000036,7000037,7000038,7000039,7000040,7000041,7000042,7000043,7000044,7000045,7000046,7000047,7000048,7000049,7000050,7000051,7000052,7000053,7000054,7000055,7000056,7000057,7000058,7000059,7000060,7000061,7000062,7000063,7000064,7000065,7000066,7000067,7000068,7000069,7000070,7000071,7000072,7000073,7000074,7000075,7000076,7000077,7000078,7000079,7000080,7000081,7000082,7000083,7000084,7000085,7000086,7000087,7000088,7000089,7000090,7000091,7000092,7000093,7000094,7000095,7000096,7000097,7000098,7000099,7000100,7000101,7000102,7000103,7000104,7000105,7000106,7000107,7000108,7000109,7000110,7000111,7000112,7000113,7000114,7000115,7000116,7000117,7000118,7000119,7000120,7000121,7000122,7000123,7000124,7000125,7000126,7000127,7000128,7000129,7000130,7000131,7000132,7000133,7000134,7000135,7000136,7000137,7000138,7000139,7000140,7000141,7000142,7000143,7000144,7000145,7000146,7000147,7000148,7000149,7000150,7000151,7000152,7000153,7000154,7000155,7000156,7000157,7000158,7000159,7000160,7000161,7000162,7000163,7000164,7000165,7000166,7000167,7000168,7000169,7000170,7000171,7000172,7000173,7000174,7000175,7000176,7000177,7000178,7000179,7000180,7000181,7000182,7000183,7000184,7000185,7000186,7000187,7000188,7000189,7000190,7000191,7000192,7000193,7000194,7000195,7000196,7000197,7000198,7000199,7000200,7000201,7000202,7000203,7000204,7000205,7000206,7000207,7000208,7000209,7000210,7000211,7000212,7000213,7000214,7000215,7000216,7000217,7000218,7000219,7000220,7000221,7000222,7000223,7000224,7000225,7000226,7000227,7000228,7000229,7000230,7000231,7000232,7000233,7000234,7000235,7000236,7000237,7000238,7000239,7000240,7000241,7000242,7000243,7000244,7000245,7000246,7000247,7000248,7000249,7000250,7000251,7000252,7000253,7000254,7000255,7000256,7000257,7000258,7000259,7000260,7000261,7000262,7000263,7000264,7000265,7000266,7000267,7000268,7000269,7000270,7000271,7000272,7000273,7000274,7000275,7000276,7000277,7000278,7000279,7000280,7000281,7000282,7000283,7000284,7000285,7000286,7000287,7000288,7000289,7000290,7000291,7000292,7000293,7000294,7000295,7000296,7000297,7000298,7000299,7000300,7000301,7000302,7000303,7000304,7000305,7000306,7000307,7000308,7000309,7000310,7000311,7000312,7000313,7000314,7000315,7000316,7000317,7000318,7000319,7000320,7000321,7000322,7000323,7000324,7000325,7000326,7000327,7000328,7000329,7000330,7000331,7000332,7000333,7000334,7000335,7000336,7000337,7000338,7000339,7000340,7000341,7000342,7000343,7000344,7000345,7000346,7000347,7000348,7000349,7000350,7000351,7000352,7000353,7000354,7000355,7000356,7000357,7000358,7000359,7000360,7000361,7000362,7000363,7000364,7000365,7000366,7000367,7000368,7000369,7000370,7000371,7000372,7000373,7000374,7000375,7000376,7000377,7000378,7000379,7000380,7000381,7000382,7000383,7000384,7000385,7000386,7000387,7000388,7000389,7000390,7000391,7000392,7000393,7000394,7000395,7000396,7000397,7000398,7000399,7000400,7000401,7000402,7000403,7000404,7000405,7000406,7000407,7000408,7000409,7000410,7000411,7000412,7000413,7000414,7000415,7000416,7000417,7000418,7000419,7000420,7000421,7000422,7000423,7000424,7000425,7000426,7000427,7000428,7000429,7000430,7000431,7000432,7000433,7000434,7000435,7000436,7000437,7000438,7000439,7000440,7000441,7000442,7000443,7000444,7000445,7000446,7000447,7000448,7000449,7000450,7000451,7000452,7000453,7000454,7000455,7000456,7000457,7000458,7000459,7000460,7000461,7000462,7000463,7000464,7000465,7000466,7000467,7000468,7000469,7000470,7000471,7000472,7000473,7000474,7000475,7000476,7000477,7000478,7000479,7000480,7000481,7000482,7000483,7000484,7000485,7000486,7000487,7000488,7000489,7000490,7000491,7000492,7000493,7000494,7000495,7000496,7000497,7000498,7000499,7000500,7000501,7000502,7000503,7000504,7000505,7000506,7000507,7000508,7000509,7000510,7000511,7000512,7000513,7000514,7000515,7000516,7000517,7000518,7000519,7000520,7000521,7000522,7000523,7000524,7000525,7000526,7000527,7000528,7000529,7000530,7000531,7000532,7000533,7000534,7000535,7000536,7000537,7000538,7000539,7000540,7000541,7000542,7000543,7000544,7000545,7000546,7000547,7000548,7000549,7000550,7000551,7000552,7000553,7000554,7000555,7000556,7000557,7000558,7000559,7000560,7000561,7000562,7000563,7000564,7000565,7000566,7000567,7000568,7000569,7000570,7000571,7000572,7000573,7000574,7000575,7000576,7000577,7000578,7000579,7000580,7000581,7000582,7000583,7000584,7000585,7000586,7000587,7000588,7000589,7000590,7000591,7000592,7000593,7000594,7000595,7000596,7000597,7000598,7000599,7000600,7000601,7000602,7000603,7000604,7000605,7000606,7000607,7000608,7000609,7000610,7000611,7000612,7000613,7000614,7000615,7000616,7000617,7000618,7000619,7000620,7000621,7000622,7000623,7000624,7000625,7000626,7000627,7000628,7000629,7000630,7000631,7000632,7000633,7000634,7000635,7000636,7000637,7000638,7000639,7000640,7000641,7000642,7000643,7000644,7000645,7000646,7000647,7000648,7000649,7000650,7000651,7000652,7000653,7000654,7000655,7000656,7000657,7000658,7000659,7000660,7000661,7000662,7000663,7000664,7000665,7000666,7000667,7000668,7000669,7000670,7000671,7000672,7000673,7000674,7000675,7000676,7000677,7000678,7000679,7000680,7000681,7000682,7000683,7000684,7000685,7000686,7000687,7000688,7000689,7000690,7000691,7000692,7000693,7000694,7000695,7000696,7000697,7000698,7000699,7000700,7000701,7000702,7000703,7000704,7000705,7000706,7000707,7000708,7000709,7000710,7000711,7000712,7000713,7000714,7000715,7000716,7000717,7000718,7000719,7000720,7000721,7000722,7000723,7000724,7000725,7000726,7000727,7000728,7000729,7000730,7000731,7000732,7000733,7000734,7000735,7000736,7000737,7000738,7000739,7000740,7000741,7000742,7000743,7000744,7000745,7000746,7000747,7000748,7000749,7000750,7000751,7000752,7000753,7000754,7000755,7000756,7000757,7000758,7000759,7000760,7000761,7000762,7000763,7000764,7000765,7000766,7000767,7000768,7000769,7000770,7000771,7000772,7000773,7000774,7000775,7000776,7000777,7000778,7000779,7000780,7000781,7000782,7000783,7000784,7000785,7000786,7000787,7000788,7000789,7000790,7000791,7000792,7000793,7000794,7000795,7000796,7000797,7000798,7000799,7000800,7000801,7000802,7000803,7000804,7000805,7000806,7000807,7000808,7000809,7000810,7000811,7000812,7000813,7000814,7000815,7000816,7000817,7000818,7000819,7000820,7000821,7000822,7000823,7000824,7000825,7000826,7000827,7000828,7000829,7000830,7000831,7000832,7000833,7000834,7000835,7000836,7000837,7000838,7000839,7000840,7000841,7000842,7000843,7000844,7000845,7000846,7000847,7000848,7000849,7000850,7000851,7000852,7000853,7000854,7000855,7000856,7000857,7000858,7000859,7000860,7000861,7000862,7000863,7000864,7000865,7000866,7000867,7000868,7000869,7000870,7000871,7000872,7000873,7000874,7000875,7000876,7000877,7000878,7000879,7000880,7000881,7000882,7000883,7000884,7000885,7000886,7000887,7000888,7000889,7000890,7000891,7000892,7000893,7000894,7000895,7000896,7000897,7000898,7000899,7000900,7000901,7000902,7000903,7000904,7000905,7000906,7000907,7000908,7000909,7000910,7000911,7000912,7000913,7000914,7000915,7000916,7000917,7000918,7000919,7000920,7000921,7000922,7000923,7000924,7000925,7000926,7000927,7000928,7000929,7000930,7000931,7000932,7000933,7000934,7000935,7000936,7000937,7000938,7000939,7000940,7000941,7000942,7000943,7000944,7000945,7000946,7000947,7000948,7000949,7000950,7000951,7000952,7000953,7000954,7000955,7000956,7000957,7000958,7000959,7000960,7000961,7000962,7000963,7000964,7000965,7000966,7000967,7000968,7000969,7000970,7000971,7000972,7000973,7000974,7000975,7000976,7000977,7000978,7000979,7000980,7000981,7000982,7000983,7000984,7000985,7000986,7000987,7000988,7000989,7000990,7000991,7000992,7000993,7000994,7000995,7000996,7000997,7000998,7000999,7001000,8000002,8000003,8000004,8000005,8000006,8000007,8000008,8000009,8000010,8000011,8000012,8000013,8000014,8000015,8000016,8000017,8000018,8000019,8000020,8000021,8000022,8000023,8000024,8000025,8000026,8000027,8000028,8000029,8000030,8000031,8000032,8000033,8000034,8000035,8000036,8000037,8000038,8000039,8000040,8000041,8000042,8000043,8000044,8000045,8000046,8000047,8000048,8000049,8000050,8000051,8000052,8000053,8000054,8000055,8000056,8000057,8000058,8000059,8000060,8000061,8000062,8000063,8000064,8000065,8000066,8000067,8000068,8000069,8000070,8000071,8000072,8000073,8000074,8000075,8000076,8000077,8000078,8000079,8000080,8000081,8000082,8000083,8000084,8000085,8000086,8000087,8000088,8000089,8000090,8000091,8000092,8000093,8000094,8000095,8000096,8000097,8000098,8000099,8000100,8000101,8000102,8000103,8000104,8000105,8000106,8000107,8000108,8000109,8000110,8000111,8000112,8000113,8000114,8000115,8000116,8000117,8000118,8000119,8000120,8000121,8000122,8000123,8000124,8000125,8000126,8000127,8000128,8000129,8000130,8000131,8000132,8000133,8000134,8000135,8000136,8000137,8000138,8000139,8000140,8000141,8000142,8000143,8000144,8000145,8000146,8000147,8000148,8000149,8000150,8000151,8000152,8000153,8000154,8000155,8000156,8000157,8000158,8000159,8000160,8000161,8000162,8000163,8000164,8000165,8000166,8000167,8000168,8000169,8000170,8000171,8000172,8000173,8000174,8000175,8000176,8000177,8000178,8000179,8000180,8000181,8000182,8000183,8000184,8000185,8000186,8000187,8000188,8000189,8000190,8000191,8000192,8000193,8000194,8000195,8000196,8000197,8000198,8000199,8000200,8000201,8000202,8000203,8000204,8000205,8000206,8000207,8000208,8000209,8000210,8000211,8000212,8000213,8000214,8000215,8000216,8000217,8000218,8000219,8000220,8000221,8000222,8000223,8000224,8000225,8000226,8000227,8000228,8000229,8000230,8000231,8000232,8000233,8000234,8000235,8000236,8000237,8000238,8000239,8000240,8000241,8000242,8000243,8000244,8000245,8000246,8000247,8000248,8000249,8000250,8000251,8000252,8000253,8000254,8000255,8000256,8000257,8000258,8000259,8000260,8000261,8000262,8000263,8000264,8000265,8000266,8000267,8000268,8000269,8000270,8000271,8000272,8000273,8000274,8000275,8000276,8000277,8000278,8000279,8000280,8000281,8000282,8000283,8000284,8000285,8000286,8000287,8000288,8000289,8000290,8000291,8000292,8000293,8000294,8000295,8000296,8000297,8000298,8000299,8000300,8000301,8000302,8000303,8000304,8000305,8000306,8000307,8000308,8000309,8000310,8000311,8000312,8000313,8000314,8000315,8000316,8000317,8000318,8000319,8000320,8000321,8000322,8000323,8000324,8000325,8000326,8000327,8000328,8000329,8000330,8000331,8000332,8000333,8000334,8000335,8000336,8000337,8000338,8000339,8000340,8000341,8000342,8000343,8000344,8000345,8000346,8000347,8000348,8000349,8000350,8000351,8000352,8000353,8000354,8000355,8000356,8000357,8000358,8000359,8000360,8000361,8000362,8000363,8000364,8000365,8000366,8000367,8000368,8000369,8000370,8000371,8000372,8000373,8000374,8000375,8000376,8000377,8000378,8000379,8000380,8000381,8000382,8000383,8000384,8000385,8000386,8000387,8000388,8000389,8000390,8000391,8000392,8000393,8000394,8000395,8000396,8000397,8000398,8000399,8000400,8000401,8000402,8000403,8000404,8000405,8000406,8000407,8000408,8000409,8000410,8000411,8000412,8000413,8000414,8000415,8000416,8000417,8000418,8000419,8000420,8000421,8000422,8000423,8000424,8000425,8000426,8000427,8000428,8000429,8000430,8000431,8000432,8000433,8000434,8000435,8000436,8000437,8000438,8000439,8000440,8000441,8000442,8000443,8000444,8000445,8000446,8000447,8000448,8000449,8000450,8000451,8000452,8000453,8000454,8000455,8000456,8000457,8000458,8000459,8000460,8000461,8000462,8000463,8000464,8000465,8000466,8000467,8000468,8000469,8000470,8000471,8000472,8000473,8000474,8000475,8000476,8000477,8000478,8000479,8000480,8000481,8000482,8000483,8000484,8000485,8000486,8000487,8000488,8000489,8000490,8000491,8000492,8000493,8000494,8000495,8000496,8000497,8000498,8000499,8000500,8000501,8000502,8000503,8000504,8000505,8000506,8000507,8000508,8000509,8000510,8000511,8000512,8000513,8000514,8000515,8000516,8000517,8000518,8000519,8000520,8000521,8000522,8000523,8000524,8000525,8000526,8000527,8000528,8000529,8000530,8000531,8000532,8000533,8000534,8000535,8000536,8000537,8000538,8000539,8000540,8000541,8000542,8000543,8000544,8000545,8000546,8000547,8000548,8000549,8000550,8000551,8000552,8000553,8000554,8000555,8000556,8000557,8000558,8000559,8000560,8000561,8000562,8000563,8000564,8000565,8000566,8000567,8000568,8000569,8000570,8000571,8000572,8000573,8000574,8000575,8000576,8000577,8000578,8000579,8000580,8000581,8000582,8000583,8000584,8000585,8000586,8000587,8000588,8000589,8000590,8000591,8000592,8000593,8000594,8000595,8000596,8000597,8000598,8000599,8000600,8000601,8000602,8000603,8000604,8000605,8000606,8000607,8000608,8000609,8000610,8000611,8000612,8000613,8000614,8000615,8000616,8000617,8000618,8000619,8000620,8000621,8000622,8000623,8000624,8000625,8000626,8000627,8000628,8000629,8000630,8000631,8000632,8000633,8000634,8000635,8000636,8000637,8000638,8000639,8000640,8000641,8000642,8000643,8000644,8000645,8000646,8000647,8000648,8000649,8000650,8000651,8000652,8000653,8000654,8000655,8000656,8000657,8000658,8000659,8000660,8000661,8000662,8000663,8000664,8000665,8000666,8000667,8000668,8000669,8000670,8000671,8000672,8000673,8000674,8000675,8000676,8000677,8000678,8000679,8000680,8000681,8000682,8000683,8000684,8000685,8000686,8000687,8000688,8000689,8000690,8000691,8000692,8000693,8000694,8000695,8000696,8000697,8000698,8000699,8000700,8000701,8000702,8000703,8000704,8000705,8000706,8000707,8000708,8000709,8000710,8000711,8000712,8000713,8000714,8000715,8000716,8000717,8000718,8000719,8000720,8000721,8000722,8000723,8000724,8000725,8000726,8000727,8000728,8000729,8000730,8000731,8000732,8000733,8000734,8000735,8000736,8000737,8000738,8000739,8000740,8000741,8000742,8000743,8000744,8000745,8000746,8000747,8000748,8000749,8000750,8000751,8000752,8000753,8000754,8000755,8000756,8000757,8000758,8000759,8000760,8000761,8000762,8000763,8000764,8000765,8000766,8000767,8000768,8000769,8000770,8000771,8000772,8000773,8000774,8000775,8000776,8000777,8000778,8000779,8000780,8000781,8000782,8000783,8000784,8000785,8000786,8000787,8000788,8000789,8000790,8000791,8000792,8000793,8000794,8000795,8000796,8000797,8000798,8000799,8000800,8000801,8000802,8000803,8000804,8000805,8000806,8000807,8000808,8000809,8000810,8000811,8000812,8000813,8000814,8000815,8000816,8000817,8000818,8000819,8000820,8000821,8000822,8000823,8000824,8000825,8000826,8000827,8000828,8000829,8000830,8000831,8000832,8000833,8000834,8000835,8000836,8000837,8000838,8000839,8000840,8000841,8000842,8000843,8000844,8000845,8000846,8000847,8000848,8000849,8000850,8000851,8000852,8000853,8000854,8000855,8000856,8000857,8000858,8000859,8000860,8000861,8000862,8000863,8000864,8000865,8000866,8000867,8000868,8000869,8000870,8000871,8000872,8000873,8000874,8000875,8000876,8000877,8000878,8000879,8000880,8000881,8000882,8000883,8000884,8000885,8000886,8000887,8000888,8000889,8000890,8000891,8000892,8000893,8000894,8000895,8000896,8000897,8000898,8000899,8000900,8000901,8000902,8000903,8000904,8000905,8000906,8000907,8000908,8000909,8000910,8000911,8000912,8000913,8000914,8000915,8000916,8000917,8000918,8000919,8000920,8000921,8000922,8000923,8000924,8000925,8000926,8000927,8000928,8000929,8000930,8000931,8000932,8000933,8000934,8000935,8000936,8000937,8000938,8000939,8000940,8000941,8000942,8000943,8000944,8000945,8000946,8000947,8000948,8000949,8000950,8000951,8000952,8000953,8000954,8000955,8000956,8000957,8000958,8000959,8000960,8000961,8000962,8000963,8000964,8000965,8000966,8000967,8000968,8000969,8000970,8000971,8000972,8000973,8000974,8000975,8000976,8000977,8000978,8000979,8000980,8000981,8000982,8000983,8000984,8000985,8000986,8000987,8000988,8000989,8000990,8000991,8000992,8000993,8000994,8000995,8000996,8000997,8000998,8000999,8001000,9000001,9000002,9000003,9000004,9000005,9000006,9000007,9000008,9000009,9000010,9000011,9000012,9000013,9000014,9000015,9000016,9000017,9000018,9000019,9000020,9000021,9000022,9000023,9000024,9000025,9000026,9000027,9000028,9000029,9000030,9000031,9000032,9000033,9000034,9000035,9000036,9000037,9000038,9000039,9000040,9000041,9000042,9000043,9000044,9000045,9000046,9000047,9000048,9000049,9000050,9000051,9000052,9000053,9000054,9000055,9000056,9000057,9000058,9000059,9000060,9000061,9000062,9000063,9000064,9000065,9000066,9000067,9000068,9000069,9000070,9000071,9000072,9000073,9000074,9000075,9000076,9000077,9000078,9000079,9000080,9000081,9000082,9000083,9000084,9000085,9000086,9000087,9000088,9000089,9000090,9000091,9000092,9000093,9000094,9000095,9000096,9000097,9000098,9000099,9000100,9000101,9000102,9000103,9000104,9000105,9000106,9000107,9000108,9000109,9000110,9000111,9000112,9000113,9000114,9000115,9000116,9000117,9000118,9000119,9000120,9000121,9000122,9000123,9000124,9000125,9000126,9000127,9000128,9000129,9000130,9000131,9000132,9000133,9000134,9000135,9000136,9000137,9000138,9000139,9000140,9000141,9000142,9000143,9000144,9000145,9000146,9000147,9000148,9000149,9000150,9000151,9000152,9000153,9000154,9000155,9000156,9000157,9000158,9000159,9000160,9000161,9000162,9000163,9000164,9000165,9000166,9000167,9000168,9000169,9000170,9000171,9000172,9000173,9000174,9000175,9000176,9000177,9000178,9000179,9000180,9000181,9000182,9000183,9000184,9000185,9000186,9000187,9000188,9000189,9000190,9000191,9000192,9000193,9000194,9000195,9000196,9000197,9000198,9000199,9000200,9000201,9000202,9000203,9000204,9000205,9000206,9000207,9000208,9000209,9000210,9000211,9000212,9000213,9000214,9000215,9000216,9000217,9000218,9000219,9000220,9000221,9000222,9000223,9000224,9000225,9000226,9000227,9000228,9000229,9000230,9000231,9000232,9000233,9000234,9000235,9000236,9000237,9000238,9000239,9000240,9000241,9000242,9000243,9000244,9000245,9000246,9000247,9000248,9000249,9000250,9000251,9000252,9000253,9000254,9000255,9000256,9000257,9000258,9000259,9000260,9000261,9000262,9000263,9000264,9000265,9000266,9000267,9000268,9000269,9000270,9000271,9000272,9000273,9000274,9000275,9000276,9000277,9000278,9000279,9000280,9000281,9000282,9000283,9000284,9000285,9000286,9000287,9000288,9000289,9000290,9000291,9000292,9000293,9000294,9000295,9000296,9000297,9000298,9000299,9000300,9000301,9000302,9000303,9000304,9000305,9000306,9000307,9000308,9000309,9000310,9000311,9000312,9000313,9000314,9000315,9000316,9000317,9000318,9000319,9000320,9000321,9000322,9000323,9000324,9000325,9000326,9000327,9000328,9000329,9000330,9000331,9000332,9000333,9000334,9000335,9000336,9000337,9000338,9000339,9000340,9000341,9000342,9000343,9000344,9000345,9000346,9000347,9000348,9000349,9000350,9000351,9000352,9000353,9000354,9000355,9000356,9000357,9000358,9000359,9000360,9000361,9000362,9000363,9000364,9000365,9000366,9000367,9000368,9000369,9000370,9000371,9000372,9000373,9000374,9000375,9000376,9000377,9000378,9000379,9000380,9000381,9000382,9000383,9000384,9000385,9000386,9000387,9000388,9000389,9000390,9000391,9000392,9000393,9000394,9000395,9000396,9000397,9000398,9000399,9000400,9000401,9000402,9000403,9000404,9000405,9000406,9000407,9000408,9000409,9000410,9000411,9000412,9000413,9000414,9000415,9000416,9000417,9000418,9000419,9000420,9000421,9000422,9000423,9000424,9000425,9000426,9000427,9000428,9000429,9000430,9000431,9000432,9000433,9000434,9000435,9000436,9000437,9000438,9000439,9000440,9000441,9000442,9000443,9000444,9000445,9000446,9000447,9000448,9000449,9000450,9000451,9000452,9000453,9000454,9000455,9000456,9000457,9000458,9000459,9000460,9000461,9000462,9000463,9000464,9000465,9000466,9000467,9000468,9000469,9000470,9000471,9000472,9000473,9000474,9000475,9000476,9000477,9000478,9000479,9000480,9000481,9000482,9000483,9000484,9000485,9000486,9000487,9000488,9000489,9000490,9000491,9000492,9000493,9000494,9000495,9000496,9000497,9000498,9000499,9000500,9000501,9000502,9000503,9000504,9000505,9000506,9000507,9000508,9000509,9000510,9000511,9000512,9000513,9000514,9000515,9000516,9000517,9000518,9000519,9000520,9000521,9000522,9000523,9000524,9000525,9000526,9000527,9000528,9000529,9000530,9000531,9000532,9000533,9000534,9000535,9000536,9000537,9000538,9000539,9000540,9000541,9000542,9000543,9000544,9000545,9000546,9000547,9000548,9000549,9000550,9000551,9000552,9000553,9000554,9000555,9000556,9000557,9000558,9000559,9000560,9000561,9000562,9000563,9000564,9000565,9000566,9000567,9000568,9000569,9000570,9000571,9000572,9000573,9000574,9000575,9000576,9000577,9000578,9000579,9000580,9000581,9000582,9000583,9000584,9000585,9000586,9000587,9000588,9000589,9000590,9000591,9000592,9000593,9000594,9000595,9000596,9000597,9000598,9000599,9000600,9000601,9000602,9000603,9000604,9000605,9000606,9000607,9000608,9000609,9000610,9000611,9000612,9000613,9000614,9000615,9000616,9000617,9000618,9000619,9000620,9000621,9000622,9000623,9000624,9000625,9000626,9000627,9000628,9000629,9000630,9000631,9000632,9000633,9000634,9000635,9000636,9000637,9000638,9000639,9000640,9000641,9000642,9000643,9000644,9000645,9000646,9000647,9000648,9000649,9000650,9000651,9000652,9000653,9000654,9000655,9000656,9000657,9000658,9000659,9000660,9000661,9000662,9000663,9000664,9000665,9000666,9000667,9000668,9000669,9000670,9000671,9000672,9000673,9000674,9000675,9000676,9000677,9000678,9000679,9000680,9000681,9000682,9000683,9000684,9000685,9000686,9000687,9000688,9000689,9000690,9000691,9000692,9000693,9000694,9000695,9000696,9000697,9000698,9000699,9000700,9000701,9000702,9000703,9000704,9000705,9000706,9000707,9000708,9000709,9000710,9000711,9000712,9000713,9000714,9000715,9000716,9000717,9000718,9000719,9000720,9000721,9000722,9000723,9000724,9000725,9000726,9000727,9000728,9000729,9000730,9000731,9000732,9000733,9000734,9000735,9000736,9000737,9000738,9000739,9000740,9000741,9000742,9000743,9000744,9000745,9000746,9000747,9000748,9000749,9000750,9000751,9000752,9000753,9000754,9000755,9000756,9000757,9000758,9000759,9000760,9000761,9000762,9000763,9000764,9000765,9000766,9000767,9000768,9000769,9000770,9000771,9000772,9000773,9000774,9000775,9000776,9000777,9000778,9000779,9000780,9000781,9000782,9000783,9000784,9000785,9000786,9000787,9000788,9000789,9000790,9000791,9000792,9000793,9000794,9000795,9000796,9000797,9000798,9000799,9000800,9000801,9000802,9000803,9000804,9000805,9000806,9000807,9000808,9000809,9000810,9000811,9000812,9000813,9000814,9000815,9000816,9000817,9000818,9000819,9000820,9000821,9000822,9000823,9000824,9000825,9000826,9000827,9000828,9000829,9000830,9000831,9000832,9000833,9000834,9000835,9000836,9000837,9000838,9000839,9000840,9000841,9000842,9000843,9000844,9000845,9000846,9000847,9000848,9000849,9000850,9000851,9000852,9000853,9000854,9000855,9000856,9000857,9000858,9000859,9000860,9000861,9000862,9000863,9000864,9000865,9000866,9000867,9000868,9000869,9000870,9000871,9000872,9000873,9000874,9000875,9000876,9000877,9000878,9000879,9000880,9000881,9000882,9000883,9000884,9000885,9000886,9000887,9000888,9000889,9000890,9000891,9000892,9000893,9000894,9000895,9000896,9000897,9000898,9000899,9000900,9000901,9000902,9000903,9000904,9000905,9000906,9000907,9000908,9000909,9000910,9000911,9000912,9000913,9000914,9000915,9000916,9000917,9000918,9000919,9000920,9000921,9000922,9000923,9000924,9000925,9000926,9000927,9000928,9000929,9000930,9000931,9000932,9000933,9000934,9000935,9000936,9000937,9000938,9000939,9000940,9000941,9000942,9000943,9000944,9000945,9000946,9000947,9000948,9000949,9000950,9000951,9000952,9000953,9000954,9000955,9000956,9000957,9000958,9000959,9000960,9000961,9000962,9000963,9000964,9000965,9000966,9000967,9000968,9000969,9000970,9000971,9000972,9000973,9000974,9000975,9000976,9000977,9000978,9000979,9000980,9000981,9000982,9000983,9000984,9000985,9000986,9000987,9000988,9000989,9000990,9000991,9000992,9000993,9000994,9000995,9000996,9000997,9000998,9000999,9001000,10000001,10000002,10000003,10000004,10000005,10000006,10000007,10000008,10000009,10000010,10000011,10000012,10000013,10000014,10000015,10000016,10000017,10000018,10000019,10000020,10000021,10000022,10000023,10000024,10000025,10000026,10000027,10000028,10000029,10000030,10000031,10000032,10000033,10000034,10000035,10000036,10000037,10000038,10000039,10000040,10000041,10000042,10000043,10000044,10000045,10000046,10000047,10000048,10000049,10000050,10000051,10000052,10000053,10000054,10000055,10000056,10000057,10000058,10000059,10000060,10000061,10000062,10000063,10000064,10000065,10000066,10000067,10000068,10000069,10000070,10000071,10000072,10000073,10000074,10000075,10000076,10000077,10000078,10000079,10000080,10000081,10000082,10000083,10000084,10000085,10000086,10000087,10000088,10000089,10000090,10000091,10000092,10000093,10000094,10000095,10000096,10000097,10000098,10000099,10000100,10000101,10000102,10000103,10000104,10000105,10000106,10000107,10000108,10000109,10000110,10000111,10000112,10000113,10000114,10000115,10000116,10000117,10000118,10000119,10000120,10000121,10000122,10000123,10000124,10000125,10000126,10000127,10000128,10000129,10000130,10000131,10000132,10000133,10000134,10000135,10000136,10000137,10000138,10000139,10000140,10000141,10000142,10000143,10000144,10000145,10000146,10000147,10000148,10000149,10000150,10000151,10000152,10000153,10000154,10000155,10000156,10000157,10000158,10000159,10000160,10000161,10000162,10000163,10000164,10000165,10000166,10000167,10000168,10000169,10000170,10000171,10000172,10000173,10000174,10000175,10000176,10000177,10000178,10000179,10000180,10000181,10000182,10000183,10000184,10000185,10000186,10000187,10000188,10000189,10000190,10000191,10000192,10000193,10000194,10000195,10000196,10000197,10000198,10000199,10000200,10000201,10000202,10000203,10000204,10000205,10000206,10000207,10000208,10000209,10000210,10000211,10000212,10000213,10000214,10000215,10000216,10000217,10000218,10000219,10000220,10000221,10000222,10000223,10000224,10000225,10000226,10000227,10000228,10000229,10000230,10000231,10000232,10000233,10000234,10000235,10000236,10000237,10000238,10000239,10000240,10000241,10000242,10000243,10000244,10000245,10000246,10000247,10000248,10000249,10000250,10000251,10000252,10000253,10000254,10000255,10000256,10000257,10000258,10000259,10000260,10000261,10000262,10000263,10000264,10000265,10000266,10000267,10000268,10000269,10000270,10000271,10000272,10000273,10000274,10000275,10000276,10000277,10000278,10000279,10000280,10000281,10000282,10000283,10000284,10000285,10000286,10000287,10000288,10000289,10000290,10000291,10000292,10000293,10000294,10000295,10000296,10000297,10000298,10000299,10000300,10000301,10000302,10000303,10000304,10000305,10000306,10000307,10000308,10000309,10000310,10000311,10000312,10000313,10000314,10000315,10000316,10000317,10000318,10000319,10000320,10000321,10000322,10000323,10000324,10000325,10000326,10000327,10000328,10000329,10000330,10000331,10000332,10000333,10000334,10000335,10000336,10000337,10000338,10000339,10000340,10000341,10000342,10000343,10000344,10000345,10000346,10000347,10000348,10000349,10000350,10000351,10000352,10000353,10000354,10000355,10000356,10000357,10000358,10000359,10000360,10000361,10000362,10000363,10000364,10000365,10000366,10000367,10000368,10000369,10000370,10000371,10000372,10000373,10000374,10000375,10000376,10000377,10000378,10000379,10000380,10000381,10000382,10000383,10000384,10000385,10000386,10000387,10000388,10000389,10000390,10000391,10000392,10000393,10000394,10000395,10000396,10000397,10000398,10000399,10000400,10000401,10000402,10000403,10000404,10000405,10000406,10000407,10000408,10000409,10000410,10000411,10000412,10000413,10000414,10000415,10000416,10000417,10000418,10000419,10000420,10000421,10000422,10000423,10000424,10000425,10000426,10000427,10000428,10000429,10000430,10000431,10000432,10000433,10000434,10000435,10000436,10000437,10000438,10000439,10000440,10000441,10000442,10000443,10000444,10000445,10000446,10000447,10000448,10000449,10000450,10000451,10000452,10000453,10000454,10000455,10000456,10000457,10000458,10000459,10000460,10000461,10000462,10000463,10000464,10000465,10000466,10000467,10000468,10000469,10000470,10000471,10000472,10000473,10000474,10000475,10000476,10000477,10000478,10000479,10000480,10000481,10000482,10000483,10000484,10000485,10000486,10000487,10000488,10000489,10000490,10000491,10000492,10000493,10000494,10000495,10000496,10000497,10000498,10000499,10000500,10000501,10000502,10000503,10000504,10000505,10000506,10000507,10000508,10000509,10000510,10000511,10000512,10000513,10000514,10000515,10000516,10000517,10000518,10000519,10000520,10000521,10000522,10000523,10000524,10000525,10000526,10000527,10000528,10000529,10000530,10000531,10000532,10000533,10000534,10000535,10000536,10000537,10000538,10000539,10000540,10000541,10000542,10000543,10000544,10000545,10000546,10000547,10000548,10000549,10000550,10000551,10000552,10000553,10000554,10000555,10000556,10000557,10000558,10000559,10000560,10000561,10000562,10000563,10000564,10000565,10000566,10000567,10000568,10000569,10000570,10000571,10000572,10000573,10000574,10000575,10000576,10000577,10000578,10000579,10000580,10000581,10000582,10000583,10000584,10000585,10000586,10000587,10000588,10000589,10000590,10000591,10000592,10000593,10000594,10000595,10000596,10000597,10000598,10000599,10000600,10000601,10000602,10000603,10000604,10000605,10000606,10000607,10000608,10000609,10000610,10000611,10000612,10000613,10000614,10000615,10000616,10000617,10000618,10000619,10000620,10000621,10000622,10000623,10000624,10000625,10000626,10000627,10000628,10000629,10000630,10000631,10000632,10000633,10000634,10000635,10000636,10000637,10000638,10000639,10000640,10000641,10000642,10000643,10000644,10000645,10000646,10000647,10000648,10000649,10000650,10000651,10000652,10000653,10000654,10000655,10000656,10000657,10000658,10000659,10000660,10000661,10000662,10000663,10000664,10000665,10000666,10000667,10000668,10000669,10000670,10000671,10000672,10000673,10000674,10000675,10000676,10000677,10000678,10000679,10000680,10000681,10000682,10000683,10000684,10000685,10000686,10000687,10000688,10000689,10000690,10000691,10000692,10000693,10000694,10000695,10000696,10000697,10000698,10000699,10000700,10000701,10000702,10000703,10000704,10000705,10000706,10000707,10000708,10000709,10000710,10000711,10000712,10000713,10000714,10000715,10000716,10000717,10000718,10000719,10000720,10000721,10000722,10000723,10000724,10000725,10000726,10000727,10000728,10000729,10000730,10000731,10000732,10000733,10000734,10000735,10000736,10000737,10000738,10000739,10000740,10000741,10000742,10000743,10000744,10000745,10000746,10000747,10000748,10000749,10000750,10000751,10000752,10000753,10000754,10000755,10000756,10000757,10000758,10000759,10000760,10000761,10000762,10000763,10000764,10000765,10000766,10000767,10000768,10000769,10000770,10000771,10000772,10000773,10000774,10000775,10000776,10000777,10000778,10000779,10000780,10000781,10000782,10000783,10000784,10000785,10000786,10000787,10000788,10000789,10000790,10000791,10000792,10000793,10000794,10000795,10000796,10000797,10000798,10000799,10000800,10000801,10000802,10000803,10000804,10000805,10000806,10000807,10000808,10000809,10000810,10000811,10000812,10000813,10000814,10000815,10000816,10000817,10000818,10000819,10000820,10000821,10000822,10000823,10000824,10000825,10000826,10000827,10000828,10000829,10000830,10000831,10000832,10000833,10000834,10000835,10000836,10000837,10000838,10000839,10000840,10000841,10000842,10000843,10000844,10000845,10000846,10000847,10000848,10000849,10000850,10000851,10000852,10000853,10000854,10000855,10000856,10000857,10000858,10000859,10000860,10000861,10000862,10000863,10000864,10000865,10000866,10000867,10000868,10000869,10000870,10000871,10000872,10000873,10000874,10000875,10000876,10000877,10000878,10000879,10000880,10000881,10000882,10000883,10000884,10000885,10000886,10000887,10000888,10000889,10000890,10000891,10000892,10000893,10000894,10000895,10000896,10000897,10000898,10000899,10000900,10000901,10000902,10000903,10000904,10000905,10000906,10000907,10000908,10000909,10000910,10000911,10000912,10000913,10000914,10000915,10000916,10000917,10000918,10000919,10000920,10000921,10000922,10000923,10000924,10000925,10000926,10000927,10000928,10000929,10000930,10000931,10000932,10000933,10000934,10000935,10000936,10000937,10000938,10000939,10000940,10000941,10000942,10000943,10000944,10000945,10000946,10000947,10000948,10000949,10000950,10000951,10000952,10000953,10000954,10000955,10000956,10000957,10000958,10000959,10000960,10000961,10000962,10000963,10000964,10000965,10000966,10000967,10000968,10000969,10000970,10000971,10000972,10000973,10000974,10000975,10000976,10000977,10000978,10000979,10000980,10000981,10000982,10000983,10000984,10000985,10000986,10000987,10000988,10000989,10000990,10000991,10000992,10000993,10000994,10000995,10000996,10000997,10000998,10000999,10001000]
+ - name: col_bigint_card3_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: JOING9_1_join_on_3tbls_withfilter_onpkey
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=IN,queryshape=join,joinon=hashpkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1
+
+ - workload: JOING9_2_join_on_3tbls_withfilter_onskey
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=hashskey,filtertype=IN,queryshape=join,joinon=hashpkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_1.col_bigint_card2_1 in (1000500) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1
+
+ - workload: JOING9_3_join_on_3tbls_withfilter_onpkey_subquery
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=subquery,queryshape=join,joinon=hashpkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_2.col_bigint_card1_1 IN (select distinct(col_bigint_card1_1) from pkeyBigint1M_1 where col_bigint_card1_1 in (1000500)) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1
+
+ - workload: JOING9_4_join_on_3tbls_withfilter_onskey_subquery
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=hashskey,filtertype=subquery,queryshape=join,joinon=hashpkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1,pkeyBigint1M_2,pkeyBigint1M_3 where pkeyBigint1M_2.col_bigint_card2_1 IN (select distinct(col_bigint_card2_1) from pkeyBigint1M_1 where col_bigint_card1_1 in (1000500)) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1
+
+ - workload: JOING9_5_cascade_join_3tbls_withfilter_onpkey
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=IN,queryshape=join,joinon=hashpkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1 JOIN pkeyBigint1M_2 on pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 JOIN pkeyBigint1M_3 on pkeyBigint1M_2.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500)
+
+ - workload: JOING9_6_join_on_pkey_2ndpart_3tbls_withfilter_onskey
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=IN,queryshape=join,joinon=mixedpkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_1 from pkeyBigint1M_1 JOIN pkeyBigint1M_2 on pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1 JOIN pkeyBigint1M_3 on pkeyBigint1M_2.col_bigint_card1_1=pkeyBigint1M_3.col_bigint_card1_1 where pkeyBigint1M_1.col_bigint_card1_1 in (1000500)
+
+ - workload: JOING9_7_join_cte_on_3tbls_withfilter_onpkey_subquery
+ customTags: schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=subquery,queryshape=join,joinon=mixedpkey,jointables=three,joinconditions=two
+ run:
+ - name: join_on_pk_3tbl
+ weight: 100
+ queries:
+ - query: With v1 as (select pkeyBigint1M_1.col_bigint_id_1, pkeyBigint1M_2.col_bigint_id_2 from pkeyBigint1M_1,pkeyBigint1M_2 where pkeyBigint1M_2.col_bigint_card1_1 IN (select distinct(col_bigint_card1_1) from pkeyBigint1M_1 where col_bigint_card1_1 in (1000500)) and pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_2.col_bigint_id_1), v2 as (select pkeyBigint1M_3.col_bigint_id_1, pkeyBigint1M_3.col_bigint_id_2 from pkeyBigint1M_1,pkeyBigint1M_3 where pkeyBigint1M_1.col_bigint_id_1=pkeyBigint1M_3.col_bigint_id_1) select v1.col_bigint_id_1, v1.col_bigint_id_2, v2.col_bigint_id_1, v2.col_bigint_id_2 from v1 join v2 on v1.col_bigint_id_1=v2.col_bigint_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/locking_semantics/postgres/select_update_readcommitted.yaml b/config/yugabyte/regression_pipelines/locking_semantics/postgres/select_update_readcommitted.yaml
new file mode 100644
index 000000000..236e27a40
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/locking_semantics/postgres/select_update_readcommitted.yaml
@@ -0,0 +1,58 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_READ_COMMITTED
+loaderthreads: 1
+terminals: 24
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ cleanup:
+ - drop table if exists update_test_table1;
+ loadRules:
+ - table: update_test_table1
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [20, 20]
+ - name: col_date
+ util: RandomAString
+ params: [20, 20]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: select_update_key_from_multiple_threads_with_weights_100
+ run:
+ - name: update_same_key
+ weight: 100
+ queries:
+ - query: select * from update_test_table1 where id = 1 for update
+ - query: select pg_sleep(0.001)
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/locking_semantics/postgres/single_row_updates_with_varying_lock_contentions.yaml b/config/yugabyte/regression_pipelines/locking_semantics/postgres/single_row_updates_with_varying_lock_contentions.yaml
new file mode 100644
index 000000000..b613c36ed
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/locking_semantics/postgres/single_row_updates_with_varying_lock_contentions.yaml
@@ -0,0 +1,132 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 24
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ cleanup:
+ - drop table if exists update_test_table1;
+ loadRules:
+ - table: update_test_table1
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [20, 20]
+ - name: col_date
+ util: RandomAString
+ params: [20, 20]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: update_key_from_multiple_threads_with_weights_100
+ run:
+ - name: update_same_key
+ weight: 100
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+
+ - workload: update_key_from_multiple_threads_with_weights_80
+ run:
+ - name: update_same_key
+ weight: 80
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - name: update_diff_key
+ weight: 20
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomInt
+ params: [100, 10000]
+
+ - workload: update_key_from_multiple_threads_with_weights_60
+ run:
+ - name: update_same_key
+ weight: 60
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - name: update_diff_key
+ weight: 40
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomInt
+ params: [100, 10000]
+
+ - workload: update_key_from_multiple_threads_with_weights_40
+ run:
+ - name: update_same_key
+ weight: 40
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - name: update_diff_key
+ weight: 60
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomInt
+ params: [100, 10000]
+
+ - workload: update_key_from_multiple_threads_with_weights_20
+ run:
+ - name: update_same_key
+ weight: 20
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - name: update_diff_key
+ weight: 80
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomInt
+ params: [100, 10000]
diff --git a/config/yugabyte/regression_pipelines/locking_semantics/yb_colocated/select_update_readcommitted.yaml b/config/yugabyte/regression_pipelines/locking_semantics/yb_colocated/select_update_readcommitted.yaml
new file mode 100644
index 000000000..013577bad
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/locking_semantics/yb_colocated/select_update_readcommitted.yaml
@@ -0,0 +1,60 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_READ_COMMITTED
+loaderthreads: 1
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ cleanup:
+ - drop table if exists update_test_table1;
+ loadRules:
+ - table: update_test_table1
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [20, 20]
+ - name: col_date
+ util: RandomAString
+ params: [20, 20]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: select_update_key_from_multiple_threads_with_weights_100
+ run:
+ - name: update_same_key
+ weight: 100
+ queries:
+ - query: select * from update_test_table1 where id = 1 for update
+ - query: select pg_sleep(0.001)
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/locking_semantics/yb_colocated/single_row_updates_with_varying_lock_contentions.yaml b/config/yugabyte/regression_pipelines/locking_semantics/yb_colocated/single_row_updates_with_varying_lock_contentions.yaml
new file mode 100644
index 000000000..609a16ca5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/locking_semantics/yb_colocated/single_row_updates_with_varying_lock_contentions.yaml
@@ -0,0 +1,134 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ cleanup:
+ - drop table if exists update_test_table1;
+ loadRules:
+ - table: update_test_table1
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [20, 20]
+ - name: col_date
+ util: RandomAString
+ params: [20, 20]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: update_key_from_multiple_threads_with_weights_100
+ run:
+ - name: update_same_key
+ weight: 100
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+
+ - workload: update_key_from_multiple_threads_with_weights_80
+ run:
+ - name: update_same_key
+ weight: 80
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - name: update_diff_key
+ weight: 20
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomInt
+ params: [100, 10000]
+
+ - workload: update_key_from_multiple_threads_with_weights_60
+ run:
+ - name: update_same_key
+ weight: 60
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - name: update_diff_key
+ weight: 40
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomInt
+ params: [100, 10000]
+
+ - workload: update_key_from_multiple_threads_with_weights_40
+ run:
+ - name: update_same_key
+ weight: 40
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - name: update_diff_key
+ weight: 60
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomInt
+ params: [100, 10000]
+
+ - workload: update_key_from_multiple_threads_with_weights_20
+ run:
+ - name: update_same_key
+ weight: 20
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - name: update_diff_key
+ weight: 80
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomInt
+ params: [100, 10000]
diff --git a/config/yugabyte/regression_pipelines/locking_semantics/yugabyte/select_update_readcommitted.yaml b/config/yugabyte/regression_pipelines/locking_semantics/yugabyte/select_update_readcommitted.yaml
new file mode 100644
index 000000000..a742d9eb2
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/locking_semantics/yugabyte/select_update_readcommitted.yaml
@@ -0,0 +1,59 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_READ_COMMITTED
+loaderthreads: 1
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ cleanup:
+ - drop table if exists update_test_table1;
+ loadRules:
+ - table: update_test_table1
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [20, 20]
+ - name: col_date
+ util: RandomAString
+ params: [20, 20]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: select_update_key_from_multiple_threads_with_weights_100
+ run:
+ - name: update_same_key
+ weight: 100
+ queries:
+ - query: select * from update_test_table1 where id = 1 for update
+ - query: select pg_sleep(0.001)
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/locking_semantics/yugabyte/single_row_updates_with_varying_lock_contentions.yaml b/config/yugabyte/regression_pipelines/locking_semantics/yugabyte/single_row_updates_with_varying_lock_contentions.yaml
new file mode 100644
index 000000000..7f24e18ac
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/locking_semantics/yugabyte/single_row_updates_with_varying_lock_contentions.yaml
@@ -0,0 +1,133 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ cleanup:
+ - drop table if exists update_test_table1;
+ loadRules:
+ - table: update_test_table1
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [20, 20]
+ - name: col_date
+ util: RandomAString
+ params: [20, 20]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: update_key_from_multiple_threads_with_weights_100
+ run:
+ - name: update_same_key
+ weight: 100
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+
+ - workload: update_key_from_multiple_threads_with_weights_80
+ run:
+ - name: update_same_key
+ weight: 80
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - name: update_diff_key
+ weight: 20
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomInt
+ params: [100, 10000]
+
+ - workload: update_key_from_multiple_threads_with_weights_60
+ run:
+ - name: update_same_key
+ weight: 60
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - name: update_diff_key
+ weight: 40
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomInt
+ params: [100, 10000]
+
+ - workload: update_key_from_multiple_threads_with_weights_40
+ run:
+ - name: update_same_key
+ weight: 40
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - name: update_diff_key
+ weight: 60
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomInt
+ params: [100, 10000]
+
+ - workload: update_key_from_multiple_threads_with_weights_20
+ run:
+ - name: update_same_key
+ weight: 20
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - name: update_diff_key
+ weight: 80
+ queries:
+ - query: update update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomInt
+ params: [100, 10000]
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/MG1_analyze_table_pg.yaml b/config/yugabyte/regression_pipelines/miscellaneous/MG1_analyze_table_pg.yaml
new file mode 100644
index 000000000..1d6a3537f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/MG1_analyze_table_pg.yaml
@@ -0,0 +1,357 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+disable_explain: true
+works:
+ work:
+ time_secs: 1800
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+ - create table nets_10M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+ - create table nets_50M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+ - create table nets_100M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+ - create table nets_200M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+
+ cleanup:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+
+ loadRules:
+
+ - table: nets_10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_50M_
+ count: 1
+ rows: 50000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_100M_
+ count: 1
+ rows: 100000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_200M_
+ count: 1
+ rows: 200000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ executeRules:
+
+ - workload: MG1_1_Analyze_50M
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_50M_1
+
+ - workload: MG1_2_Analyze_100M
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_100M_1
+
+ - workload: MG1_3_Analyze_200M
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_200M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/MG1_analyze_table_yb.yaml b/config/yugabyte/regression_pipelines/miscellaneous/MG1_analyze_table_yb.yaml
new file mode 100644
index 000000000..85f4e7a48
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/MG1_analyze_table_yb.yaml
@@ -0,0 +1,357 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+disable_explain: true
+works:
+ work:
+ time_secs: 1800
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+ - create table nets_10M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key ((db_user_id_1, shard_id_1) HASH, op_id_1 ASC));
+ - create table nets_50M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key ((db_user_id_1, shard_id_1) HASH, op_id_1 ASC));
+ - create table nets_100M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key ((db_user_id_1, shard_id_1) HASH, op_id_1 ASC));
+ - create table nets_200M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key ((db_user_id_1, shard_id_1) HASH, op_id_1 ASC));
+
+ cleanup:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+
+ loadRules:
+
+ - table: nets_10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_50M_
+ count: 1
+ rows: 50000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_100M_
+ count: 1
+ rows: 100000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_200M_
+ count: 1
+ rows: 200000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ executeRules:
+
+ - workload: MG1_1_Analyze_50M
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_50M_1
+
+ - workload: MG1_2_Analyze_100M
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_100M_1
+
+ - workload: MG1_3_Analyze_200M
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_200M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/MG1_analyze_table_yb_colocated.yaml b/config/yugabyte/regression_pipelines/miscellaneous/MG1_analyze_table_yb_colocated.yaml
new file mode 100644
index 000000000..9e46215a3
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/MG1_analyze_table_yb_colocated.yaml
@@ -0,0 +1,358 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+disable_explain: true
+works:
+ work:
+ time_secs: 1800
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+ - create table nets_10M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+ - create table nets_50M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+ - create table nets_100M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+ - create table nets_200M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+
+ cleanup:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+
+ loadRules:
+
+ - table: nets_10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_50M_
+ count: 1
+ rows: 50000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_100M_
+ count: 1
+ rows: 100000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_200M_
+ count: 1
+ rows: 200000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ executeRules:
+
+ - workload: MG1_1_Analyze_50M
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_50M_1
+
+ - workload: MG1_2_Analyze_100M
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_100M_1
+
+ - workload: MG1_3_Analyze_200M
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_200M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/postgres/MG2_multi_statement_transaction.yaml b/config/yugabyte/regression_pipelines/miscellaneous/postgres/MG2_multi_statement_transaction.yaml
new file mode 100644
index 000000000..ec6621086
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/postgres/MG2_multi_statement_transaction.yaml
@@ -0,0 +1,134 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 24
+collect_pg_stat_statements: true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS users_1;
+ - DROP TABLE IF EXISTS accounts_1;
+ - DROP TABLE IF EXISTS audit_table_1;
+ - CREATE TABLE IF NOT EXISTS users_1(user_id_1 bigint, user_name_1 varchar(10), addr_1 varchar(50), bal_1 float(2), PRIMARY KEY(user_id_1));
+ - CREATE TABLE IF NOT EXISTS accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2), PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_accounts ON accounts_1( user_id_1, account_id_1);
+ - CREATE TABLE IF NOT EXISTS audit_table_1(account_id_1 bigint, event_id_1 date, user_id_1 bigint, delta_1 float(2), PRIMARY KEY(account_id_1, event_id_1));
+
+ cleanup:
+ - DROP TABLE IF EXISTS users_1;
+ - DROP TABLE IF EXISTS accounts_1;
+ - DROP TABLE IF EXISTS audit_table_1;
+
+ loadRules:
+ - table: users_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: user_name_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+ - table: accounts_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+ - table: audit_table_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: event_id_
+ count: 1
+ util: PrimaryDateGen
+ params: [2000000]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: delta_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+
+ executeRules:
+ - workload: MG2_1_multi_statement_transaction_run1
+ customTags: customer=10,schematype=regular,partition=hash,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=hashpkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO audit_table_1(account_id_1, event_id_1, user_id_1, delta_1) VALUES(?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 2000000, 10000000000 ]
+ - util: PrimaryDateGen
+ params: [ 100000000 ]
+ - util: PrimaryIntGen
+ params: [ 2000000, 10000000000 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - query: UPDATE accounts_1 SET bal_1 = ? WHERE account_id_1 = ? and user_id_1 = ?
+ bindings:
+ - util: RandomNoWithDecimalPoints
+ params: [ 1000000, 10000000, 2 ]
+ - util: CyclicSeqIntGen
+ params: [ 1, 1000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 1, 1000000 ]
+ - query: SELECT bal_1 FROM accounts_1 WHERE account_id_1 = ?
+ bindings:
+ - util: RandomInt
+ params: [ 1, 1000000 ]
+ - query: UPDATE users_1 SET bal_1 = bal_1 + ? WHERE user_id_1 = ?
+ bindings:
+ - util: RandomInt
+ params: [ 1, 100 ]
+ - util: RandomInt
+ params: [ 1, 1000000 ]
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/postgres/MG3_multi_statement_json_trigger_index.yaml b/config/yugabyte/regression_pipelines/miscellaneous/postgres/MG3_multi_statement_json_trigger_index.yaml
new file mode 100644
index 000000000..cc3abb119
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/postgres/MG3_multi_statement_json_trigger_index.yaml
@@ -0,0 +1,288 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 24
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table if exists update_test_table1_varchar_json_col5_16_1;
+ - drop table if exists update_test_table1_varchar_json_col5_16_2;
+ - drop table if exists update_test_table1_varchar_json_col5_16_3;
+ - CREATE TABLE update_test_table1_varchar_json_col5_16_1 (id INT, vcol1 varchar(255), vcol2 varchar(255), vcol3 varchar(255), vcol4 varchar(255), vcol5 varchar(255), col1 jsonb, col2 jsonb, col3 jsonb, col4 jsonb, col5 jsonb, count int, primary key(id));
+ - CREATE TABLE update_test_table1_varchar_json_col5_16_2 (id INT, vcol1 varchar(255), vcol2 varchar(255), vcol3 varchar(255), vcol4 varchar(255), vcol5 varchar(255), col1 jsonb, col2 jsonb, col3 jsonb, col4 jsonb, col5 jsonb, count int, primary key(id));
+ - CREATE INDEX ON update_test_table1_varchar_json_col5_16_2(vcol1);
+ - CREATE TABLE update_test_table1_varchar_json_col5_16_3 (id INT, vcol1 varchar(255), vcol2 varchar(255), vcol3 varchar(255), vcol4 varchar(255), vcol5 varchar(255), col1 jsonb, col2 jsonb, col3 jsonb, col4 jsonb, col5 jsonb, count int, primary key(id));
+ - CREATE INDEX ON update_test_table1_varchar_json_col5_16_3(vcol1);
+ - CREATE INDEX ON update_test_table1_varchar_json_col5_16_3(count);
+ - CREATE OR REPLACE FUNCTION trigger_function() RETURNS TRIGGER LANGUAGE PLPGSQL AS $$ BEGIN NEW.count = NEW.count + 1; RETURN NEW; END; $$
+ - CREATE TRIGGER update_test_table1_varchar_json_col5_16_3_trigger BEFORE UPDATE on update_test_table1_varchar_json_col5_16_3 FOR EACH ROW EXECUTE PROCEDURE trigger_function()
+
+
+ cleanup:
+ - drop table if exists update_test_table1_varchar_json_col5_16_1;
+ - drop table if exists update_test_table1_varchar_json_col5_16_2;
+ - drop table if exists update_test_table1_varchar_json_col5_16_3;
+
+
+ loadRules:
+
+ - table: update_test_table1_varchar_json_col5_16_
+ count: 3
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: vcol1
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: vcol2
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: vcol3
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: vcol4
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: vcol5
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: col1
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: col2
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: col3
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: col4
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: col5
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: count
+ util: RandomNumber
+ params: [1, 5]
+ executeRules:
+
+ - workload: update_test_table1_varchar_json_col5_16_1
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: insert into update_test_table1_varchar_json_col5_16_1 (id,vcol1,vcol2,vcol3,vcol4,vcol5,col1,col2,col3,col4,col5,count) VALUES (?,?,?,?,?,?,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?)
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 100001, 10000000 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - query: select vcol2 from update_test_table1_varchar_json_col5_16_1 where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+ - query: update update_test_table1_varchar_json_col5_16_1 set vcol1 = ?, col2 = ? ::jsonb, count = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+
+
+ - workload: update_test_table1_varchar_json_col5_16_2
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: insert into update_test_table1_varchar_json_col5_16_2 (id,vcol1,vcol2,vcol3,vcol4,vcol5,col1,col2,col3,col4,col5,count) VALUES (?,?,?,?,?,?,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?)
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 100001, 10000000 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - query: select vcol2 from update_test_table1_varchar_json_col5_16_2 where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+ - query: update update_test_table1_varchar_json_col5_16_2 set vcol1 = ?, col2 = ? ::jsonb, count = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+
+ - workload: update_test_table1_varchar_json_col5_16_3
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: insert into update_test_table1_varchar_json_col5_16_3 (id,vcol1,vcol2,vcol3,vcol4,vcol5,col1,col2,col3,col4,col5,count) VALUES (?,?,?,?,?,?,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?)
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 100001, 10000000 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - query: select vcol2 from update_test_table1_varchar_json_col5_16_3 where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+ - query: update update_test_table1_varchar_json_col5_16_3 set vcol1 = ?, col2 = ? ::jsonb, count = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+
+ - workload: update_test_table1_varchar_json_col5_16_4
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: insert into update_test_table1_varchar_json_col5_16_3 (id,vcol1,vcol2,vcol3,vcol4,vcol5,col1,col2,col3,col4,col5,count) VALUES (?,?,?,?,?,?,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?)
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 100001, 10000000 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - query: select vcol2 from update_test_table1_varchar_json_col5_16_3 where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+ - query: update update_test_table1_varchar_json_col5_16_3 set vcol1 = ?, vcol2 = ?, vcol3 = ?, col1 = ? ::jsonb, col2 = ? ::jsonb, col3 = ? ::jsonb, count = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - util: RandomNumber
+ params: [ 1, 100000 ]
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/postgres/default_sequence_caching.yaml b/config/yugabyte/regression_pipelines/miscellaneous/postgres/default_sequence_caching.yaml
new file mode 100644
index 000000000..b22c1f954
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/postgres/default_sequence_caching.yaml
@@ -0,0 +1,75 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop sequence if exists seq1;
+ - create sequence seq1;
+ - drop table if exists seq_test_1;
+ - create table seq_test_1 (id serial, col_int_1 int, col_int_2 int, col_int_3 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ cleanup:
+ - drop sequence if exists seq1;
+ - drop table if exists seq_test_1;
+ loadRules:
+ - table: seq_test_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_int_
+ count: 3
+ util: RandomNumber
+ params:
+ - 1
+ - 1000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: concurrent_nextval
+ run:
+ - name: concurrent_nextval
+ weight: 100
+ queries:
+ - query: select nextval('seq1')
+
+ - workload: concurrent_insert_with_serial_pkey
+ run:
+ - name: concurrent_insert_with_serial_pkey
+ weight: 100
+ queries:
+ - query: INSERT INTO seq_test_1 (col_int_1, col_int_2, col_int_3, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?,?,?,?,?,?,?,?)
+ bindings:
+ - util: RandomNumber
+ count: 3
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/postgres/retention_impact.yaml b/config/yugabyte/regression_pipelines/miscellaneous/postgres/retention_impact.yaml
new file mode 100644
index 000000000..e09f272f9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/postgres/retention_impact.yaml
@@ -0,0 +1,174 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 6
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 3600
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS nets_1;
+ - create table nets_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+
+ cleanup:
+ - drop table IF EXISTS nets_1;
+
+ loadRules:
+ - table: nets_
+ count: 1
+ rows: 100000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ executeRules:
+ - workload: Retention_pre_workload_run1
+ time_secs: 300
+ run:
+ - name: NetG1_1_select_query
+ weight: 100
+ queries:
+ - query: select work_id_1,owner_1,state_1,sequence_id_1 from nets_1 where db_user_id_1 = ? and shard_id_1 = ANY(ARRAY[?,?,?,?])
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - util: RandomInt
+ params: [ 21, 30 ]
+ - util: RandomInt
+ params: [ 31, 40 ]
+ - util: RandomInt
+ params: [ 41, 50 ]
+ - workload: Retention_mixed_workload_run2
+ time_secs: 3600
+ run:
+ - name: NetG1_1_update_query
+ weight: 50
+ queries:
+ - query: UPDATE nets_1 SET shard_id_1 = shard_id_1 + 1 WHERE db_user_id_1 = ? and shard_id_1 = ?
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 21, 50 ]
+ - name: NetG1_2_delete_query
+ weight: 10
+ queries:
+ - query: delete from nets_1 where db_user_id_1 = ? and shard_id_1 = ?
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 150 , 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - name: NetG1_3_scan_query_pointselect
+ weight: 40
+ queries:
+ - query: select work_id_1,owner_1,state_1,sequence_id_1 from nets_1 where db_user_id_1 = ? and shard_id_1 = ANY(ARRAY[?,?,?,?])
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - util: RandomInt
+ params: [ 21, 30 ]
+ - util: RandomInt
+ params: [ 31, 40 ]
+ - util: RandomInt
+ params: [ 41, 50 ]
+ - workload: Retention_post_workload_run3
+ time_secs: 300
+ run:
+ - name: NetG1_1_select_query
+ weight: 100
+ queries:
+ - query: select work_id_1,owner_1,state_1,sequence_id_1 from nets_1 where db_user_id_1 = ? and shard_id_1 = ANY(ARRAY[?,?,?,?])
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - util: RandomInt
+ params: [ 21, 30 ]
+ - util: RandomInt
+ params: [ 31, 40 ]
+ - util: RandomInt
+ params: [ 41, 50 ]
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/retention_impact.yaml b/config/yugabyte/regression_pipelines/miscellaneous/retention_impact.yaml
new file mode 100644
index 000000000..5c546e8cd
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/retention_impact.yaml
@@ -0,0 +1,138 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 6
+collect_pg_stat_statements: true
+yaml_version: v1.0
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 3600
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS nets_1;
+ - create table nets_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key ((db_user_id_1, shard_id_1) HASH, op_id_1 ASC));
+
+ cleanup:
+ - drop table IF EXISTS nets_1;
+
+ loadRules:
+ - table: nets_
+ count: 1
+ rows: 100000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ executeRules:
+ - workload: NetG1_query1
+ run:
+ - name: NetG1_1_update_query
+ weight: 50
+ queries:
+ - query: UPDATE nets_1 SET shard_id_1 = shard_id_1 + 1 WHERE db_user_id_1 = ? and shard_id_1 = ?
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 21, 50 ]
+ - name: NetG1_2_delete_query
+ weight: 10
+ queries:
+ - query: delete from nets_1 where db_user_id_1 = ? and shard_id_1 = ?
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 150 , 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - name: NetG1_3_scan_query_pointselect
+ weight: 40
+ queries:
+ - query: select work_id_1,owner_1,state_1,sequence_id_1 from nets_1 where db_user_id_1 = ? and shard_id_1 = ANY(ARRAY[?,?,?,?])
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - util: RandomInt
+ params: [ 21, 30 ]
+ - util: RandomInt
+ params: [ 31, 40 ]
+ - util: RandomInt
+ params: [ 41, 50 ]
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/yb_colocated/MG2_multi_statement_transaction.yaml b/config/yugabyte/regression_pipelines/miscellaneous/yb_colocated/MG2_multi_statement_transaction.yaml
new file mode 100644
index 000000000..40601a5fb
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/yb_colocated/MG2_multi_statement_transaction.yaml
@@ -0,0 +1,136 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS users_1;
+ - DROP TABLE IF EXISTS accounts_1;
+ - DROP TABLE IF EXISTS audit_table_1;
+ - CREATE TABLE IF NOT EXISTS users_1(user_id_1 bigint, user_name_1 varchar(10), addr_1 varchar(50), bal_1 float(2), PRIMARY KEY(user_id_1));
+ - CREATE TABLE IF NOT EXISTS accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2), PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_accounts ON accounts_1( user_id_1, account_id_1);
+ - CREATE TABLE IF NOT EXISTS audit_table_1(account_id_1 bigint, event_id_1 date, user_id_1 bigint, delta_1 float(2), PRIMARY KEY(account_id_1, event_id_1));
+
+ cleanup:
+ - DROP TABLE IF EXISTS users_1;
+ - DROP TABLE IF EXISTS accounts_1;
+ - DROP TABLE IF EXISTS audit_table_1;
+
+ loadRules:
+ - table: users_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: user_name_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+ - table: accounts_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+ - table: audit_table_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: event_id_
+ count: 1
+ util: PrimaryDateGen
+ params: [2000000]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: delta_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+
+ executeRules:
+ - workload: MG2_1_multi_statement_transaction_run1
+ customTags: customer=10,schematype=regular,partition=hash,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=hashpkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO audit_table_1(account_id_1, event_id_1, user_id_1, delta_1) VALUES(?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 2000000, 10000000000 ]
+ - util: PrimaryDateGen
+ params: [ 100000000 ]
+ - util: PrimaryIntGen
+ params: [ 2000000, 10000000000 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - query: UPDATE accounts_1 SET bal_1 = ? WHERE account_id_1 = ? and user_id_1 = ?
+ bindings:
+ - util: RandomNoWithDecimalPoints
+ params: [ 1000000, 10000000, 2 ]
+ - util: CyclicSeqIntGen
+ params: [ 1, 1000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 1, 1000000 ]
+ - query: SELECT bal_1 FROM accounts_1 WHERE account_id_1 = ?
+ bindings:
+ - util: RandomInt
+ params: [ 1, 1000000 ]
+ - query: UPDATE users_1 SET bal_1 = bal_1 + ? WHERE user_id_1 = ?
+ bindings:
+ - util: RandomInt
+ params: [ 1, 100 ]
+ - util: RandomInt
+ params: [ 1, 1000000 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/yb_colocated/MG3_multi_statement_json_trigger_index.yaml b/config/yugabyte/regression_pipelines/miscellaneous/yb_colocated/MG3_multi_statement_json_trigger_index.yaml
new file mode 100644
index 000000000..a21d29d8f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/yb_colocated/MG3_multi_statement_json_trigger_index.yaml
@@ -0,0 +1,290 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table if exists update_test_table1_varchar_json_col5_16_1;
+ - drop table if exists update_test_table1_varchar_json_col5_16_2;
+ - drop table if exists update_test_table1_varchar_json_col5_16_3;
+ - CREATE TABLE update_test_table1_varchar_json_col5_16_1 (id INT, vcol1 varchar(255), vcol2 varchar(255), vcol3 varchar(255), vcol4 varchar(255), vcol5 varchar(255), col1 jsonb, col2 jsonb, col3 jsonb, col4 jsonb, col5 jsonb, count int, primary key(id));
+ - CREATE TABLE update_test_table1_varchar_json_col5_16_2 (id INT, vcol1 varchar(255), vcol2 varchar(255), vcol3 varchar(255), vcol4 varchar(255), vcol5 varchar(255), col1 jsonb, col2 jsonb, col3 jsonb, col4 jsonb, col5 jsonb, count int, primary key(id));
+ - CREATE INDEX ON update_test_table1_varchar_json_col5_16_2(vcol1);
+ - CREATE TABLE update_test_table1_varchar_json_col5_16_3 (id INT, vcol1 varchar(255), vcol2 varchar(255), vcol3 varchar(255), vcol4 varchar(255), vcol5 varchar(255), col1 jsonb, col2 jsonb, col3 jsonb, col4 jsonb, col5 jsonb, count int, primary key(id));
+ - CREATE INDEX ON update_test_table1_varchar_json_col5_16_3(vcol1);
+ - CREATE INDEX ON update_test_table1_varchar_json_col5_16_3(count);
+ - CREATE OR REPLACE FUNCTION trigger_function() RETURNS TRIGGER LANGUAGE PLPGSQL AS $$ BEGIN NEW.count = NEW.count + 1; RETURN NEW; END; $$
+ - CREATE TRIGGER update_test_table1_varchar_json_col5_16_3_trigger BEFORE UPDATE on update_test_table1_varchar_json_col5_16_3 FOR EACH ROW EXECUTE PROCEDURE trigger_function()
+
+
+ cleanup:
+ - drop table if exists update_test_table1_varchar_json_col5_16_1;
+ - drop table if exists update_test_table1_varchar_json_col5_16_2;
+ - drop table if exists update_test_table1_varchar_json_col5_16_3;
+
+
+ loadRules:
+
+ - table: update_test_table1_varchar_json_col5_16_
+ count: 3
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: vcol1
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: vcol2
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: vcol3
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: vcol4
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: vcol5
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: col1
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: col2
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: col3
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: col4
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: col5
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: count
+ util: RandomNumber
+ params: [1, 5]
+ executeRules:
+
+ - workload: update_test_table1_varchar_json_col5_16_1
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: insert into update_test_table1_varchar_json_col5_16_1 (id,vcol1,vcol2,vcol3,vcol4,vcol5,col1,col2,col3,col4,col5,count) VALUES (?,?,?,?,?,?,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?)
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 100001, 10000000 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - query: select vcol2 from update_test_table1_varchar_json_col5_16_1 where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+ - query: update update_test_table1_varchar_json_col5_16_1 set vcol1 = ?, col2 = ? ::jsonb, count = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+
+
+ - workload: update_test_table1_varchar_json_col5_16_2
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: insert into update_test_table1_varchar_json_col5_16_2 (id,vcol1,vcol2,vcol3,vcol4,vcol5,col1,col2,col3,col4,col5,count) VALUES (?,?,?,?,?,?,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?)
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 100001, 10000000 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - query: select vcol2 from update_test_table1_varchar_json_col5_16_2 where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+ - query: update update_test_table1_varchar_json_col5_16_2 set vcol1 = ?, col2 = ? ::jsonb, count = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+
+ - workload: update_test_table1_varchar_json_col5_16_3
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: insert into update_test_table1_varchar_json_col5_16_3 (id,vcol1,vcol2,vcol3,vcol4,vcol5,col1,col2,col3,col4,col5,count) VALUES (?,?,?,?,?,?,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?)
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 100001, 10000000 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - query: select vcol2 from update_test_table1_varchar_json_col5_16_3 where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+ - query: update update_test_table1_varchar_json_col5_16_3 set vcol1 = ?, col2 = ? ::jsonb, count = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+
+ - workload: update_test_table1_varchar_json_col5_16_4
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: insert into update_test_table1_varchar_json_col5_16_3 (id,vcol1,vcol2,vcol3,vcol4,vcol5,col1,col2,col3,col4,col5,count) VALUES (?,?,?,?,?,?,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?)
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 100001, 10000000 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - query: select vcol2 from update_test_table1_varchar_json_col5_16_3 where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+ - query: update update_test_table1_varchar_json_col5_16_3 set vcol1 = ?, vcol2 = ?, vcol3 = ?, col1 = ? ::jsonb, col2 = ? ::jsonb, col3 = ? ::jsonb, count = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - util: RandomNumber
+ params: [ 1, 100000 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/yb_colocated/default_sequence_caching.yaml b/config/yugabyte/regression_pipelines/miscellaneous/yb_colocated/default_sequence_caching.yaml
new file mode 100644
index 000000000..540db33e7
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/yb_colocated/default_sequence_caching.yaml
@@ -0,0 +1,77 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop sequence if exists seq1;
+ - create sequence seq1;
+ - drop table if exists seq_test_1;
+ - create table seq_test_1 (id serial, col_int_1 int, col_int_2 int, col_int_3 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ cleanup:
+ - drop sequence if exists seq1;
+ - drop table if exists seq_test_1;
+ loadRules:
+ - table: seq_test_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_int_
+ count: 3
+ util: RandomNumber
+ params:
+ - 1
+ - 1000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: concurrent_nextval
+ run:
+ - name: concurrent_nextval
+ weight: 100
+ queries:
+ - query: select nextval('seq1')
+
+ - workload: concurrent_insert_with_serial_pkey
+ run:
+ - name: concurrent_insert_with_serial_pkey
+ weight: 100
+ queries:
+ - query: INSERT INTO seq_test_1 (col_int_1, col_int_2, col_int_3, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?,?,?,?,?,?,?,?)
+ bindings:
+ - util: RandomNumber
+ count: 3
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/yb_colocated/retention_impact.yaml b/config/yugabyte/regression_pipelines/miscellaneous/yb_colocated/retention_impact.yaml
new file mode 100644
index 000000000..9a35186a1
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/yb_colocated/retention_impact.yaml
@@ -0,0 +1,176 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 6
+collect_pg_stat_statements: true
+yaml_version: v1.0
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 3600
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS nets_1;
+ - create table nets_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+
+ cleanup:
+ - drop table IF EXISTS nets_1;
+
+ loadRules:
+ - table: nets_
+ count: 1
+ rows: 100000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ executeRules:
+ - workload: Retention_pre_workload_run1
+ time_secs: 300
+ run:
+ - name: NetG1_1_select_query
+ weight: 100
+ queries:
+ - query: select work_id_1,owner_1,state_1,sequence_id_1 from nets_1 where db_user_id_1 = ? and shard_id_1 = ANY(ARRAY[?,?,?,?])
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - util: RandomInt
+ params: [ 21, 30 ]
+ - util: RandomInt
+ params: [ 31, 40 ]
+ - util: RandomInt
+ params: [ 41, 50 ]
+ - workload: Retention_mixed_workload_run2
+ time_secs: 3600
+ run:
+ - name: NetG1_1_update_query
+ weight: 50
+ queries:
+ - query: UPDATE nets_1 SET shard_id_1 = shard_id_1 + 1 WHERE db_user_id_1 = ? and shard_id_1 = ?
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 21, 50 ]
+ - name: NetG1_2_delete_query
+ weight: 10
+ queries:
+ - query: delete from nets_1 where db_user_id_1 = ? and shard_id_1 = ?
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 150 , 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - name: NetG1_3_scan_query_pointselect
+ weight: 40
+ queries:
+ - query: select work_id_1,owner_1,state_1,sequence_id_1 from nets_1 where db_user_id_1 = ? and shard_id_1 = ANY(ARRAY[?,?,?,?])
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - util: RandomInt
+ params: [ 21, 30 ]
+ - util: RandomInt
+ params: [ 31, 40 ]
+ - util: RandomInt
+ params: [ 41, 50 ]
+ - workload: Retention_post_workload_run3
+ time_secs: 300
+ run:
+ - name: NetG1_1_select_query
+ weight: 100
+ queries:
+ - query: select work_id_1,owner_1,state_1,sequence_id_1 from nets_1 where db_user_id_1 = ? and shard_id_1 = ANY(ARRAY[?,?,?,?])
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - util: RandomInt
+ params: [ 21, 30 ]
+ - util: RandomInt
+ params: [ 31, 40 ]
+ - util: RandomInt
+ params: [ 41, 50 ]
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/yugabyte/MG2_multi_statement_transaction.yaml b/config/yugabyte/regression_pipelines/miscellaneous/yugabyte/MG2_multi_statement_transaction.yaml
new file mode 100644
index 000000000..1b7fd3d16
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/yugabyte/MG2_multi_statement_transaction.yaml
@@ -0,0 +1,135 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS users_1;
+ - DROP TABLE IF EXISTS accounts_1;
+ - DROP TABLE IF EXISTS audit_table_1;
+ - CREATE TABLE IF NOT EXISTS users_1(user_id_1 bigint, user_name_1 varchar(10), addr_1 varchar(50), bal_1 float(2), PRIMARY KEY(user_id_1));
+ - CREATE TABLE IF NOT EXISTS accounts_1(account_id_1 bigint, user_id_1 bigint, addr_1 varchar(50), bal_1 float(2), PRIMARY KEY(account_id_1));
+ - CREATE UNIQUE INDEX user_accounts ON accounts_1( user_id_1, account_id_1);
+ - CREATE TABLE IF NOT EXISTS audit_table_1(account_id_1 bigint, event_id_1 date, user_id_1 bigint, delta_1 float(2), PRIMARY KEY(account_id_1, event_id_1));
+
+ cleanup:
+ - DROP TABLE IF EXISTS users_1;
+ - DROP TABLE IF EXISTS accounts_1;
+ - DROP TABLE IF EXISTS audit_table_1;
+
+ loadRules:
+ - table: users_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: user_name_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+ - table: accounts_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+ - table: audit_table_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: account_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: event_id_
+ count: 1
+ util: PrimaryDateGen
+ params: [2000000]
+ - name: user_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: delta_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+
+ executeRules:
+ - workload: MG2_1_multi_statement_transaction_run1
+ customTags: customer=10,schematype=regular,partition=hash,pkey=composite,cardinality=single,projection=all,filtercount=one,filteron=hashpkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO audit_table_1(account_id_1, event_id_1, user_id_1, delta_1) VALUES(?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 2000000, 10000000000 ]
+ - util: PrimaryDateGen
+ params: [ 100000000 ]
+ - util: PrimaryIntGen
+ params: [ 2000000, 10000000000 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - query: UPDATE accounts_1 SET bal_1 = ? WHERE account_id_1 = ? and user_id_1 = ?
+ bindings:
+ - util: RandomNoWithDecimalPoints
+ params: [ 1000000, 10000000, 2 ]
+ - util: CyclicSeqIntGen
+ params: [ 1, 1000000 ]
+ - util: CyclicSeqIntGen
+ params: [ 1, 1000000 ]
+ - query: SELECT bal_1 FROM accounts_1 WHERE account_id_1 = ?
+ bindings:
+ - util: RandomInt
+ params: [ 1, 1000000 ]
+ - query: UPDATE users_1 SET bal_1 = bal_1 + ? WHERE user_id_1 = ?
+ bindings:
+ - util: RandomInt
+ params: [ 1, 100 ]
+ - util: RandomInt
+ params: [ 1, 1000000 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/yugabyte/MG3_multi_statement_json_trigger_index.yaml b/config/yugabyte/regression_pipelines/miscellaneous/yugabyte/MG3_multi_statement_json_trigger_index.yaml
new file mode 100644
index 000000000..45881199b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/yugabyte/MG3_multi_statement_json_trigger_index.yaml
@@ -0,0 +1,289 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table if exists update_test_table1_varchar_json_col5_16_1;
+ - drop table if exists update_test_table1_varchar_json_col5_16_2;
+ - drop table if exists update_test_table1_varchar_json_col5_16_3;
+ - CREATE TABLE update_test_table1_varchar_json_col5_16_1 (id INT, vcol1 varchar(255), vcol2 varchar(255), vcol3 varchar(255), vcol4 varchar(255), vcol5 varchar(255), col1 jsonb, col2 jsonb, col3 jsonb, col4 jsonb, col5 jsonb, count int, primary key(id));
+ - CREATE TABLE update_test_table1_varchar_json_col5_16_2 (id INT, vcol1 varchar(255), vcol2 varchar(255), vcol3 varchar(255), vcol4 varchar(255), vcol5 varchar(255), col1 jsonb, col2 jsonb, col3 jsonb, col4 jsonb, col5 jsonb, count int, primary key(id));
+ - CREATE INDEX ON update_test_table1_varchar_json_col5_16_2(vcol1);
+ - CREATE TABLE update_test_table1_varchar_json_col5_16_3 (id INT, vcol1 varchar(255), vcol2 varchar(255), vcol3 varchar(255), vcol4 varchar(255), vcol5 varchar(255), col1 jsonb, col2 jsonb, col3 jsonb, col4 jsonb, col5 jsonb, count int, primary key(id));
+ - CREATE INDEX ON update_test_table1_varchar_json_col5_16_3(vcol1);
+ - CREATE INDEX ON update_test_table1_varchar_json_col5_16_3(count);
+ - CREATE OR REPLACE FUNCTION trigger_function() RETURNS TRIGGER LANGUAGE PLPGSQL AS $$ BEGIN NEW.count = NEW.count + 1; RETURN NEW; END; $$
+ - CREATE TRIGGER update_test_table1_varchar_json_col5_16_3_trigger BEFORE UPDATE on update_test_table1_varchar_json_col5_16_3 FOR EACH ROW EXECUTE PROCEDURE trigger_function()
+
+
+ cleanup:
+ - drop table if exists update_test_table1_varchar_json_col5_16_1;
+ - drop table if exists update_test_table1_varchar_json_col5_16_2;
+ - drop table if exists update_test_table1_varchar_json_col5_16_3;
+
+
+ loadRules:
+
+ - table: update_test_table1_varchar_json_col5_16_
+ count: 3
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: vcol1
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: vcol2
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: vcol3
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: vcol4
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: vcol5
+ util: RandomAString
+ params: [ 255, 255 ]
+ - name: col1
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: col2
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: col3
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: col4
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: col5
+ util: RandomJson
+ params: [ 5, 16 ]
+ - name: count
+ util: RandomNumber
+ params: [1, 5]
+ executeRules:
+
+ - workload: update_test_table1_varchar_json_col5_16_1
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: insert into update_test_table1_varchar_json_col5_16_1 (id,vcol1,vcol2,vcol3,vcol4,vcol5,col1,col2,col3,col4,col5,count) VALUES (?,?,?,?,?,?,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?)
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 100001, 10000000 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - query: select vcol2 from update_test_table1_varchar_json_col5_16_1 where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+ - query: update update_test_table1_varchar_json_col5_16_1 set vcol1 = ?, col2 = ? ::jsonb, count = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+
+
+ - workload: update_test_table1_varchar_json_col5_16_2
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: insert into update_test_table1_varchar_json_col5_16_2 (id,vcol1,vcol2,vcol3,vcol4,vcol5,col1,col2,col3,col4,col5,count) VALUES (?,?,?,?,?,?,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?)
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 100001, 10000000 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - query: select vcol2 from update_test_table1_varchar_json_col5_16_2 where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+ - query: update update_test_table1_varchar_json_col5_16_2 set vcol1 = ?, col2 = ? ::jsonb, count = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+
+ - workload: update_test_table1_varchar_json_col5_16_3
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: insert into update_test_table1_varchar_json_col5_16_3 (id,vcol1,vcol2,vcol3,vcol4,vcol5,col1,col2,col3,col4,col5,count) VALUES (?,?,?,?,?,?,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?)
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 100001, 10000000 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - query: select vcol2 from update_test_table1_varchar_json_col5_16_3 where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+ - query: update update_test_table1_varchar_json_col5_16_3 set vcol1 = ?, col2 = ? ::jsonb, count = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+
+ - workload: update_test_table1_varchar_json_col5_16_4
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: insert into update_test_table1_varchar_json_col5_16_3 (id,vcol1,vcol2,vcol3,vcol4,vcol5,col1,col2,col3,col4,col5,count) VALUES (?,?,?,?,?,?,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?::jsonb,?)
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 100001, 10000000 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - query: select vcol2 from update_test_table1_varchar_json_col5_16_3 where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 100000 ]
+ - query: update update_test_table1_varchar_json_col5_16_3 set vcol1 = ?, vcol2 = ?, vcol3 = ?, col1 = ? ::jsonb, col2 = ? ::jsonb, col3 = ? ::jsonb, count = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomAString
+ params: [ 255, 255 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomJson
+ params: [ 5, 16 ]
+ - util: RandomNumber
+ params: [1, 5]
+ - util: RandomNumber
+ params: [ 1, 100000 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/yugabyte/default_sequence_caching.yaml b/config/yugabyte/regression_pipelines/miscellaneous/yugabyte/default_sequence_caching.yaml
new file mode 100644
index 000000000..efc0c3509
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/yugabyte/default_sequence_caching.yaml
@@ -0,0 +1,76 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop sequence if exists seq1;
+ - create sequence seq1;
+ - drop table if exists seq_test_1;
+ - create table seq_test_1 (id serial, col_int_1 int, col_int_2 int, col_int_3 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ cleanup:
+ - drop sequence if exists seq1;
+ - drop table if exists seq_test_1;
+ loadRules:
+ - table: seq_test_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_int_
+ count: 3
+ util: RandomNumber
+ params:
+ - 1
+ - 1000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: concurrent_nextval
+ run:
+ - name: concurrent_nextval
+ weight: 100
+ queries:
+ - query: select nextval('seq1')
+
+ - workload: concurrent_insert_with_serial_pkey
+ run:
+ - name: concurrent_insert_with_serial_pkey
+ weight: 100
+ queries:
+ - query: INSERT INTO seq_test_1 (col_int_1, col_int_2, col_int_3, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?,?,?,?,?,?,?,?)
+ bindings:
+ - util: RandomNumber
+ count: 3
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
diff --git a/config/yugabyte/regression_pipelines/miscellaneous/yugabyte/retention_impact.yaml b/config/yugabyte/regression_pipelines/miscellaneous/yugabyte/retention_impact.yaml
new file mode 100644
index 000000000..56be35f5a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/miscellaneous/yugabyte/retention_impact.yaml
@@ -0,0 +1,175 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 6
+collect_pg_stat_statements: true
+yaml_version: v1.0
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 3600
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS nets_1;
+ - create table nets_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key ((db_user_id_1, shard_id_1) HASH, op_id_1 ASC));
+
+ cleanup:
+ - drop table IF EXISTS nets_1;
+
+ loadRules:
+ - table: nets_
+ count: 1
+ rows: 100000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ executeRules:
+ - workload: Retention_pre_workload_run1
+ time_secs: 300
+ run:
+ - name: NetG1_1_select_query
+ weight: 100
+ queries:
+ - query: select work_id_1,owner_1,state_1,sequence_id_1 from nets_1 where db_user_id_1 = ? and shard_id_1 = ANY(ARRAY[?,?,?,?])
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - util: RandomInt
+ params: [ 21, 30 ]
+ - util: RandomInt
+ params: [ 31, 40 ]
+ - util: RandomInt
+ params: [ 41, 50 ]
+ - workload: Retention_mixed_workload_run2
+ time_secs: 3600
+ run:
+ - name: NetG1_1_update_query
+ weight: 50
+ queries:
+ - query: UPDATE nets_1 SET shard_id_1 = shard_id_1 + 1 WHERE db_user_id_1 = ? and shard_id_1 = ?
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 21, 50 ]
+ - name: NetG1_2_delete_query
+ weight: 10
+ queries:
+ - query: delete from nets_1 where db_user_id_1 = ? and shard_id_1 = ?
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 150 , 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - name: NetG1_3_scan_query_pointselect
+ weight: 40
+ queries:
+ - query: select work_id_1,owner_1,state_1,sequence_id_1 from nets_1 where db_user_id_1 = ? and shard_id_1 = ANY(ARRAY[?,?,?,?])
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - util: RandomInt
+ params: [ 21, 30 ]
+ - util: RandomInt
+ params: [ 31, 40 ]
+ - util: RandomInt
+ params: [ 41, 50 ]
+ - workload: Retention_post_workload_run3
+ time_secs: 300
+ run:
+ - name: NetG1_1_select_query
+ weight: 100
+ queries:
+ - query: select work_id_1,owner_1,state_1,sequence_id_1 from nets_1 where db_user_id_1 = ? and shard_id_1 = ANY(ARRAY[?,?,?,?])
+ bindings:
+ - util: HashedRandomString
+ params: [ 1, 500, 10]
+ - util: RandomInt
+ params: [ 1, 20 ]
+ - util: RandomInt
+ params: [ 21, 30 ]
+ - util: RandomInt
+ params: [ 31, 40 ]
+ - util: RandomInt
+ params: [ 41, 50 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG2_index_filter_condition_type_impact.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG2_index_filter_condition_type_impact.yaml
new file mode 100644
index 000000000..3dfc8a819
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG2_index_filter_condition_type_impact.yaml
@@ -0,0 +1,98 @@
+#TEST FOR POSTGRES
+#GOAL2 Impact of index type on Orderby
+#TESTS:
+#Orderby clause with 1 filter condition on non indexed column of bigint datatype
+#Orderby clause with 1 filter condition on pkey of bigint datatype
+#Orderby clause on with 1 filter condition secondary indexed column of bigint datatype
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: ORDG2_ordby_bigint_non_indexed_column
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_3 from Indexed1M_1 where col_bigint_id_3>1 order by col_bigint_id_3
+ - workload: ORDG2_ordby_bigint_pkey_column
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_id_1>1 order by col_bigint_id_1
+ - workload: ORDG2_ordby_bigint_secondary_indexed_column
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from Indexed1M_1 where col_bigint_id_2>1 order by col_bigint_id_2
+ - workload: ORDG2_ordby_bigint_pkey_column_projectall
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select * from Indexed1M_1 where col_bigint_id_1>1 order by col_bigint_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG3_impact_of_datatype.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG3_impact_of_datatype.yaml
new file mode 100644
index 000000000..4864281e1
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG3_impact_of_datatype.yaml
@@ -0,0 +1,164 @@
+#TEST FOR POSTGRES
+#GOAL3 Impact of datatype on Orderby clause
+#TESTS:
+#Impact of orderby clause on PKEY of bigint datatype
+#Impact of orderby clause on PKEY of varchar datatype
+#Impact of orderby clause on PKEY of uuid datatype
+#Impact of orderby clause on PKEY of date datatype
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_1;
+ - DROP TABLE IF EXISTS pkeyUuid1M_1;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyVarchar1001M_1(col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_varchar100_pid_1));
+ - CREATE TABLE pkeyUuid1M_1(col_uuid_id_1 uuid, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_uuid_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_1;
+ - DROP TABLE IF EXISTS pkeyUuid1M_1;
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyVarchar1001M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_pid_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyUuid1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_uuid_id_
+ count: 1
+ util: RandomUUID
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: ORDG3_ordby_bigint_pkey_column
+ run:
+ - name: pg_ordby_bigint_pkey_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkeyBigint1M_1 order by col_bigint_id_1
+ - workload: ORDG3_ordby_varchar_pkey_column
+ run:
+ - name: pg_ordby_varchar_pkey_column
+ weight: 100
+ queries:
+ - query: select col_varchar100_pid_1 from pkeyVarchar1001M_1 order by col_varchar100_pid_1
+ - workload: ORDG3_ordby_uuid_pkey_column
+ run:
+ - name: pg_ordby_uuid_pkey_column
+ weight: 100
+ queries:
+ - query: select col_uuid_id_1 from pkeyUuid1M_1 order by col_uuid_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG4_impact_of_datatype_with_sec_ind.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG4_impact_of_datatype_with_sec_ind.yaml
new file mode 100644
index 000000000..b493da50b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG4_impact_of_datatype_with_sec_ind.yaml
@@ -0,0 +1,223 @@
+#TEST FOR POSTGRES
+#GOAL3 Impact of datatype on Orderby clause
+#TESTS:
+#Impact of orderby clause on SecIND of bigint datatype
+#Impact of orderby clause on SecIND of varchar datatype
+#Impact of orderby clause on SecIND of uuid datatype
+#Impact of orderby clause on SecIND of date datatype
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS indexedVarchar1001M_1;
+ - DROP TABLE IF EXISTS indexedUuid1M_1;
+ - DROP TABLE IF EXISTS indexedDate1M_1;
+ - CREATE TABLE indexedBigint1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint,col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE indexedVarchar1001M_1(col_bigint_id_1 bigint, col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE indexedUuid1M_1(col_bigint_id_1 bigint, col_uuid_id_1 uuid, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE indexedDate1M_1(col_bigint_id_1 bigint, col_date_id_1 date, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON indexedBigint1M_1(col_bigint_id_2);
+ - CREATE INDEX ON indexedVarchar1001M_1(col_varchar100_pid_1);
+ - CREATE INDEX ON indexedUuid1M_1(col_uuid_id_1);
+ - CREATE INDEX ON indexedDate1M_1(col_date_id_1);
+ cleanup:
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS indexedVarchar1001M_1;
+ - DROP TABLE IF EXISTS indexedUuid1M_1;
+ - DROP TABLE IF EXISTS indexedDate1M_1;
+ loadRules:
+ - table: indexedBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: indexedVarchar1001M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_varchar100_pid_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: indexedUuid1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_uuid_id_
+ count: 1
+ util: RandomUUID
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: indexedDate1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_date_id_
+ count: 1
+ util: RandomDateBtwYears
+ params: [1900, 2022]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: ORDG4_ordby_bigint_indexed_column
+ run:
+ - name: pg_ordby_bigint_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from indexedBigint1M_1 order by col_bigint_id_2
+ - workload: ORDG4_ordby_varchar_indexed_column
+ run:
+ - name: pg_ordby_varchar_indexed_column
+ weight: 100
+ queries:
+ - query: select col_varchar100_pid_1 from indexedVarchar1001M_1 order by col_varchar100_pid_1
+ - workload: ORDG4_ordby_uuid_indexed_column
+ run:
+ - name: pg_ordby_uuid_indexed_column
+ weight: 100
+ queries:
+ - query: select col_uuid_id_1 from indexedUuid1M_1 order by col_uuid_id_1
+ - workload: ORDG4_ordby_date_indexed_column
+ run:
+ - name: pg_ordby_date_indexed_column
+ weight: 100
+ queries:
+ - query: select col_date_id_1 from indexedDate1M_1 order by col_date_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG5_impact_of_datatype_with_sec_ind_desc.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG5_impact_of_datatype_with_sec_ind_desc.yaml
new file mode 100644
index 000000000..01ee7896c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG5_impact_of_datatype_with_sec_ind_desc.yaml
@@ -0,0 +1,226 @@
+#TEST FOR POSTGRES
+#GOAL3 Impact of datatype on Orderby clause
+#TESTS:
+#Impact of orderby clause on SecIND of bigint datatype
+#Impact of orderby clause on SecIND of varchar datatype
+#Impact of orderby clause on SecIND of uuid datatype
+#Impact of orderby clause on SecIND of date datatype
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS indexedVarchar1001M_1;
+ - DROP TABLE IF EXISTS indexedUuid1M_1;
+ - DROP TABLE IF EXISTS indexedDate1M_1;
+ - CREATE TABLE indexedBigint1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint,col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE indexedVarchar1001M_1(col_bigint_id_1 bigint, col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE indexedUuid1M_1(col_bigint_id_1 bigint, col_uuid_id_1 uuid, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE indexedDate1M_1(col_bigint_id_1 bigint, col_date_id_1 date, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON indexedBigint1M_1(col_bigint_id_2 DESC);
+ - CREATE INDEX ON indexedVarchar1001M_1(col_varchar100_pid_1 DESC);
+ - CREATE INDEX ON indexedUuid1M_1(col_uuid_id_1 DESC);
+ - CREATE INDEX ON indexedDate1M_1(col_date_id_1 DESC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS indexedVarchar1001M_1;
+ - DROP TABLE IF EXISTS indexedUuid1M_1;
+ - DROP TABLE IF EXISTS indexedDate1M_1;
+
+ loadRules:
+ - table: indexedBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+ - table: indexedVarchar1001M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_varchar100_pid_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+ - table: indexedUuid1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_uuid_id_
+ count: 1
+ util: RandomUUID
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+ - table: indexedDate1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_date_id_
+ count: 1
+ util: RandomDateBtwYears
+ params: [ 1900, 2022 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+ executeRules:
+ - workload: ORDG5_ordby_bigint_indexed_column_desc
+ customTags: customer=2
+ run:
+ - name: ordby_bigint_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from indexedBigint1M_1 order by col_bigint_id_2
+ - workload: ORDG5_ordby_varchar_indexed_column_desc
+ run:
+ - name: ordby_varchar_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_varchar100_pid_1 from indexedVarchar1001M_1 order by col_varchar100_pid_1
+ - workload: ORDG5_ordby_uuid_indexed_column_desc
+ run:
+ - name: ordby_uuid_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_uuid_id_1 from indexedUuid1M_1 order by col_uuid_id_1
+ - workload: ORDG5_ordby_date_indexed_column_desc
+ run:
+ - name: ordby_date_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_date_id_1 from indexedDate1M_1 order by col_date_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG6_impact_of_increasing_rows.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG6_impact_of_increasing_rows.yaml
new file mode 100644
index 000000000..48ce8c519
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG6_impact_of_increasing_rows.yaml
@@ -0,0 +1,120 @@
+#Impact of increasing rows on orderby clause
+#Orderby on 0.1M rows
+#Orderby on 10M rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: ORDG6_increasing_rows_1L
+ run:
+ - name: increasing_rows_1L
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkeyBigint1L_1 order by col_bigint_id_1
+ - workload: ORDG6_increasing_rows_10M
+ run:
+ - name: increasing_rows_10M
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkeyBigint10M_1 order by col_bigint_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG7_orderby_on_hash_partitioned_table.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG7_orderby_on_hash_partitioned_table.yaml
new file mode 100644
index 000000000..79b03a9ec
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG7_orderby_on_hash_partitioned_table.yaml
@@ -0,0 +1,170 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL7 Orderby on hash partitioned table
+#Orderby clause on non indexed column of bigint datatype
+#Orderby clause on hash pkey of bigint datatype
+#Orderby clause on hash secondary indexed column of bigint datatype
+#Orderby clause on range secondary indexed column of bigint datatype
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v2.0
+
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_3);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1010000 ]
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: ORDG7_ordby_bigint_non_indexed_column
+ customTags: customer=2,schematype=regular,partition=hash,cardinality=single,projection=nonindexed,queryshape=orderby,orderbyon=nonindexed
+ run:
+ - name: ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_4 from Indexed1M_1 order by col_bigint_id_4
+ - workload: ORDG7_ordby_bigint_hash_pkey_column
+ customTags: customer=2,schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=hashpkey,queryshape=orderby,orderbyon=hashpkey
+ run:
+ - name: ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 order by col_bigint_id_1
+ - workload: ORDG7_ordby_bigint_hash_pkey_with_filter_column
+ customTags: customer=1,schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkey
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_id_1>1 order by col_bigint_id_1
+ - workload: ORDG7_ordby_bigint_hash_secondary_indexed_column
+ customTags: schematype=regular,partition=hash,skey=hash,cardinality=single,projection=hashskey,queryshape=orderby,orderbyon=hashskey
+ run:
+ - name: ordby_bigint_secondary_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from Indexed1M_1 order by col_bigint_id_2
+ - workload: ORDG7_ordby_bigint_hash_secondary_indexed_with_filter_column
+ customTags: customer=1,schematype=regular,partition=hash,skey=hash,cardinality=single,projection=hashskey,filtercount=one,filteron=hashskey,filtertype=comparision,queryshape=orderby,orderbyon=hashskey
+ run:
+ - name: yb_ordby_bigint_secondary_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from Indexed1M_1 where col_bigint_id_2>1 order by col_bigint_id_2
+ - workload: ORDG7_ordby_bigint_range_secondary_indexed_column
+ customTags: schematype=regular,partition=hash,skey=asc,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_bigint_secondary_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_3 from Indexed1M_1 order by col_bigint_id_3
+ - workload: ORDG7_ordby_bigint_range_secondary_indexed_with_filter_column
+ customTags: customer=1,schematype=regular,partition=hash,skey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: yb_ordby_bigint_secondary_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_3 from Indexed1M_1 where col_bigint_id_3>1 order by col_bigint_id_3
+
+ - workload: ORDG7_ordby_bigint_hash_pkey_with_filter_column_desc
+ customTags: customer=1,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bigint_hash_pkey_with_filter_column_desc
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_id_1>1 order by col_bigint_id_1 DESC
+
+ - workload: ORDG7_ordby_bckwrd_ind_scan_pkey_filter
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bckwrd_ind_scan_pkey_filter
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card2_1<1000100 order by col_bigint_card2_1 DESC
+
+ - workload: ORDG7_ordby_fwd_ind_scan_pkey_filter
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_fwd_ind_scan_pkey_filter
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card2_1<1000100 order by col_bigint_card2_1
+
+ - workload: ORDG7_ordby_bckwrd_ind_scan_pkey_filter_full_tbl
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bckwrd_ind_scan_pkey_filter_full_tbl
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card3_1>1 order by col_bigint_card3_1 DESC
+
+ - workload: ORDG7_ordby_fwd_ind_scan_pkey_filter_full_tbl
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_fwd_ind_scan_pkey_filter_full_tbl
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card3_1>1 order by col_bigint_card3_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG8_orderby_backwardscan_post_updates.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG8_orderby_backwardscan_post_updates.yaml
new file mode 100644
index 000000000..eb563c5e2
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/postgres/ORDG8_orderby_backwardscan_post_updates.yaml
@@ -0,0 +1,246 @@
+#100000 col1 col2 col3 col4
+#Table1 1*1M 1000*1k 10000*100
+
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL7 Orderby on hash partitioned table
+#Orderby clause on non indexed column of bigint datatype
+#Orderby clause on hash pkey of bigint datatype
+#Orderby clause on hash secondary indexed column of bigint datatype
+#Orderby clause on range secondary indexed column of bigint datatype
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.2
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_3);
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - CREATE TABLE indexedBigint1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint,col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON indexedBigint1M_1(col_bigint_id_2 DESC);
+ - CREATE INDEX ON indexedBigint1M_1(col_bigint_id_3);
+ - DROP TABLE IF EXISTS Indexed1M_range_1;
+ - CREATE TABLE Indexed1M_range_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_range_1(col_bigint_id_2);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS Indexed1M_range_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1010001 ]
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: indexedBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+
+ - table: Indexed1M_range_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: ORDG8_1_ordby_bckwrd_ind_scan_pkey_filter
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bckwrd_ind_scan_pkey_filter
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1,col_bigint_id_2,col_bigint_card2_1,col_bigint_card3_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card2_1<1000100 order by col_bigint_card2_1 DESC
+
+ - workload: ORDG8_3_ordby_bigint_pkey_column_desc
+ customTags: schematype=colocated,partition=hash,cardinality=single,projection=rangepkey,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=orderby,orderbyon=rangepkeydesc
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_range_1 where col_bigint_id_1>1 order by col_bigint_id_1 DESC
+
+ - workload: ORDG8_1_perform_update_ordby_bckwrd_ind_scan_pkey_filter
+ skipReport: true
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bckwrd_ind_scan_pkey_filter
+ weight: 100
+ queries:
+ - query: update Indexed1M_1 set col_bigint_card3_1=? where col_bigint_card3_1=?
+ bindings:
+ - util: RandomNumber
+ params: [ 1000001, 1010001 ]
+ - util: RandomNumber
+ params: [ 1000001, 1010001 ]
+
+ - workload: ORDG8_2_perform_update_ordby_bigint_indexed_column_desc
+ skipReport: true
+ customTags: customer=2,schematype=regular,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_bigint_indexed_column_desc
+ weight: 100
+ queries:
+ - query: update indexedBigint1M_1 set col_bigint_id_3=? where col_bigint_id_3=?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: ORDG8_3_perform_update_ordby_bigint_pkey_column_desc
+ skipReport: true
+ customTags: schematype=colocated,partition=hash,cardinality=single,projection=rangepkey,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=orderby,orderbyon=rangepkeydesc
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: update Indexed1M_range_1 set col_bigint_id_2 = ? where col_bigint_id_2 = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: ORDG8_1_post_update_ordby_bckwrd_ind_scan_pkey_filter
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bckwrd_ind_scan_pkey_filter
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1,col_bigint_id_2,col_bigint_card2_1,col_bigint_card3_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card2_1<1000100 order by col_bigint_card2_1 DESC
+
+ - workload: ORDG8_2_post_update_ordby_bigint_indexed_column_desc
+ customTags: customer=2,schematype=regular,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_bigint_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from indexedBigint1M_1 order by col_bigint_id_2
+
+ - workload: ORDG8_3_post_update_ordby_bigint_pkey_column_desc
+ customTags: schematype=colocated,partition=hash,cardinality=single,projection=rangepkey,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=orderby,orderbyon=rangepkeydesc
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_range_1 where col_bigint_id_1>1 order by col_bigint_id_1 DESC
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG2_index_filter_condition_type_impact.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG2_index_filter_condition_type_impact.yaml
new file mode 100644
index 000000000..e5b74618f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG2_index_filter_condition_type_impact.yaml
@@ -0,0 +1,104 @@
+#TEST FOR YUGABYTE Colocated TABLES
+#GOAL2 Impact of index type on Orderby
+#TESTS:
+#Orderby clause with 1 filter condition on non indexed column of bigint datatype
+#Orderby clause with 1 filter condition on pkey of bigint datatype
+#Orderby clause on with 1 filter condition secondary indexed column of bigint datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: ORDG2_ordby_bigint_non_indexed_column
+ customTags: schematype=regular,partition=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=orderby,orderbyon=nonindexed
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_3 from Indexed1M_1 where col_bigint_id_3>1 order by col_bigint_id_3
+ - workload: ORDG2_ordby_bigint_pkey_column
+ customTags: schematype=regular,partition=hash,cardinality=single,projection=rangepkey,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_id_1>1 order by col_bigint_id_1
+ - workload: ORDG2_ordby_bigint_secondary_indexed_column
+ customTags: schematype=regular,partition=hash,cardinality=single,projection=rangeskey,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from Indexed1M_1 where col_bigint_id_2>1 order by col_bigint_id_2
+ - workload: ORDG2_ordby_bigint_pkey_column_projectall
+ customTags: schematype=regular,partition=hash,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select * from Indexed1M_1 where col_bigint_id_1>1 order by col_bigint_id_1
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG3_impact_of_datatype.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG3_impact_of_datatype.yaml
new file mode 100644
index 000000000..b54f41894
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG3_impact_of_datatype.yaml
@@ -0,0 +1,168 @@
+#TEST FOR YUGABYTE Colocated TABLES
+#GOAL3 Impact of datatype on Orderby clause
+#TESTS:
+#Impact of orderby clause on PKEY of bigint datatype
+#Impact of orderby clause on PKEY of varchar datatype
+#Impact of orderby clause on PKEY of uuid datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_1;
+ - DROP TABLE IF EXISTS pkeyUuid1M_1;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyVarchar1001M_1(col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_varchar100_pid_1));
+ - CREATE TABLE pkeyUuid1M_1(col_uuid_id_1 uuid, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_uuid_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_1;
+ - DROP TABLE IF EXISTS pkeyUuid1M_1;
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyVarchar1001M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_pid_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyUuid1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_uuid_id_
+ count: 1
+ util: RandomUUID
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: ORDG3_ordby_bigint_pkey_column
+ customTags: schematype=colocated,partition=range,pkey=asc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: ybc_ordby_bigint_pkey_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkeyBigint1M_1 order by col_bigint_id_1
+ - workload: ORDG3_ordby_varchar_pkey_column
+ customTags: schematype=colocated,partition=range,pkey=asc,columndatatype=varchar,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: ybc_ordby_varchar_pkey_column
+ weight: 100
+ queries:
+ - query: select col_varchar100_pid_1 from pkeyVarchar1001M_1 order by col_varchar100_pid_1
+ - workload: ORDG3_ordby_uuid_pkey_column
+ customTags: schematype=colocated,partition=range,pkey=asc,columndatatype=uuid,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: ybc_ordby_uuid_pkey_column
+ weight: 100
+ queries:
+ - query: select col_uuid_id_1 from pkeyUuid1M_1 order by col_uuid_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG4_impact_of_datatype_with_sec_ind.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG4_impact_of_datatype_with_sec_ind.yaml
new file mode 100644
index 000000000..093dc9184
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG4_impact_of_datatype_with_sec_ind.yaml
@@ -0,0 +1,229 @@
+#TEST FOR YUGABYTE Colocated TABLES
+#GOAL3 Impact of datatype on Orderby clause
+#TESTS:
+#Impact of orderby clause on SecIND of bigint datatype
+#Impact of orderby clause on SecIND of varchar datatype
+#Impact of orderby clause on SecIND of uuid datatype
+#Impact of orderby clause on SecIND of date datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS indexedVarchar1001M_1;
+ - DROP TABLE IF EXISTS indexedUuid1M_1;
+ - DROP TABLE IF EXISTS indexedDate1M_1;
+ - CREATE TABLE indexedBigint1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint,col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE indexedVarchar1001M_1(col_bigint_id_1 bigint, col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE indexedUuid1M_1(col_bigint_id_1 bigint, col_uuid_id_1 uuid, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE indexedDate1M_1(col_bigint_id_1 bigint, col_date_id_1 date, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON indexedBigint1M_1(col_bigint_id_2);
+ - CREATE INDEX ON indexedVarchar1001M_1(col_varchar100_pid_1);
+ - CREATE INDEX ON indexedUuid1M_1(col_uuid_id_1);
+ - CREATE INDEX ON indexedDate1M_1(col_date_id_1);
+ cleanup:
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS indexedVarchar1001M_1;
+ - DROP TABLE IF EXISTS indexedUuid1M_1;
+ - DROP TABLE IF EXISTS indexedDate1M_1;
+ loadRules:
+ - table: indexedBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: indexedVarchar1001M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_varchar100_pid_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: indexedUuid1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_uuid_id_
+ count: 1
+ util: RandomUUID
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: indexedDate1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_date_id_
+ count: 1
+ util: RandomDateBtwYears
+ params: [1900, 2022]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ executeRules:
+ - workload: ORDG4_ordby_bigint_indexed_column
+ customTags: schematype=colocated,partition=range,skey=asc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ybc_ordby_bigint_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from indexedBigint1M_1 order by col_bigint_id_2
+ - workload: ORDG4_ordby_varchar_indexed_column
+ customTags: schematype=colocated,partition=range,skey=asc,columndatatype=varchar,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ybc_ordby_varchar_indexed_column
+ weight: 100
+ queries:
+ - query: select col_varchar100_pid_1 from indexedVarchar1001M_1 order by col_varchar100_pid_1
+ - workload: ORDG4_ordby_uuid_indexed_column
+ customTags: schematype=colocated,partition=range,skey=asc,columndatatype=uuid,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ybc_ordby_uuid_indexed_column
+ weight: 100
+ queries:
+ - query: select col_uuid_id_1 from indexedUuid1M_1 order by col_uuid_id_1
+ - workload: ORDG4_ordby_date_indexed_column
+ customTags: schematype=colocated,partition=range,skey=asc,columndatatype=date,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ybc_ordby_date_indexed_column
+ weight: 100
+ queries:
+ - query: select col_date_id_1 from indexedDate1M_1 order by col_date_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG5_impact_of_datatype_with_sec_ind_desc.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG5_impact_of_datatype_with_sec_ind_desc.yaml
new file mode 100644
index 000000000..cdb9f9822
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG5_impact_of_datatype_with_sec_ind_desc.yaml
@@ -0,0 +1,231 @@
+#TEST FOR YUGABYTE Colocated TABLES
+#GOAL5 Impact of datatype on Orderby clause
+#TESTS:
+#Impact of orderby clause on SecIND(DESC) of bigint datatype
+#Impact of orderby clause on SecIND(DESC) of varchar datatype
+#Impact of orderby clause on SecIND(DESC) of uuid datatype
+#Impact of orderby clause on SecIND(DESC) of date datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS indexedVarchar1001M_1;
+ - DROP TABLE IF EXISTS indexedUuid1M_1;
+ - DROP TABLE IF EXISTS indexedDate1M_1;
+ - CREATE TABLE indexedBigint1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint,col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE indexedVarchar1001M_1(col_bigint_id_1 bigint, col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE indexedUuid1M_1(col_bigint_id_1 bigint, col_uuid_id_1 uuid, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE indexedDate1M_1(col_bigint_id_1 bigint, col_date_id_1 date, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON indexedBigint1M_1(col_bigint_id_2 DESC);
+ - CREATE INDEX ON indexedVarchar1001M_1(col_varchar100_pid_1 DESC);
+ - CREATE INDEX ON indexedUuid1M_1(col_uuid_id_1 DESC);
+ - CREATE INDEX ON indexedDate1M_1(col_date_id_1 DESC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS indexedVarchar1001M_1;
+ - DROP TABLE IF EXISTS indexedUuid1M_1;
+ - DROP TABLE IF EXISTS indexedDate1M_1;
+
+ loadRules:
+ - table: indexedBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+ - table: indexedVarchar1001M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_varchar100_pid_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+ - table: indexedUuid1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_uuid_id_
+ count: 1
+ util: RandomUUID
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+ - table: indexedDate1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_date_id_
+ count: 1
+ util: RandomDateBtwYears
+ params: [ 1900, 2022 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+ executeRules:
+ - workload: ORDG5_ordby_bigint_indexed_column_desc
+ customTags: customer=2,schematype=colocated,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_bigint_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from indexedBigint1M_1 order by col_bigint_id_2
+ - workload: ORDG5_ordby_varchar_indexed_column_desc
+ customTags: schematype=colocated,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_varchar_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_varchar100_pid_1 from indexedVarchar1001M_1 order by col_varchar100_pid_1
+ - workload: ORDG5_ordby_uuid_indexed_column_desc
+ customTags: schematype=colocated,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_uuid_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_uuid_id_1 from indexedUuid1M_1 order by col_uuid_id_1
+ - workload: ORDG5_ordby_date_indexed_column_desc
+ customTags: schematype=colocated,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_date_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_date_id_1 from indexedDate1M_1 order by col_date_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG6_impact_of_increasing_rows.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG6_impact_of_increasing_rows.yaml
new file mode 100644
index 000000000..10a86d722
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG6_impact_of_increasing_rows.yaml
@@ -0,0 +1,124 @@
+#Impact of increasing rows on orderby clause
+#Orderby on 0.1M rows
+#Orderby on 10M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: ORDG6_increasing_rows_1L
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: increasing_rows_1L
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkeyBigint1L_1 order by col_bigint_id_1
+ - workload: ORDG6_increasing_rows_10M
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: increasing_rows_10M
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkeyBigint10M_1 order by col_bigint_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG8_orderby_backwardscan_post_updates.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG8_orderby_backwardscan_post_updates.yaml
new file mode 100644
index 000000000..bab12c191
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/yb_colocated/ORDG8_orderby_backwardscan_post_updates.yaml
@@ -0,0 +1,248 @@
+#100000 col1 col2 col3 col4
+#Table1 1*1M 1000*1k 10000*100
+
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL7 Orderby on hash partitioned table
+#Orderby clause on non indexed column of bigint datatype
+#Orderby clause on hash pkey of bigint datatype
+#Orderby clause on hash secondary indexed column of bigint datatype
+#Orderby clause on range secondary indexed column of bigint datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.2
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_3 ASC);
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - CREATE TABLE indexedBigint1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint,col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON indexedBigint1M_1(col_bigint_id_2 DESC);
+ - CREATE INDEX ON indexedBigint1M_1(col_bigint_id_3);
+ - DROP TABLE IF EXISTS Indexed1M_range_1;
+ - CREATE TABLE Indexed1M_range_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON Indexed1M_range_1(col_bigint_id_2 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS Indexed1M_range_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1010001 ]
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: indexedBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+
+ - table: Indexed1M_range_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: ORDG8_1_ordby_bckwrd_ind_scan_pkey_filter
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bckwrd_ind_scan_pkey_filter
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1,col_bigint_id_2,col_bigint_card2_1,col_bigint_card3_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card2_1<1000100 order by col_bigint_card2_1 DESC
+
+ - workload: ORDG8_3_ordby_bigint_pkey_column_desc
+ customTags: schematype=colocated,partition=hash,cardinality=single,projection=rangepkey,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=orderby,orderbyon=rangepkeydesc
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_range_1 where col_bigint_id_1>1 order by col_bigint_id_1 DESC
+
+ - workload: ORDG8_1_perform_update_ordby_bckwrd_ind_scan_pkey_filter
+ skipReport: true
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bckwrd_ind_scan_pkey_filter
+ weight: 100
+ queries:
+ - query: update Indexed1M_1 set col_bigint_card3_1=? where col_bigint_card3_1=?
+ bindings:
+ - util: RandomNumber
+ params: [ 1000001, 1010001 ]
+ - util: RandomNumber
+ params: [ 1000001, 1010001 ]
+
+ - workload: ORDG8_2_perform_update_ordby_bigint_indexed_column_desc
+ skipReport: true
+ customTags: customer=2,schematype=regular,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_bigint_indexed_column_desc
+ weight: 100
+ queries:
+ - query: update indexedBigint1M_1 set col_bigint_id_3=? where col_bigint_id_3=?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: ORDG8_3_perform_update_ordby_bigint_pkey_column_desc
+ skipReport: true
+ customTags: schematype=colocated,partition=hash,cardinality=single,projection=rangepkey,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=orderby,orderbyon=rangepkeydesc
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: update Indexed1M_range_1 set col_bigint_id_2 = ? where col_bigint_id_2 = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: ORDG8_1_post_update_ordby_bckwrd_ind_scan_pkey_filter
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bckwrd_ind_scan_pkey_filter
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1,col_bigint_id_2,col_bigint_card2_1,col_bigint_card3_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card2_1<1000100 order by col_bigint_card2_1 DESC
+
+ - workload: ORDG8_2_post_update_ordby_bigint_indexed_column_desc
+ customTags: customer=2,schematype=regular,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_bigint_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from indexedBigint1M_1 order by col_bigint_id_2
+
+ - workload: ORDG8_3_post_update_ordby_bigint_pkey_column_desc
+ customTags: schematype=colocated,partition=hash,cardinality=single,projection=rangepkey,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=orderby,orderbyon=rangepkeydesc
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_range_1 where col_bigint_id_1>1 order by col_bigint_id_1 DESC
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG2_index_filter_condition_type_impact.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG2_index_filter_condition_type_impact.yaml
new file mode 100644
index 000000000..7f83e63bd
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG2_index_filter_condition_type_impact.yaml
@@ -0,0 +1,103 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL12 Impact of index type on Orderby
+#TESTS:
+#Orderby clause with 1 filter condition on non indexed column of bigint datatype
+#Orderby clause with 1 filter condition on pkey of bigint datatype
+#Orderby clause on with 1 filter condition secondary indexed column of bigint datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: ORDG2_ordby_bigint_non_indexed_column
+ customTags: schematype=colocated,partition=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=orderby,orderbyon=nonindexed
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_3 from Indexed1M_1 where col_bigint_id_3>1 order by col_bigint_id_3
+ - workload: ORDG2_ordby_bigint_pkey_column
+ customTags: schematype=colocated,partition=hash,cardinality=single,projection=rangepkey,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_id_1>1 order by col_bigint_id_1
+ - workload: ORDG2_ordby_bigint_secondary_indexed_column
+ customTags: schematype=colocated,partition=hash,cardinality=single,projection=rangeskey,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from Indexed1M_1 where col_bigint_id_2>1 order by col_bigint_id_2
+ - workload: ORDG2_ordby_bigint_pkey_column_projectall
+ customTags: schematype=colocated,partition=hash,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select * from Indexed1M_1 where col_bigint_id_1>1 order by col_bigint_id_1
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG3_impact_of_datatype.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG3_impact_of_datatype.yaml
new file mode 100644
index 000000000..e287a3aa6
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG3_impact_of_datatype.yaml
@@ -0,0 +1,167 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL3 Impact of datatype on Orderby clause
+#TESTS:
+#Impact of orderby clause on PKEY of bigint datatype
+#Impact of orderby clause on PKEY of varchar datatype
+#Impact of orderby clause on PKEY of uuid datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_1;
+ - DROP TABLE IF EXISTS pkeyUuid1M_1;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyVarchar1001M_1(col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_varchar100_pid_1 ASC));
+ - CREATE TABLE pkeyUuid1M_1(col_uuid_id_1 uuid, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_uuid_id_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1;
+ - DROP TABLE IF EXISTS pkeyVarchar1001M_1;
+ - DROP TABLE IF EXISTS pkeyUuid1M_1;
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyVarchar1001M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_pid_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyUuid1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_uuid_id_
+ count: 1
+ util: RandomUUID
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: ORDG3_ordby_bigint_pkey_column
+ customTags: schematype=regular,partition=range,pkey=asc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: yb_ordby_bigint_pkey_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkeyBigint1M_1 order by col_bigint_id_1
+ - workload: ORDG3_ordby_varchar_pkey_column
+ customTags: schematype=regular,partition=range,pkey=asc,columndatatype=varchar,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: yb_ordby_varchar_pkey_column
+ weight: 100
+ queries:
+ - query: select col_varchar100_pid_1 from pkeyVarchar1001M_1 order by col_varchar100_pid_1
+ - workload: ORDG3_ordby_uuid_pkey_column
+ customTags: schematype=regular,partition=range,pkey=asc,columndatatype=uuid,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: yb_ordby_uuid_pkey_column
+ weight: 100
+ queries:
+ - query: select col_uuid_id_1 from pkeyUuid1M_1 order by col_uuid_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG4_impact_of_datatype_with_sec_ind.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG4_impact_of_datatype_with_sec_ind.yaml
new file mode 100644
index 000000000..1c769f50e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG4_impact_of_datatype_with_sec_ind.yaml
@@ -0,0 +1,231 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL3 Impact of datatype on Orderby clause
+#TESTS:
+#Impact of orderby clause on SecIND of bigint datatype
+#Impact of orderby clause on SecIND of varchar datatype
+#Impact of orderby clause on SecIND of uuid datatype
+#Impact of orderby clause on SecIND of date datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS indexedVarchar1001M_1;
+ - DROP TABLE IF EXISTS indexedUuid1M_1;
+ - DROP TABLE IF EXISTS indexedDate1M_1;
+
+ - CREATE TABLE indexedBigint1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint,col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE indexedVarchar1001M_1(col_bigint_id_1 bigint, col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE indexedUuid1M_1(col_bigint_id_1 bigint, col_uuid_id_1 uuid, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE indexedDate1M_1(col_bigint_id_1 bigint, col_date_id_1 date, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON indexedBigint1M_1(col_bigint_id_2 ASC);
+ - CREATE INDEX ON indexedVarchar1001M_1(col_varchar100_pid_1 ASC);
+ - CREATE INDEX ON indexedUuid1M_1(col_uuid_id_1 ASC);
+ - CREATE INDEX ON indexedDate1M_1(col_date_id_1 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS indexedVarchar1001M_1;
+ - DROP TABLE IF EXISTS indexedUuid1M_1;
+ - DROP TABLE IF EXISTS indexedDate1M_1;
+ loadRules:
+ - table: indexedBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: indexedVarchar1001M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_varchar100_pid_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: indexedUuid1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_uuid_id_
+ count: 1
+ util: RandomUUID
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: indexedDate1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_date_id_
+ count: 1
+ util: RandomDateBtwYears
+ params: [1900, 2022]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: ORDG4_ordby_bigint_indexed_column
+ customTags: schematype=regular,partition=range,skey=asc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: yb_ordby_bigint_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from indexedBigint1M_1 order by col_bigint_id_2
+ - workload: ORDG4_ordby_varchar_indexed_column
+ customTags: schematype=regular,partition=range,skey=asc,columndatatype=varchar,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: yb_ordby_varchar_indexed_column
+ weight: 100
+ queries:
+ - query: select col_varchar100_pid_1 from indexedVarchar1001M_1 order by col_varchar100_pid_1
+ - workload: ORDG4_ordby_uuid_indexed_column
+ customTags: schematype=regular,partition=range,skey=asc,columndatatype=uuid,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: yb_ordby_uuid_indexed_column
+ weight: 100
+ queries:
+ - query: select col_uuid_id_1 from indexedUuid1M_1 order by col_uuid_id_1
+ - workload: ORDG4_ordby_date_indexed_column
+ customTags: schematype=regular,partition=range,skey=asc,columndatatype=date,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: yb_ordby_date_indexed_column
+ weight: 100
+ queries:
+ - query: select col_date_id_1 from indexedDate1M_1 order by col_date_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG5_impact_of_datatype_with_sec_ind_desc.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG5_impact_of_datatype_with_sec_ind_desc.yaml
new file mode 100644
index 000000000..c348a53ab
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG5_impact_of_datatype_with_sec_ind_desc.yaml
@@ -0,0 +1,230 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL3 Impact of datatype on Orderby clause
+#TESTS:
+#Impact of orderby clause on SecIND(DESC) of bigint datatype
+#Impact of orderby clause on SecIND(DESC) of varchar datatype
+#Impact of orderby clause on SecIND(DESC) of uuid datatype
+#Impact of orderby clause on SecIND(DESC) of date datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS indexedVarchar1001M_1;
+ - DROP TABLE IF EXISTS indexedUuid1M_1;
+ - DROP TABLE IF EXISTS indexedDate1M_1;
+ - CREATE TABLE indexedBigint1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint,col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE indexedVarchar1001M_1(col_bigint_id_1 bigint, col_varchar100_pid_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE indexedUuid1M_1(col_bigint_id_1 bigint, col_uuid_id_1 uuid, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE indexedDate1M_1(col_bigint_id_1 bigint, col_date_id_1 date, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON indexedBigint1M_1(col_bigint_id_2 DESC);
+ - CREATE INDEX ON indexedVarchar1001M_1(col_varchar100_pid_1 DESC);
+ - CREATE INDEX ON indexedUuid1M_1(col_uuid_id_1 DESC);
+ - CREATE INDEX ON indexedDate1M_1(col_date_id_1 DESC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS indexedVarchar1001M_1;
+ - DROP TABLE IF EXISTS indexedUuid1M_1;
+ - DROP TABLE IF EXISTS indexedDate1M_1;
+
+ loadRules:
+ - table: indexedBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+ - table: indexedVarchar1001M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_varchar100_pid_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+ - table: indexedUuid1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_uuid_id_
+ count: 1
+ util: RandomUUID
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+ - table: indexedDate1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_date_id_
+ count: 1
+ util: RandomDateBtwYears
+ params: [ 1900, 2022 ]
+ - name: col_bigint_
+ count: 4
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+ executeRules:
+ - workload: ORDG5_ordby_bigint_indexed_column_desc
+ customTags: customer=2,schematype=regular,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_bigint_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from indexedBigint1M_1 order by col_bigint_id_2
+ - workload: ORDG5_ordby_varchar_indexed_column_desc
+ customTags: schematype=regular,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_varchar_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_varchar100_pid_1 from indexedVarchar1001M_1 order by col_varchar100_pid_1
+ - workload: ORDG5_ordby_uuid_indexed_column_desc
+ customTags: schematype=regular,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_uuid_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_uuid_id_1 from indexedUuid1M_1 order by col_uuid_id_1
+ - workload: ORDG5_ordby_date_indexed_column_desc
+ customTags: schematype=regular,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_date_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_date_id_1 from indexedDate1M_1 order by col_date_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG6_impact_of_increasing_rows.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG6_impact_of_increasing_rows.yaml
new file mode 100644
index 000000000..4588e9657
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG6_impact_of_increasing_rows.yaml
@@ -0,0 +1,124 @@
+#Impact of increasing rows on orderby clause
+#Orderby on 0.1M rows
+#Orderby on 10M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+
+
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+ - CREATE TABLE pkeyBigint1L_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkeyBigint10M_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1L_1;
+ - DROP TABLE IF EXISTS pkeyBigint10M_1;
+
+ loadRules:
+ - table: pkeyBigint1L_
+ count: 1
+ rows: 100000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 100000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 100000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - table: pkeyBigint10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [ 1, 10000000 ]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [ 1, 10000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 10000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+ - workload: ORDG6_increasing_rows_1L
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: increasing_rows_1L
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkeyBigint1L_1 order by col_bigint_id_1
+ - workload: ORDG6_increasing_rows_10M
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangepkey
+ run:
+ - name: increasing_rows_10M
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkeyBigint10M_1 order by col_bigint_id_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG7_orderby_on_hash_partitioned_table.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG7_orderby_on_hash_partitioned_table.yaml
new file mode 100644
index 000000000..9251c7fe0
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG7_orderby_on_hash_partitioned_table.yaml
@@ -0,0 +1,174 @@
+#100000 col1 col2 col3 col4
+#Table1 1*1M 1000*1k 10000*100
+
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL7 Orderby on hash partitioned table
+#Orderby clause on non indexed column of bigint datatype
+#Orderby clause on hash pkey of bigint datatype
+#Orderby clause on hash secondary indexed column of bigint datatype
+#Orderby clause on range secondary indexed column of bigint datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v2.0
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_3 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: CyclicSeqIntGen
+ params: [ 1000001, 1010000 ]
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+
+ executeRules:
+ - workload: ORDG7_ordby_bigint_non_indexed_column
+ customTags: customer=2,schematype=regular,partition=hash,cardinality=single,projection=nonindexed,queryshape=orderby,orderbyon=nonindexed
+ run:
+ - name: ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_4 from Indexed1M_1 order by col_bigint_id_4
+ - workload: ORDG7_ordby_bigint_hash_pkey_column
+ customTags: customer=2,schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=hashpkey,queryshape=orderby,orderbyon=hashpkey
+ run:
+ - name: ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 order by col_bigint_id_1
+ - workload: ORDG7_ordby_bigint_hash_pkey_with_filter_column
+ customTags: customer=1,schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkey
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_id_1>1 order by col_bigint_id_1
+ - workload: ORDG7_ordby_bigint_hash_secondary_indexed_column
+ customTags: schematype=regular,partition=hash,skey=hash,cardinality=single,projection=hashskey,queryshape=orderby,orderbyon=hashskey
+ run:
+ - name: ordby_bigint_secondary_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from Indexed1M_1 order by col_bigint_id_2
+ - workload: ORDG7_ordby_bigint_hash_secondary_indexed_with_filter_column
+ customTags: customer=1,schematype=regular,partition=hash,skey=hash,cardinality=single,projection=hashskey,filtercount=one,filteron=hashskey,filtertype=comparision,queryshape=orderby,orderbyon=hashskey
+ run:
+ - name: yb_ordby_bigint_secondary_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from Indexed1M_1 where col_bigint_id_2>1 order by col_bigint_id_2
+ - workload: ORDG7_ordby_bigint_range_secondary_indexed_column
+ customTags: schematype=regular,partition=hash,skey=asc,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_bigint_secondary_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_3 from Indexed1M_1 order by col_bigint_id_3
+ - workload: ORDG7_ordby_bigint_range_secondary_indexed_with_filter_column
+ customTags: customer=1,schematype=regular,partition=hash,skey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: yb_ordby_bigint_secondary_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_3 from Indexed1M_1 where col_bigint_id_3>1 order by col_bigint_id_3
+
+ - workload: ORDG7_ordby_bigint_hash_pkey_with_filter_column_desc
+ customTags: customer=1,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bigint_hash_pkey_with_filter_column_desc
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_id_1>1 order by col_bigint_id_1 DESC
+
+ - workload: ORDG7_ordby_bckwrd_ind_scan_pkey_filter
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bckwrd_ind_scan_pkey_filter
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card2_1<1000100 order by col_bigint_card2_1 DESC
+
+ - workload: ORDG7_ordby_fwd_ind_scan_pkey_filter
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_fwd_ind_scan_pkey_filter
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card2_1<1000100 order by col_bigint_card2_1
+
+ - workload: ORDG7_ordby_bckwrd_ind_scan_pkey_filter_full_tbl
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bckwrd_ind_scan_pkey_filter_full_tbl
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card3_1>1 order by col_bigint_card3_1 DESC
+
+ - workload: ORDG7_ordby_fwd_ind_scan_pkey_filter_full_tbl
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_fwd_ind_scan_pkey_filter_full_tbl
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card3_1>1 order by col_bigint_card3_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG8_orderby_backwardscan_post_updates.yaml b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG8_orderby_backwardscan_post_updates.yaml
new file mode 100644
index 000000000..c7dc7bb3a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/orderby_workloads/yugabyte/ORDG8_orderby_backwardscan_post_updates.yaml
@@ -0,0 +1,247 @@
+#100000 col1 col2 col3 col4
+#Table1 1*1M 1000*1k 10000*100
+
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL7 Orderby on hash partitioned table
+#Orderby clause on non indexed column of bigint datatype
+#Orderby clause on hash pkey of bigint datatype
+#Orderby clause on hash secondary indexed column of bigint datatype
+#Orderby clause on range secondary indexed column of bigint datatype
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.2
+use_dist_in_explain : true
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+
+ create:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - CREATE TABLE Indexed1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_card1_1, col_bigint_card2_1, col_bigint_card3_1, col_bigint_id_1));
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_2);
+ - CREATE INDEX ON Indexed1M_1(col_bigint_id_3 ASC);
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - CREATE TABLE indexedBigint1M_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint,col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON indexedBigint1M_1(col_bigint_id_2 DESC);
+ - CREATE INDEX ON indexedBigint1M_1(col_bigint_id_3);
+ - DROP TABLE IF EXISTS Indexed1M_range_1;
+ - CREATE TABLE Indexed1M_range_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON Indexed1M_range_1(col_bigint_id_2 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS Indexed1M_1;
+ - DROP TABLE IF EXISTS indexedBigint1M_1;
+ - DROP TABLE IF EXISTS Indexed1M_range_1;
+
+ loadRules:
+ - table: Indexed1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000001, 1010001 ]
+ - name: col_bigint_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: indexedBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [ 1, 100 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 500 ]
+
+ - table: Indexed1M_range_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_bigint_
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ executeRules:
+
+ - workload: ORDG8_1_ordby_bckwrd_ind_scan_pkey_filter
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bckwrd_ind_scan_pkey_filter
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1,col_bigint_id_2,col_bigint_card2_1,col_bigint_card3_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card2_1<1000100 order by col_bigint_card2_1 DESC
+
+ - workload: ORDG8_3_ordby_bigint_pkey_column_desc
+ customTags: schematype=colocated,partition=hash,cardinality=single,projection=rangepkey,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=orderby,orderbyon=rangepkeydesc
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_range_1 where col_bigint_id_1>1 order by col_bigint_id_1 DESC
+
+ - workload: ORDG8_1_perform_update_ordby_bckwrd_ind_scan_pkey_filter
+ skipReport: true
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bckwrd_ind_scan_pkey_filter
+ weight: 100
+ queries:
+ - query: update Indexed1M_1 set col_bigint_card3_1=? where col_bigint_card3_1=?
+ bindings:
+ - util: RandomNumber
+ params: [ 1000001, 1010001 ]
+ - util: RandomNumber
+ params: [ 1000001, 1010001 ]
+
+ - workload: ORDG8_2_perform_update_ordby_bigint_indexed_column_desc
+ skipReport: true
+ customTags: customer=2,schematype=regular,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_bigint_indexed_column_desc
+ weight: 100
+ queries:
+ - query: update indexedBigint1M_1 set col_bigint_id_3=? where col_bigint_id_3=?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: ORDG8_3_perform_update_ordby_bigint_pkey_column_desc
+ skipReport: true
+ customTags: schematype=colocated,partition=hash,cardinality=single,projection=rangepkey,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=orderby,orderbyon=rangepkeydesc
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: update Indexed1M_range_1 set col_bigint_id_2 = ? where col_bigint_id_2 = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+
+ - workload: ORDG8_1_post_update_ordby_bckwrd_ind_scan_pkey_filter
+ customTags: customer=0,schematype=regular,partition=hash,pkey=composite,cardinality=multiple,projection=hashpkey,filtercount=one,filteron=hashpkey,filtertype=comparision,queryshape=orderby,orderbyon=hashpkeydesc
+ run:
+ - name: ordby_bckwrd_ind_scan_pkey_filter
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1,col_bigint_id_2,col_bigint_card2_1,col_bigint_card3_1 from Indexed1M_1 where col_bigint_card1_1=1000000 and col_bigint_card2_1<1000100 order by col_bigint_card2_1 DESC
+
+ - workload: ORDG8_2_post_update_ordby_bigint_indexed_column_desc
+ customTags: customer=2,schematype=regular,partition=range,skey=desc,columndatatype=bigint,cardinality=single,projection=indexed,queryshape=orderby,orderbyon=rangeskey
+ run:
+ - name: ordby_bigint_indexed_column_desc
+ weight: 100
+ queries:
+ - query: select col_bigint_id_2 from indexedBigint1M_1 order by col_bigint_id_2
+
+ - workload: ORDG8_3_post_update_ordby_bigint_pkey_column_desc
+ customTags: schematype=colocated,partition=hash,cardinality=single,projection=rangepkey,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=orderby,orderbyon=rangepkeydesc
+ run:
+ - name: yb_ordby_bigint_non_indexed_column
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from Indexed1M_range_1 where col_bigint_id_1>1 order by col_bigint_id_1 DESC
diff --git a/config/yugabyte/regression_pipelines/perfstudio/postgres/MG1_analyze_table.yaml b/config/yugabyte/regression_pipelines/perfstudio/postgres/MG1_analyze_table.yaml
new file mode 100644
index 000000000..dbe85ac1a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/perfstudio/postgres/MG1_analyze_table.yaml
@@ -0,0 +1,360 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+disable_explain: true
+works:
+ work:
+ time_secs: 1800
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+ - create table nets_10M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+ - create table nets_50M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+ - create table nets_100M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+ - create table nets_200M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+
+ cleanup:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+
+ loadRules:
+
+ - table: nets_10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_50M_
+ count: 1
+ rows: 50000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_100M_
+ count: 1
+ rows: 100000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_200M_
+ count: 1
+ rows: 200000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ executeRules:
+
+ - workload: MG1_1_Analyze_50M
+ zeroRowsValidation: false
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_50M_1
+
+ - workload: MG1_2_Analyze_100M
+ zeroRowsValidation: false
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_100M_1
+
+ - workload: MG1_3_Analyze_200M
+ zeroRowsValidation: false
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_200M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/perfstudio/yb_colocated/MG1_analyze_table.yaml b/config/yugabyte/regression_pipelines/perfstudio/yb_colocated/MG1_analyze_table.yaml
new file mode 100644
index 000000000..e5cd291bb
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/perfstudio/yb_colocated/MG1_analyze_table.yaml
@@ -0,0 +1,361 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+disable_explain: true
+works:
+ work:
+ time_secs: 1800
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+ - create table nets_10M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+ - create table nets_50M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+ - create table nets_100M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+ - create table nets_200M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1, shard_id_1, op_id_1 ));
+
+ cleanup:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+
+ loadRules:
+
+ - table: nets_10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_50M_
+ count: 1
+ rows: 50000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_100M_
+ count: 1
+ rows: 100000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_200M_
+ count: 1
+ rows: 200000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ executeRules:
+
+ - workload: MG1_1_Analyze_50M
+ zeroRowsValidation: false
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_50M_1
+
+ - workload: MG1_2_Analyze_100M
+ zeroRowsValidation: false
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_100M_1
+
+ - workload: MG1_3_Analyze_200M
+ zeroRowsValidation: false
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_200M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/perfstudio/yugabyte/MG1_analyze_table.yaml b/config/yugabyte/regression_pipelines/perfstudio/yugabyte/MG1_analyze_table.yaml
new file mode 100644
index 000000000..ec34b0d75
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/perfstudio/yugabyte/MG1_analyze_table.yaml
@@ -0,0 +1,360 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+disable_explain: true
+works:
+ work:
+ time_secs: 1800
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+ - create table nets_10M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key ((db_user_id_1, shard_id_1) HASH, op_id_1 ASC));
+ - create table nets_50M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key ((db_user_id_1, shard_id_1) HASH, op_id_1 ASC));
+ - create table nets_100M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key ((db_user_id_1, shard_id_1) HASH, op_id_1 ASC));
+ - create table nets_200M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key ((db_user_id_1, shard_id_1) HASH, op_id_1 ASC));
+
+ cleanup:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+
+ loadRules:
+
+ - table: nets_10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_50M_
+ count: 1
+ rows: 50000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_100M_
+ count: 1
+ rows: 100000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_200M_
+ count: 1
+ rows: 200000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ executeRules:
+
+ - workload: MG1_1_Analyze_50M
+ zeroRowsValidation: false
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_50M_1
+
+ - workload: MG1_2_Analyze_100M
+ zeroRowsValidation: false
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_100M_1
+
+ - workload: MG1_3_Analyze_200M
+ zeroRowsValidation: false
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_200M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/perfstudio/yugabyte_range/MG1_analyze_table.yaml b/config/yugabyte/regression_pipelines/perfstudio/yugabyte_range/MG1_analyze_table.yaml
new file mode 100644
index 000000000..d98d7208b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/perfstudio/yugabyte_range/MG1_analyze_table.yaml
@@ -0,0 +1,360 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+disable_explain: true
+works:
+ work:
+ time_secs: 1800
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+ - create table nets_10M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1 ASC, shard_id_1 ASC, op_id_1 ASC));
+ - create table nets_50M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1 ASC, shard_id_1 ASC, op_id_1 ASC));
+ - create table nets_100M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1 ASC, shard_id_1 ASC, op_id_1 ASC));
+ - create table nets_200M_1(op_id_1 text,work_type_1 text,work_id_1 text,sequence_id_1 text,source_1 text,owner_1 text,state_1 text,resource_id_1 text,tracing_data_1 text,created_1 timestamp with time zone,modified_1 timestamp with time zone,timeout_1 timestamp with time zone,retry_count_1 bigint,db_user_id_1 text,shard_id_1 smallint,ingest_time_1 timestamp with time zone,label_1 text,metadata_1 text,primary key (db_user_id_1 ASC, shard_id_1 ASC, op_id_1 ASC));
+
+ cleanup:
+ - drop table IF EXISTS nets_10M_1;
+ - drop table IF EXISTS nets_50M_1;
+ - drop table IF EXISTS nets_100M_1;
+ - drop table IF EXISTS nets_200M_1;
+
+ loadRules:
+
+ - table: nets_10M_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_50M_
+ count: 1
+ rows: 50000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_100M_
+ count: 1
+ rows: 100000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ - table: nets_200M_
+ count: 1
+ rows: 200000000
+ columns:
+ - name: op_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: work_type_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: work_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: sequence_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: source_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: owner_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: state_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: resource_id_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: tracing_data_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: created_
+ count: 1
+ util: CurrentTime
+ - name: modified_
+ count: 1
+ util: CurrentTime
+ - name: timeout_
+ count: 1
+ util: CurrentTime
+ - name: retry_count_
+ count: 1
+ util: RandomInt
+ params: [ 1, 50 ]
+ - name: db_user_id_
+ count: 1
+ util: HashedRandomString
+ params: [ 1, 500, 10]
+ - name: shard_id_
+ count: 1
+ util: RandomNumber
+ params: [ 1, 50 ]
+ - name: ingest_time_
+ count: 1
+ util: CurrentTime
+ - name: label_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+ - name: metadata_
+ count: 1
+ util: RandomAString
+ params: [ 50, 50 ]
+
+ executeRules:
+
+ - workload: MG1_1_Analyze_50M
+ zeroRowsValidation: false
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_50M_1
+
+ - workload: MG1_2_Analyze_100M
+ zeroRowsValidation: false
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_100M_1
+
+ - workload: MG1_3_Analyze_200M
+ zeroRowsValidation: false
+ time_secs: 1800
+ run:
+ - name: analyze_1
+ weight: 100
+ queries:
+ - query: analyze nets_200M_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G1_insert_varying_composite_index.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G1_insert_varying_composite_index.yaml
new file mode 100644
index 000000000..df1c6d46e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G1_insert_varying_composite_index.yaml
@@ -0,0 +1,133 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create index index_test_2_idx1 on index_test_2(col_int_1);
+ - create index index_test_3_idx1 on index_test_3(col_int_1, col_int_2);
+ - create index index_test_4_idx1 on index_test_4(col_int_1, col_int_2, col_int_3, col_int_4, col_int_5);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 1000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: RW_G1_0_column_composite_index_test
+ run:
+ - name: Insert_0_column_composite_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_1 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G1_1_column_composite_index_test
+ run:
+ - name: Insert_1_column_composite_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_2 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G1_2_column_composite_index_test
+ run:
+ - name: Insert_column_composite_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_3 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G1_5_column_composite_index_test
+ run:
+ - name: Insert_column_composite_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_4 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G2_insert_varying_index.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G2_insert_varying_index.yaml
new file mode 100644
index 000000000..0dd1d81a5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G2_insert_varying_index.yaml
@@ -0,0 +1,145 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create index index_test_2_idx1 on index_test_2(col_int_1);
+ - create index index_test_3_idx1 on index_test_3(col_int_1);
+ - create index index_test_3_idx2 on index_test_3(col_int_2);
+ - create index index_test_3_idx3 on index_test_3(col_int_3);
+ - create index index_test_3_idx4 on index_test_3(col_int_4);
+ - create index index_test_3_idx5 on index_test_3(col_int_5);
+ - create index index_test_4_idx1 on index_test_4(col_int_1);
+ - create index index_test_4_idx2 on index_test_4(col_int_2);
+ - create index index_test_4_idx3 on index_test_4(col_int_3);
+ - create index index_test_4_idx4 on index_test_4(col_int_4);
+ - create index index_test_4_idx5 on index_test_4(col_int_5);
+ - create index index_test_4_idx6 on index_test_4(col_int_6);
+ - create index index_test_4_idx7 on index_test_4(col_int_7);
+ - create index index_test_4_idx8 on index_test_4(col_int_8);
+ - create index index_test_4_idx9 on index_test_4(col_int_9);
+ - create index index_test_4_idx10 on index_test_4(col_int_10);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 1000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: RW_G2_no_index
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_1 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G2_1_index_test
+ run:
+ - name: Insert_with_1_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_2 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G2_5_index_test
+ run:
+ - name: Insert_with_5_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_3 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G2_10_index_test
+ run:
+ - name: Insert_with_10_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_4 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G3_insert_varying_pk_columns.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G3_insert_varying_pk_columns.yaml
new file mode 100644
index 000000000..dbcf89119
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G3_insert_varying_pk_columns.yaml
@@ -0,0 +1,87 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists table_test_1;
+ - drop table if exists table_test_2;
+ - drop table if exists table_test_3;
+ - drop table if exists table_test_4;
+ - create table table_test_1 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_int_7 bigint, primary key (col_int_1));
+ - create table table_test_2 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_int_7 bigint, primary key (col_int_1, col_int_2));
+ - create table table_test_3 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_int_7 bigint, primary key (col_int_1, col_int_2, col_int_3));
+ - create table table_test_4 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_int_7 bigint, primary key (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5));
+
+ cleanup:
+ - drop table if exists table_test_1;
+ - drop table if exists table_test_2;
+ - drop table if exists table_test_3;
+ - drop table if exists table_test_4;
+ loadRules:
+ - table: table_test_
+ count: 4
+ rows: 1000000
+ columns:
+ - name: col_int_
+ count: 7
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000000
+ executeRules:
+ - workload: RW_G3_1_range_column_test
+ run:
+ - name: Insert_1_range_column_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_test_1 (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7) values (?, ?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 7
+ params: [ 1000001, 100000000 ]
+ - workload: RW_G3_2_range_column_test
+ run:
+ - name: Insert_2_range_column_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_test_2 (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7) values (?,?, ?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 7
+ params: [ 1000001, 100000000 ]
+ - workload: RW_G3_3_range_column_test
+ run:
+ - name: Insert_3_range_column_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_test_3 (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7) values (?,?,?, ?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 7
+ params: [ 1000001, 100000000 ]
+ - workload: RW_G3_5_range_column_test
+ run:
+ - name: Insert_5_range_column_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_test_4 (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7) values (?,?,?,?,?, ?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 7
+ params: [ 1000001, 100000000 ]
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G4_multi_statement_transaction.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G4_multi_statement_transaction.yaml
new file mode 100644
index 000000000..2f42a5df2
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G4_multi_statement_transaction.yaml
@@ -0,0 +1,141 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS users_1;
+ - DROP TABLE IF EXISTS accounts_1;
+ - DROP TABLE IF EXISTS audit_table_1;
+ - CREATE TABLE IF NOT EXISTS users_1(user_id_1 bigint, user_id_2 bigint, user_name_1 varchar(10), addr_1 varchar(50), bal_1 float(2), PRIMARY KEY(user_id_1, user_id_2));
+ - CREATE INDEX users_1_index_user_name ON users_1(user_name_1, addr_1);
+ - CREATE INDEX users_1_index_addr ON users_1(addr_1, user_name_1);
+ - CREATE TABLE IF NOT EXISTS accounts_1(account_id_1 bigint, account_id_2 bigint, user_id_1 bigint, user_id_2 bigint, addr_1 varchar(50), bal_1 float(2), PRIMARY KEY(account_id_1, account_id_2));
+ - CREATE INDEX user_accounts_addr1 ON accounts_1( user_id_1, user_id_2, addr_1);
+ - CREATE INDEX user_accounts_addr2 ON accounts_1( addr_1, user_id_1, user_id_2);
+ - CREATE TABLE IF NOT EXISTS audit_table_1(account_id_1 bigint, account_id_2 bigint, event_id_1 date, user_id_1 bigint, user_id_2 bigint, delta_1 float(2), PRIMARY KEY(account_id_1, account_id_2, event_id_1));
+ - CREATE INDEX audit_table_1_index1 ON audit_table_1(user_id_1, user_id_2, event_id_1);
+ - CREATE INDEX audit_table_1_index2 ON audit_table_1(event_id_1, user_id_1, user_id_2);
+ cleanup:
+ - DROP TABLE IF EXISTS users_1;
+ - DROP TABLE IF EXISTS accounts_1;
+ - DROP TABLE IF EXISTS audit_table_1;
+
+ loadRules:
+ - table: users_
+ count: 1
+ rows: 3000000
+ columns:
+ - name: user_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: user_name_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+ - table: accounts_
+ count: 1
+ rows: 3000000
+ columns:
+ - name: account_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: user_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+ - table: audit_table_
+ count: 1
+ rows: 3000000
+ columns:
+ - name: account_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: event_id_
+ count: 1
+ util: PrimaryDateGen
+ params: [2000000]
+ - name: user_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: delta_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+
+ executeRules:
+ - workload: RW_G4_multi_statement_transaction_run1
+ customTags: customer=10,schematype=regular,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=one
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO audit_table_1(account_id_1, account_id_2, event_id_1, user_id_1, user_id_2, delta_1) VALUES(?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 2
+ params: [ 10000000, 10000000000 ]
+ - util: PrimaryDateGen
+ params: [ 100000000 ]
+ - util: PrimaryIntGen
+ count: 2
+ params: [ 10000000, 10000000000 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - query: UPDATE accounts_1 SET addr_1 = ? WHERE account_id_1 = ? and account_id_2 = ? and user_id_1 = ? and user_id_2 = ?
+ bindings:
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: RandomInt
+ count: 2
+ params: [ 1, 3000000 ]
+ - util: RandomInt
+ count: 2
+ params: [ 1, 3000000 ]
+ - query: UPDATE users_1 SET user_name_1 = ?, addr_1 = ? WHERE user_id_1 = ? and user_id_2 = ?
+ bindings:
+ - util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: RandomInt
+ count: 2
+ params: [ 1, 3000000 ]
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G5_update_varying_composite_index.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G5_update_varying_composite_index.yaml
new file mode 100644
index 000000000..1020720b7
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G5_update_varying_composite_index.yaml
@@ -0,0 +1,114 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create index index_test_2_idx1 on index_test_2(col_int_1);
+ - create index index_test_3_idx1 on index_test_3(col_int_1, col_int_2);
+ - create index index_test_4_idx1 on index_test_4(col_int_1, col_int_2, col_int_3, col_int_4, col_int_5);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+
+ rows: 2000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 2000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 2000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: RW_G5_0_column_composite_index_test
+ run:
+ - name: Update_0_column_composite_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_1 SET col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G5_1_column_composite_index_test
+ run:
+ - name: Update_1_column_composite_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_2 SET col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G5_2_column_composite_index_test
+ run:
+ - name: Update_column_composite_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_3 SET col_int_1 = ?, col_int_2 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ count: 2
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G5_5_column_composite_index_test
+ run:
+ - name: Update_column_composite_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_4 SET col_int_1 = ?, col_int_2 = ?, col_int_3 = ?, col_int_4 = ?, col_int_5 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ count: 5
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G6_update_varying_index.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G6_update_varying_index.yaml
new file mode 100644
index 000000000..af2c3e62b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G6_update_varying_index.yaml
@@ -0,0 +1,131 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create index index_test_2_idx1 on index_test_2(col_int_1);
+ - create index index_test_3_idx1 on index_test_3(col_int_1);
+ - create index index_test_3_idx2 on index_test_3(col_int_2);
+ - create index index_test_3_idx3 on index_test_3(col_int_3);
+ - create index index_test_3_idx4 on index_test_3(col_int_4);
+ - create index index_test_3_idx5 on index_test_3(col_int_5);
+ - create index index_test_4_idx1 on index_test_4(col_int_1);
+ - create index index_test_4_idx2 on index_test_4(col_int_2);
+ - create index index_test_4_idx3 on index_test_4(col_int_3);
+ - create index index_test_4_idx4 on index_test_4(col_int_4);
+ - create index index_test_4_idx5 on index_test_4(col_int_5);
+ - create index index_test_4_idx6 on index_test_4(col_int_6);
+ - create index index_test_4_idx7 on index_test_4(col_int_7);
+ - create index index_test_4_idx8 on index_test_4(col_int_8);
+ - create index index_test_4_idx9 on index_test_4(col_int_9);
+ - create index index_test_4_idx10 on index_test_4(col_int_10);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+ rows: 2000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 2000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 2000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: RW_G6_no_index
+ run:
+ - name: Update_without_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_1 SET col_int_1 = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G6_1_index_test
+ run:
+ - name: Update_with_1_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_2 SET col_int_1 = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G6_5_index_test
+ run:
+ - name: Update_with_5_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_3 SET col_int_1 = ?, col_int_2 = ?, col_int_3 = ?, col_int_4 = ?, col_int_5 = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ count: 5
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G6_10_index_test
+ run:
+ - name: Update_with_10_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_4 SET col_int_1 = ?, col_int_2 = ?, col_int_3 = ?, col_int_4 = ?, col_int_5 = ?, col_int_6 = ?, col_int_7 = ?, col_int_8 = ?, col_int_9 = ?, col_int_10 = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ count: 10
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G7_update_varying_pk_columns.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G7_update_varying_pk_columns.yaml
new file mode 100644
index 000000000..65831ba25
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/postgres/RW_G7_update_varying_pk_columns.yaml
@@ -0,0 +1,104 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists table_test_1;
+ - drop table if exists table_test_2;
+ - drop table if exists table_test_3;
+ - drop table if exists table_test_4;
+ - create table table_test_1 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_varchar_1 varchar(20), primary key (col_int_1));
+ - create table table_test_2 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_varchar_1 varchar(20), primary key (col_int_1, col_int_2));
+ - create table table_test_3 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_varchar_1 varchar(20), primary key (col_int_1, col_int_2, col_int_3));
+ - create table table_test_4 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_varchar_1 varchar(20), primary key (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5));
+
+ cleanup:
+ - drop table if exists table_test_1;
+ - drop table if exists table_test_2;
+ - drop table if exists table_test_3;
+ - drop table if exists table_test_4;
+ loadRules:
+ - table: table_test_
+ count: 4
+ rows: 2000000
+ columns:
+ - name: col_int_
+ count: 6
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 2000000
+ - name: col_varchar_
+ count: 1
+ util: RandomAString
+ params: [20, 20]
+
+ executeRules:
+ - workload: RW_G7_1_range_column_test
+ run:
+ - name: Update_1_range_column_test
+ weight: 100
+ queries:
+ - query: UPDATE table_test_1 SET col_varchar_1 = ? WHERE col_int_1 = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G7_2_range_column_test
+ run:
+ - name: Update_2_range_column_test
+ weight: 100
+ queries:
+ - query: UPDATE table_test_2 SET col_varchar_1 = ? WHERE col_int_1 = ? and col_int_2 = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ count: 2
+ params: [ 1, 2000000 ]
+ - workload: RW_G7_3_range_column_test
+ run:
+ - name: Update_3_range_column_test
+ weight: 100
+ queries:
+ - query: UPDATE table_test_3 SET col_varchar_1 = ? WHERE col_int_1 = ? and col_int_2 = ? and col_int_3 = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ count: 3
+ params: [ 1, 2000000 ]
+ - workload: RW_G7_5_range_column_test
+ run:
+ - name: Update_5_range_column_test
+ weight: 100
+ queries:
+ - query: UPDATE table_test_4 SET col_varchar_1 = ? WHERE col_int_1 = ? and col_int_2 = ? and col_int_3 = ? and col_int_4 = ? and col_int_5 = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ count: 5
+ params: [ 1, 2000000 ]
+
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G1_insert_varying_composite_index.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G1_insert_varying_composite_index.yaml
new file mode 100644
index 000000000..af50e9803
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G1_insert_varying_composite_index.yaml
@@ -0,0 +1,135 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create index index_test_2_idx1 on index_test_2(col_int_1 asc);
+ - create index index_test_3_idx1 on index_test_3(col_int_1 asc, col_int_2 asc);
+ - create index index_test_4_idx1 on index_test_4(col_int_1 asc, col_int_2 asc, col_int_3 asc, col_int_4 asc, col_int_5 asc);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 1000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: RW_G1_0_column_composite_index_test
+ run:
+ - name: Insert_0_column_composite_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_1 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G1_1_column_composite_index_test
+ run:
+ - name: Insert_1_column_composite_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_2 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G1_2_column_composite_index_test
+ run:
+ - name: Insert_column_composite_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_3 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G1_5_column_composite_index_test
+ run:
+ - name: Insert_column_composite_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_4 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G2_insert_varying_index.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G2_insert_varying_index.yaml
new file mode 100644
index 000000000..08dcc2136
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G2_insert_varying_index.yaml
@@ -0,0 +1,147 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create index index_test_2_idx1 on index_test_2(col_int_1 asc);
+ - create index index_test_3_idx1 on index_test_3(col_int_1 asc);
+ - create index index_test_3_idx2 on index_test_3(col_int_2 asc);
+ - create index index_test_3_idx3 on index_test_3(col_int_3 asc);
+ - create index index_test_3_idx4 on index_test_3(col_int_4 asc);
+ - create index index_test_3_idx5 on index_test_3(col_int_5 asc);
+ - create index index_test_4_idx1 on index_test_4(col_int_1 asc);
+ - create index index_test_4_idx2 on index_test_4(col_int_2 asc);
+ - create index index_test_4_idx3 on index_test_4(col_int_3 asc);
+ - create index index_test_4_idx4 on index_test_4(col_int_4 asc);
+ - create index index_test_4_idx5 on index_test_4(col_int_5 asc);
+ - create index index_test_4_idx6 on index_test_4(col_int_6 asc);
+ - create index index_test_4_idx7 on index_test_4(col_int_7 asc);
+ - create index index_test_4_idx8 on index_test_4(col_int_8 asc);
+ - create index index_test_4_idx9 on index_test_4(col_int_9 asc);
+ - create index index_test_4_idx10 on index_test_4(col_int_10 asc);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 1000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: RW_G2_no_index
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_1 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G2_1_index_test
+ run:
+ - name: Insert_with_1_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_2 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G2_5_index_test
+ run:
+ - name: Insert_with_5_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_3 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G2_10_index_test
+ run:
+ - name: Insert_with_10_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_4 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G3_insert_varying_pk_columns.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G3_insert_varying_pk_columns.yaml
new file mode 100644
index 000000000..127c074ee
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G3_insert_varying_pk_columns.yaml
@@ -0,0 +1,89 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists table_test_1;
+ - drop table if exists table_test_2;
+ - drop table if exists table_test_3;
+ - drop table if exists table_test_4;
+ - create table table_test_1 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_int_7 bigint, primary key (col_int_1 asc));
+ - create table table_test_2 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_int_7 bigint, primary key (col_int_1 asc, col_int_2 asc));
+ - create table table_test_3 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_int_7 bigint, primary key (col_int_1 asc, col_int_2 asc, col_int_3 asc));
+ - create table table_test_4 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_int_7 bigint, primary key (col_int_1 asc, col_int_2 asc, col_int_3 asc, col_int_4 asc, col_int_5 asc));
+
+ cleanup:
+ - drop table if exists table_test_1;
+ - drop table if exists table_test_2;
+ - drop table if exists table_test_3;
+ - drop table if exists table_test_4;
+ loadRules:
+ - table: table_test_
+ count: 4
+ rows: 1000000
+ columns:
+ - name: col_int_
+ count: 7
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000000
+ executeRules:
+ - workload: RW_G3_1_range_column_test
+ run:
+ - name: Insert_1_range_column_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_test_1 (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7) values (?, ?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 7
+ params: [ 1000001, 100000000 ]
+ - workload: RW_G3_2_range_column_test
+ run:
+ - name: Insert_2_range_column_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_test_2 (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7) values (?,?, ?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 7
+ params: [ 1000001, 100000000 ]
+ - workload: RW_G3_3_range_column_test
+ run:
+ - name: Insert_3_range_column_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_test_3 (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7) values (?,?,?, ?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 7
+ params: [ 1000001, 100000000 ]
+ - workload: RW_G3_5_range_column_test
+ run:
+ - name: Insert_5_range_column_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_test_4 (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7) values (?,?,?,?,?, ?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 7
+ params: [ 1000001, 100000000 ]
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G4_multi_statement_transaction.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G4_multi_statement_transaction.yaml
new file mode 100644
index 000000000..f86f0f4fa
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G4_multi_statement_transaction.yaml
@@ -0,0 +1,143 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS users_1;
+ - DROP TABLE IF EXISTS accounts_1;
+ - DROP TABLE IF EXISTS audit_table_1;
+ - CREATE TABLE IF NOT EXISTS users_1(user_id_1 bigint, user_id_2 bigint, user_name_1 varchar(10), addr_1 varchar(50), bal_1 float(2), PRIMARY KEY(user_id_1 ASC, user_id_2 ASC));
+ - CREATE INDEX users_1_index_user_name ON users_1(user_name_1 ASC, addr_1 ASC);
+ - CREATE INDEX users_1_index_addr ON users_1(addr_1 ASC, user_name_1 ASC);
+ - CREATE TABLE IF NOT EXISTS accounts_1(account_id_1 bigint, account_id_2 bigint, user_id_1 bigint, user_id_2 bigint, addr_1 varchar(50), bal_1 float(2), PRIMARY KEY(account_id_1 ASC, account_id_2 ASC));
+ - CREATE INDEX user_accounts_addr1 ON accounts_1( user_id_1 ASC, user_id_2 ASC, addr_1 ASC);
+ - CREATE INDEX user_accounts_addr2 ON accounts_1( addr_1 ASC, user_id_1 ASC, user_id_2 ASC);
+ - CREATE TABLE IF NOT EXISTS audit_table_1(account_id_1 bigint, account_id_2 bigint, event_id_1 date, user_id_1 bigint, user_id_2 bigint, delta_1 float(2), PRIMARY KEY(account_id_1 ASC, account_id_2 ASC, event_id_1 ASC));
+ - CREATE INDEX audit_table_1_index1 ON audit_table_1(user_id_1 ASC, user_id_2 ASC, event_id_1 ASC);
+ - CREATE INDEX audit_table_1_index2 ON audit_table_1(event_id_1 ASC, user_id_1 ASC, user_id_2 ASC);
+ cleanup:
+ - DROP TABLE IF EXISTS users_1;
+ - DROP TABLE IF EXISTS accounts_1;
+ - DROP TABLE IF EXISTS audit_table_1;
+
+ loadRules:
+ - table: users_
+ count: 1
+ rows: 3000000
+ columns:
+ - name: user_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: user_name_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+ - table: accounts_
+ count: 1
+ rows: 3000000
+ columns:
+ - name: account_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: user_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+ - table: audit_table_
+ count: 1
+ rows: 3000000
+ columns:
+ - name: account_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: event_id_
+ count: 1
+ util: PrimaryDateGen
+ params: [2000000]
+ - name: user_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: delta_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+
+ executeRules:
+ - workload: RW_G4_multi_statement_transaction_run1
+ customTags: customer=10,schematype=regular,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=one
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO audit_table_1(account_id_1, account_id_2, event_id_1, user_id_1, user_id_2, delta_1) VALUES(?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 2
+ params: [ 10000000, 10000000000 ]
+ - util: PrimaryDateGen
+ params: [ 100000000 ]
+ - util: PrimaryIntGen
+ count: 2
+ params: [ 10000000, 10000000000 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - query: UPDATE accounts_1 SET addr_1 = ? WHERE account_id_1 = ? and account_id_2 = ? and user_id_1 = ? and user_id_2 = ?
+ bindings:
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: RandomInt
+ count: 2
+ params: [ 1, 3000000 ]
+ - util: RandomInt
+ count: 2
+ params: [ 1, 3000000 ]
+ - query: UPDATE users_1 SET user_name_1 = ?, addr_1 = ? WHERE user_id_1 = ? and user_id_2 = ?
+ bindings:
+ - util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: RandomInt
+ count: 2
+ params: [ 1, 3000000 ]
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G5_update_varying_composite_index.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G5_update_varying_composite_index.yaml
new file mode 100644
index 000000000..666188f81
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G5_update_varying_composite_index.yaml
@@ -0,0 +1,116 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create index index_test_2_idx1 on index_test_2(col_int_1 asc);
+ - create index index_test_3_idx1 on index_test_3(col_int_1 asc, col_int_2 asc);
+ - create index index_test_4_idx1 on index_test_4(col_int_1 asc, col_int_2 asc, col_int_3 asc, col_int_4 asc, col_int_5 asc);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+
+ rows: 2000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 2000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 2000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: RW_G5_0_column_composite_index_test
+ run:
+ - name: Update_0_column_composite_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_1 SET col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G5_1_column_composite_index_test
+ run:
+ - name: Update_1_column_composite_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_2 SET col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G5_2_column_composite_index_test
+ run:
+ - name: Update_column_composite_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_3 SET col_int_1 = ?, col_int_2 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ count: 2
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G5_5_column_composite_index_test
+ run:
+ - name: Update_column_composite_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_4 SET col_int_1 = ?, col_int_2 = ?, col_int_3 = ?, col_int_4 = ?, col_int_5 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ count: 5
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G6_update_varying_index.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G6_update_varying_index.yaml
new file mode 100644
index 000000000..5b76e696a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G6_update_varying_index.yaml
@@ -0,0 +1,133 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create index index_test_2_idx1 on index_test_2(col_int_1 asc);
+ - create index index_test_3_idx1 on index_test_3(col_int_1 asc);
+ - create index index_test_3_idx2 on index_test_3(col_int_2 asc);
+ - create index index_test_3_idx3 on index_test_3(col_int_3 asc);
+ - create index index_test_3_idx4 on index_test_3(col_int_4 asc);
+ - create index index_test_3_idx5 on index_test_3(col_int_5 asc);
+ - create index index_test_4_idx1 on index_test_4(col_int_1 asc);
+ - create index index_test_4_idx2 on index_test_4(col_int_2 asc);
+ - create index index_test_4_idx3 on index_test_4(col_int_3 asc);
+ - create index index_test_4_idx4 on index_test_4(col_int_4 asc);
+ - create index index_test_4_idx5 on index_test_4(col_int_5 asc);
+ - create index index_test_4_idx6 on index_test_4(col_int_6 asc);
+ - create index index_test_4_idx7 on index_test_4(col_int_7 asc);
+ - create index index_test_4_idx8 on index_test_4(col_int_8 asc);
+ - create index index_test_4_idx9 on index_test_4(col_int_9 asc);
+ - create index index_test_4_idx10 on index_test_4(col_int_10 asc);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+ rows: 2000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 2000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 2000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: RW_G6_no_index
+ run:
+ - name: Update_without_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_1 SET col_int_1 = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G6_1_index_test
+ run:
+ - name: Update_with_1_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_2 SET col_int_1 = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G6_5_index_test
+ run:
+ - name: Update_with_5_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_3 SET col_int_1 = ?, col_int_2 = ?, col_int_3 = ?, col_int_4 = ?, col_int_5 = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ count: 5
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G6_10_index_test
+ run:
+ - name: Update_with_10_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_4 SET col_int_1 = ?, col_int_2 = ?, col_int_3 = ?, col_int_4 = ?, col_int_5 = ?, col_int_6 = ?, col_int_7 = ?, col_int_8 = ?, col_int_9 = ?, col_int_10 = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ count: 10
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G7_update_varying_pk_columns.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G7_update_varying_pk_columns.yaml
new file mode 100644
index 000000000..6d6e5818d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yb_colocated/RW_G7_update_varying_pk_columns.yaml
@@ -0,0 +1,106 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists table_test_1;
+ - drop table if exists table_test_2;
+ - drop table if exists table_test_3;
+ - drop table if exists table_test_4;
+ - create table table_test_1 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_varchar_1 varchar(20), primary key (col_int_1 asc));
+ - create table table_test_2 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_varchar_1 varchar(20), primary key (col_int_1 asc, col_int_2 asc));
+ - create table table_test_3 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_varchar_1 varchar(20), primary key (col_int_1 asc, col_int_2 asc, col_int_3 asc));
+ - create table table_test_4 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_varchar_1 varchar(20), primary key (col_int_1 asc, col_int_2 asc, col_int_3 asc, col_int_4 asc, col_int_5 asc));
+
+ cleanup:
+ - drop table if exists table_test_1;
+ - drop table if exists table_test_2;
+ - drop table if exists table_test_3;
+ - drop table if exists table_test_4;
+ loadRules:
+ - table: table_test_
+ count: 4
+ rows: 2000000
+ columns:
+ - name: col_int_
+ count: 6
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 2000000
+ - name: col_varchar_
+ count: 1
+ util: RandomAString
+ params: [20, 20]
+
+ executeRules:
+ - workload: RW_G7_1_range_column_test
+ run:
+ - name: Update_1_range_column_test
+ weight: 100
+ queries:
+ - query: UPDATE table_test_1 SET col_varchar_1 = ? WHERE col_int_1 = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G7_2_range_column_test
+ run:
+ - name: Update_2_range_column_test
+ weight: 100
+ queries:
+ - query: UPDATE table_test_2 SET col_varchar_1 = ? WHERE col_int_1 = ? and col_int_2 = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ count: 2
+ params: [ 1, 2000000 ]
+ - workload: RW_G7_3_range_column_test
+ run:
+ - name: Update_3_range_column_test
+ weight: 100
+ queries:
+ - query: UPDATE table_test_3 SET col_varchar_1 = ? WHERE col_int_1 = ? and col_int_2 = ? and col_int_3 = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ count: 3
+ params: [ 1, 2000000 ]
+ - workload: RW_G7_5_range_column_test
+ run:
+ - name: Update_5_range_column_test
+ weight: 100
+ queries:
+ - query: UPDATE table_test_4 SET col_varchar_1 = ? WHERE col_int_1 = ? and col_int_2 = ? and col_int_3 = ? and col_int_4 = ? and col_int_5 = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ count: 5
+ params: [ 1, 2000000 ]
+
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G1_insert_varying_composite_index.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G1_insert_varying_composite_index.yaml
new file mode 100644
index 000000000..308b97094
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G1_insert_varying_composite_index.yaml
@@ -0,0 +1,134 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create index index_test_2_idx1 on index_test_2(col_int_1 asc);
+ - create index index_test_3_idx1 on index_test_3(col_int_1 asc, col_int_2 asc);
+ - create index index_test_4_idx1 on index_test_4(col_int_1 asc, col_int_2 asc, col_int_3 asc, col_int_4 asc, col_int_5 asc);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 1000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: RW_G1_0_column_composite_index_test
+ run:
+ - name: Insert_0_column_composite_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_1 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G1_1_column_composite_index_test
+ run:
+ - name: Insert_1_column_composite_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_2 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G1_2_column_composite_index_test
+ run:
+ - name: Insert_column_composite_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_3 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G1_5_column_composite_index_test
+ run:
+ - name: Insert_column_composite_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_4 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G2_insert_varying_index.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G2_insert_varying_index.yaml
new file mode 100644
index 000000000..54b2fea46
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G2_insert_varying_index.yaml
@@ -0,0 +1,146 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create index index_test_2_idx1 on index_test_2(col_int_1 asc);
+ - create index index_test_3_idx1 on index_test_3(col_int_1 asc);
+ - create index index_test_3_idx2 on index_test_3(col_int_2 asc);
+ - create index index_test_3_idx3 on index_test_3(col_int_3 asc);
+ - create index index_test_3_idx4 on index_test_3(col_int_4 asc);
+ - create index index_test_3_idx5 on index_test_3(col_int_5 asc);
+ - create index index_test_4_idx1 on index_test_4(col_int_1 asc);
+ - create index index_test_4_idx2 on index_test_4(col_int_2 asc);
+ - create index index_test_4_idx3 on index_test_4(col_int_3 asc);
+ - create index index_test_4_idx4 on index_test_4(col_int_4 asc);
+ - create index index_test_4_idx5 on index_test_4(col_int_5 asc);
+ - create index index_test_4_idx6 on index_test_4(col_int_6 asc);
+ - create index index_test_4_idx7 on index_test_4(col_int_7 asc);
+ - create index index_test_4_idx8 on index_test_4(col_int_8 asc);
+ - create index index_test_4_idx9 on index_test_4(col_int_9 asc);
+ - create index index_test_4_idx10 on index_test_4(col_int_10 asc);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 1000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: RW_G2_no_index
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_1 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G2_1_index_test
+ run:
+ - name: Insert_with_1_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_2 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G2_5_index_test
+ run:
+ - name: Insert_with_5_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_3 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: RW_G2_10_index_test
+ run:
+ - name: Insert_with_10_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_4 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 100000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 100000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G3_insert_varying_pk_columns.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G3_insert_varying_pk_columns.yaml
new file mode 100644
index 000000000..809aee945
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G3_insert_varying_pk_columns.yaml
@@ -0,0 +1,88 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists table_test_1;
+ - drop table if exists table_test_2;
+ - drop table if exists table_test_3;
+ - drop table if exists table_test_4;
+ - create table table_test_1 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_int_7 bigint, primary key (col_int_1 asc));
+ - create table table_test_2 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_int_7 bigint, primary key (col_int_1 asc, col_int_2 asc));
+ - create table table_test_3 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_int_7 bigint, primary key (col_int_1 asc, col_int_2 asc, col_int_3 asc));
+ - create table table_test_4 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_int_7 bigint, primary key (col_int_1 asc, col_int_2 asc, col_int_3 asc, col_int_4 asc, col_int_5 asc));
+
+ cleanup:
+ - drop table if exists table_test_1;
+ - drop table if exists table_test_2;
+ - drop table if exists table_test_3;
+ - drop table if exists table_test_4;
+ loadRules:
+ - table: table_test_
+ count: 4
+ rows: 1000000
+ columns:
+ - name: col_int_
+ count: 7
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000000
+ executeRules:
+ - workload: RW_G3_1_range_column_test
+ run:
+ - name: Insert_1_range_column_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_test_1 (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7) values (?, ?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 7
+ params: [ 1000001, 100000000 ]
+ - workload: RW_G3_2_range_column_test
+ run:
+ - name: Insert_2_range_column_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_test_2 (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7) values (?,?, ?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 7
+ params: [ 1000001, 100000000 ]
+ - workload: RW_G3_3_range_column_test
+ run:
+ - name: Insert_3_range_column_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_test_3 (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7) values (?,?,?, ?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 7
+ params: [ 1000001, 100000000 ]
+ - workload: RW_G3_5_range_column_test
+ run:
+ - name: Insert_5_range_column_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_test_4 (col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7) values (?,?,?,?,?, ?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 7
+ params: [ 1000001, 100000000 ]
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G4_multi_statement_transaction.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G4_multi_statement_transaction.yaml
new file mode 100644
index 000000000..b7aefd725
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G4_multi_statement_transaction.yaml
@@ -0,0 +1,142 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS users_1;
+ - DROP TABLE IF EXISTS accounts_1;
+ - DROP TABLE IF EXISTS audit_table_1;
+ - CREATE TABLE IF NOT EXISTS users_1(user_id_1 bigint, user_id_2 bigint, user_name_1 varchar(10), addr_1 varchar(50), bal_1 float(2), PRIMARY KEY(user_id_1 ASC, user_id_2 ASC));
+ - CREATE INDEX users_1_index_user_name ON users_1(user_name_1 ASC, addr_1 ASC);
+ - CREATE INDEX users_1_index_addr ON users_1(addr_1 ASC, user_name_1 ASC);
+ - CREATE TABLE IF NOT EXISTS accounts_1(account_id_1 bigint, account_id_2 bigint, user_id_1 bigint, user_id_2 bigint, addr_1 varchar(50), bal_1 float(2), PRIMARY KEY(account_id_1 ASC, account_id_2 ASC));
+ - CREATE INDEX user_accounts_addr1 ON accounts_1( user_id_1 ASC, user_id_2 ASC, addr_1 ASC);
+ - CREATE INDEX user_accounts_addr2 ON accounts_1( addr_1 ASC, user_id_1 ASC, user_id_2 ASC);
+ - CREATE TABLE IF NOT EXISTS audit_table_1(account_id_1 bigint, account_id_2 bigint, event_id_1 date, user_id_1 bigint, user_id_2 bigint, delta_1 float(2), PRIMARY KEY(account_id_1 ASC, account_id_2 ASC, event_id_1 ASC));
+ - CREATE INDEX audit_table_1_index1 ON audit_table_1(user_id_1 ASC, user_id_2 ASC, event_id_1 ASC);
+ - CREATE INDEX audit_table_1_index2 ON audit_table_1(event_id_1 ASC, user_id_1 ASC, user_id_2 ASC);
+ cleanup:
+ - DROP TABLE IF EXISTS users_1;
+ - DROP TABLE IF EXISTS accounts_1;
+ - DROP TABLE IF EXISTS audit_table_1;
+
+ loadRules:
+ - table: users_
+ count: 1
+ rows: 3000000
+ columns:
+ - name: user_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: user_name_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+ - table: accounts_
+ count: 1
+ rows: 3000000
+ columns:
+ - name: account_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: user_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: addr_
+ count: 1
+ util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - name: bal_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+ - table: audit_table_
+ count: 1
+ rows: 3000000
+ columns:
+ - name: account_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: event_id_
+ count: 1
+ util: PrimaryDateGen
+ params: [2000000]
+ - name: user_id_
+ count: 2
+ util: PrimaryIntGen
+ params: [ 1, 3000000 ]
+ - name: delta_
+ count: 1
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+
+
+ executeRules:
+ - workload: RW_G4_multi_statement_transaction_run1
+ customTags: customer=10,schematype=regular,partition=range,pkey=composite,cardinality=single,projection=all,filtercount=one
+ run:
+ - name: statement1_insert
+ weight: 100
+ queries:
+ - query: INSERT INTO audit_table_1(account_id_1, account_id_2, event_id_1, user_id_1, user_id_2, delta_1) VALUES(?,?,?,?,?,?)
+ bindings:
+ - util: PrimaryIntGen
+ count: 2
+ params: [ 10000000, 10000000000 ]
+ - util: PrimaryDateGen
+ params: [ 100000000 ]
+ - util: PrimaryIntGen
+ count: 2
+ params: [ 10000000, 10000000000 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - query: UPDATE accounts_1 SET addr_1 = ? WHERE account_id_1 = ? and account_id_2 = ? and user_id_1 = ? and user_id_2 = ?
+ bindings:
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: RandomInt
+ count: 2
+ params: [ 1, 3000000 ]
+ - util: RandomInt
+ count: 2
+ params: [ 1, 3000000 ]
+ - query: UPDATE users_1 SET user_name_1 = ?, addr_1 = ? WHERE user_id_1 = ? and user_id_2 = ?
+ bindings:
+ - util: PrimaryStringGen
+ params: [ 1, 10 ]
+ - util: PrimaryStringGen
+ params: [ 1, 50 ]
+ - util: RandomInt
+ count: 2
+ params: [ 1, 3000000 ]
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G5_update_varying_composite_index.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G5_update_varying_composite_index.yaml
new file mode 100644
index 000000000..03cc647f0
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G5_update_varying_composite_index.yaml
@@ -0,0 +1,115 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create index index_test_2_idx1 on index_test_2(col_int_1 asc);
+ - create index index_test_3_idx1 on index_test_3(col_int_1 asc, col_int_2 asc);
+ - create index index_test_4_idx1 on index_test_4(col_int_1 asc, col_int_2 asc, col_int_3 asc, col_int_4 asc, col_int_5 asc);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+
+ rows: 2000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 2000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 2000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: RW_G5_0_column_composite_index_test
+ run:
+ - name: Update_0_column_composite_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_1 SET col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G5_1_column_composite_index_test
+ run:
+ - name: Update_1_column_composite_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_2 SET col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G5_2_column_composite_index_test
+ run:
+ - name: Update_column_composite_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_3 SET col_int_1 = ?, col_int_2 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ count: 2
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G5_5_column_composite_index_test
+ run:
+ - name: Update_column_composite_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_4 SET col_int_1 = ?, col_int_2 = ?, col_int_3 = ?, col_int_4 = ?, col_int_5 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ count: 5
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G6_update_varying_index.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G6_update_varying_index.yaml
new file mode 100644
index 000000000..5d84b1813
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G6_update_varying_index.yaml
@@ -0,0 +1,132 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create index index_test_2_idx1 on index_test_2(col_int_1 asc);
+ - create index index_test_3_idx1 on index_test_3(col_int_1 asc);
+ - create index index_test_3_idx2 on index_test_3(col_int_2 asc);
+ - create index index_test_3_idx3 on index_test_3(col_int_3 asc);
+ - create index index_test_3_idx4 on index_test_3(col_int_4 asc);
+ - create index index_test_3_idx5 on index_test_3(col_int_5 asc);
+ - create index index_test_4_idx1 on index_test_4(col_int_1 asc);
+ - create index index_test_4_idx2 on index_test_4(col_int_2 asc);
+ - create index index_test_4_idx3 on index_test_4(col_int_3 asc);
+ - create index index_test_4_idx4 on index_test_4(col_int_4 asc);
+ - create index index_test_4_idx5 on index_test_4(col_int_5 asc);
+ - create index index_test_4_idx6 on index_test_4(col_int_6 asc);
+ - create index index_test_4_idx7 on index_test_4(col_int_7 asc);
+ - create index index_test_4_idx8 on index_test_4(col_int_8 asc);
+ - create index index_test_4_idx9 on index_test_4(col_int_9 asc);
+ - create index index_test_4_idx10 on index_test_4(col_int_10 asc);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+ rows: 2000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 2000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 2000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: RW_G6_no_index
+ run:
+ - name: Update_without_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_1 SET col_int_1 = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G6_1_index_test
+ run:
+ - name: Update_with_1_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_2 SET col_int_1 = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G6_5_index_test
+ run:
+ - name: Update_with_5_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_3 SET col_int_1 = ?, col_int_2 = ?, col_int_3 = ?, col_int_4 = ?, col_int_5 = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ count: 5
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G6_10_index_test
+ run:
+ - name: Update_with_10_index_test
+ weight: 100
+ queries:
+ - query: UPDATE index_test_4 SET col_int_1 = ?, col_int_2 = ?, col_int_3 = ?, col_int_4 = ?, col_int_5 = ?, col_int_6 = ?, col_int_7 = ?, col_int_8 = ?, col_int_9 = ?, col_int_10 = ? where id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ count: 10
+ params: [ 1, 2000000 ]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+
diff --git a/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G7_update_varying_pk_columns.yaml b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G7_update_varying_pk_columns.yaml
new file mode 100644
index 000000000..d531c304a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/range_write_workloads/yugabyte/RW_G7_update_varying_pk_columns.yaml
@@ -0,0 +1,105 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 24
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists table_test_1;
+ - drop table if exists table_test_2;
+ - drop table if exists table_test_3;
+ - drop table if exists table_test_4;
+ - create table table_test_1 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_varchar_1 varchar(20), primary key (col_int_1 asc));
+ - create table table_test_2 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_varchar_1 varchar(20), primary key (col_int_1 asc, col_int_2 asc));
+ - create table table_test_3 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_varchar_1 varchar(20), primary key (col_int_1 asc, col_int_2 asc, col_int_3 asc));
+ - create table table_test_4 (col_int_1 bigint, col_int_2 bigint, col_int_3 bigint, col_int_4 bigint, col_int_5 bigint, col_int_6 bigint, col_varchar_1 varchar(20), primary key (col_int_1 asc, col_int_2 asc, col_int_3 asc, col_int_4 asc, col_int_5 asc));
+
+ cleanup:
+ - drop table if exists table_test_1;
+ - drop table if exists table_test_2;
+ - drop table if exists table_test_3;
+ - drop table if exists table_test_4;
+ loadRules:
+ - table: table_test_
+ count: 4
+ rows: 2000000
+ columns:
+ - name: col_int_
+ count: 6
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 2000000
+ - name: col_varchar_
+ count: 1
+ util: RandomAString
+ params: [20, 20]
+
+ executeRules:
+ - workload: RW_G7_1_range_column_test
+ run:
+ - name: Update_1_range_column_test
+ weight: 100
+ queries:
+ - query: UPDATE table_test_1 SET col_varchar_1 = ? WHERE col_int_1 = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ params: [ 1, 2000000 ]
+ - workload: RW_G7_2_range_column_test
+ run:
+ - name: Update_2_range_column_test
+ weight: 100
+ queries:
+ - query: UPDATE table_test_2 SET col_varchar_1 = ? WHERE col_int_1 = ? and col_int_2 = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ count: 2
+ params: [ 1, 2000000 ]
+ - workload: RW_G7_3_range_column_test
+ run:
+ - name: Update_3_range_column_test
+ weight: 100
+ queries:
+ - query: UPDATE table_test_3 SET col_varchar_1 = ? WHERE col_int_1 = ? and col_int_2 = ? and col_int_3 = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ count: 3
+ params: [ 1, 2000000 ]
+ - workload: RW_G7_5_range_column_test
+ run:
+ - name: Update_5_range_column_test
+ weight: 100
+ queries:
+ - query: UPDATE table_test_4 SET col_varchar_1 = ? WHERE col_int_1 = ? and col_int_2 = ? and col_int_3 = ? and col_int_4 = ? and col_int_5 = ?
+ count: 1
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ count: 5
+ params: [ 1, 2000000 ]
+
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG11_pkey_rangeScan_INclause_project_indexed_nonindexed_cols.yaml b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG11_pkey_rangeScan_INclause_project_indexed_nonindexed_cols.yaml
new file mode 100644
index 000000000..7cb7ba70b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG11_pkey_rangeScan_INclause_project_indexed_nonindexed_cols.yaml
@@ -0,0 +1,125 @@
+#TEST FOR POSTGRES REGULAR TABLES
+#GOAL11 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Primary key IN scan with additional projected column - Varying number of IN options
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 10 rows
+# Range scan time to fetch 100 rows
+# Range scan time to fetch 1000 rows
+# Range scan time to fetch 10000 rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_for_INclause_tbl_1;
+ - CREATE TABLE pkey_rangescan_for_INclause_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_for_INclause_tbl_1;
+ loadRules:
+ - table: pkey_rangescan_for_INclause_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_1row
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?)
+ bindings:
+ count: 1
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_10row
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_100row
+ customTags: customer=1
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_100row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 100
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_1000row
+ customTags: customer=1
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 1000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_10000row
+ customTags: customer=1
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG12_bitmapscan_orCondition.yaml b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG12_bitmapscan_orCondition.yaml
new file mode 100644
index 000000000..d6ac9ae9e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG12_bitmapscan_orCondition.yaml
@@ -0,0 +1,128 @@
+#TEST FOR POSTGRES REGULAR TABLES
+#GOAL12 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Bitmap scan with OR conditions on pkey and hash and range indexed columns
+#TESTS:
+# Bitmap scan time to fetch 10 rows
+# Bitmap scan time to fetch 100 rows
+# Bitmap scan time to fetch 1000 rows
+# Bitmap scan time to fetch 10000 rows
+# Bitmap scan time to fetch 10000 primary keys with only secondary index conditions
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_for_bitmapscan_tbl_1;
+ - CREATE TABLE pkey_for_bitmapscan_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON pkey_for_bitmapscan_tbl_1 (col_bigint_2 ASC);
+ - CREATE INDEX ON pkey_for_bitmapscan_tbl_1 USING HASH (col_bigint_3);
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_for_bitmapscan_tbl_1;
+ loadRules:
+ - table: pkey_for_bitmapscan_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG12_bitmapscan_orCondition_10row
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_id_1 <= 3 OR col_bigint_2 <= 3 OR col_bigint_3 IN (?,?,?)
+ bindings:
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG12_bitmapscan_orCondition_100row
+ customTags: customer=1
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_100row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_id_1 <= 33 OR col_bigint_2 <= 33 OR col_bigint_3 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 33
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG12_bitmapscan_orCondition_1000row
+ customTags: customer=1
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_id_1 <= 333 OR col_bigint_2 <= 333 OR col_bigint_3 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 333
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG12_bitmapscan_orCondition_10000row
+ customTags: customer=1
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_id_1 <= 3333 OR col_bigint_2 <= 3333 OR col_bigint_3 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 3333
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG12_bitmapscan_orCondition_onlyTargetPkey_10000row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_2 <= 5000 OR col_bigint_3 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 5000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG13_wideSchema_fullTableScan.yaml b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG13_wideSchema_fullTableScan.yaml
new file mode 100644
index 000000000..f7e1e1237
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG13_wideSchema_fullTableScan.yaml
@@ -0,0 +1,75 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 30
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS wide_table_50kB;
+ - drop table IF EXISTS wide_table_200kB;
+ - CREATE TABLE wide_table_50kB (int_col1 INT PRIMARY KEY, int_col2 INT, text_col1 TEXT, text_col2 TEXT, text_col3 TEXT, text_col4 TEXT, text_col5 TEXT, text_col6 TEXT, text_col7 TEXT, text_col8 TEXT, text_col9 TEXT, text_col10 TEXT);
+ - CREATE TABLE wide_table_200kB (int_col1 INT PRIMARY KEY, int_col2 INT, text_col1 TEXT, text_col2 TEXT, text_col3 TEXT, text_col4 TEXT, text_col5 TEXT, text_col6 TEXT, text_col7 TEXT, text_col8 TEXT, text_col9 TEXT, text_col10 TEXT);
+
+ afterLoad:
+ - CREATE INDEX idx_int_col2_50kB ON wide_table_50kB(int_col2);
+ - CREATE INDEX idx_int_col2_200kB ON wide_table_200kB(int_col2);
+
+ loadRules:
+ - table: wide_table_50kB
+ rows: 10000
+ columns:
+ - name: int_col1
+ util: PrimaryIntGen
+ params: [1, 10000]
+ - name: int_col2
+ util: PrimaryIntGen
+ params: [1, 10000]
+ - name: text_col
+ count: 10
+ util: RandomAString
+ params: [5000, 5000]
+
+ - table: wide_table_200kB
+ rows: 10000
+ columns:
+ - name: int_col1
+ util: PrimaryIntGen
+ params: [1, 10000]
+ - name: int_col2
+ util: PrimaryIntGen
+ params: [1, 10000]
+ - name: text_col
+ count: 10
+ util: RandomAString
+ params: [20000, 20000]
+
+ executeRules:
+ - workload: select_50kB
+ time_secs: 30
+ run:
+ - name: select_50kB
+ weight: 100
+ queries:
+ - query: SELECT * FROM wide_table_50kB;
+
+ - workload: select_200kB
+ time_secs: 30
+ run:
+ - name: select_200kB
+ weight: 100
+ queries:
+ - query: SELECT * FROM wide_table_200kB;
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG2_pkey_rangeScan_increasingRows.yaml b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG2_pkey_rangeScan_increasingRows.yaml
new file mode 100755
index 000000000..24f43b73d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG2_pkey_rangeScan_increasingRows.yaml
@@ -0,0 +1,95 @@
+#TEST FOR POSTGRES
+#GOAL2 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Primary key range scan - Varying number of rows
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 100k rows
+# Range scan time to fetch 500k rows
+# Range scan time to fetch 1M rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_tbl_1;
+ - CREATE TABLE pkey_rangescan_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_tbl_1;
+ loadRules:
+ - table: pkey_rangescan_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG2_pkey_rangescan_varying_rows_1row
+ run:
+ - name: pkey_rangescan_1row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_rangescan_tbl_1 where col_bigint_id_1>999999
+ - workload: scanG2_pkey_rangescan_varying_rows_100Krows
+ run:
+ - name: pkey_rangescan_100krow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_rangescan_tbl_1 where col_bigint_id_1>900000
+ - workload: scanG2_pkey_rangescan_varying_rows_500Krows
+ run:
+ - name: pkey_rangescan_500krow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_rangescan_tbl_1 where col_bigint_id_1>500000
+ - workload: scanG2_pkey_rangescan_varying_rows_1Mrows
+ run:
+ - name: pkey_rangescan_1Mrow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_rangescan_tbl_1 where col_bigint_id_1>1
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG3_index_rangeScan_increasingRows.yaml b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG3_index_rangeScan_increasingRows.yaml
new file mode 100644
index 000000000..cb6f9c9be
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG3_index_rangeScan_increasingRows.yaml
@@ -0,0 +1,97 @@
+#TEST FOR POSTGRES
+#GOAL3 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Indexed column range scan - Varying number of rows
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 100k rows
+# Range scan time to fetch 500k rows
+# Range scan time to fetch 1M rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS indx_rangescan_tbl_1;
+ - CREATE TABLE indx_rangescan_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE INDEX ON indx_rangescan_tbl_1(col_bigint_id_1);
+ cleanup:
+ - DROP TABLE IF EXISTS indx_rangescan_tbl_1;
+ loadRules:
+ - table: indx_rangescan_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+
+ executeRules:
+ - workload: scanG3_indx_rangescan_varying_rows_1row
+ run:
+ - name: indx_rangescan_1row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from indx_rangescan_tbl_1 where col_bigint_id_1>999999
+ - workload: scanG3_indx_rangescan_varying_rows_100Krows
+ run:
+ - name: indx_rangescan_100krow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from indx_rangescan_tbl_1 where col_bigint_id_1>900000
+ - workload: scanG3_indx_rangescan_varying_rows_500Krows
+ run:
+ - name: indx_rangescan_500krow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from indx_rangescan_tbl_1 where col_bigint_id_1>500000
+ - workload: scanG3_indx_rangescan_varying_rows_1Mrows
+ run:
+ - name: indx_rangescan_1Mrow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from indx_rangescan_tbl_1 where col_bigint_id_1>1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG5_pkey_hash_pointLookup_increasingColumn.yaml b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG5_pkey_hash_pointLookup_increasingColumn.yaml
new file mode 100644
index 000000000..f7b5adb7b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG5_pkey_hash_pointLookup_increasingColumn.yaml
@@ -0,0 +1,104 @@
+#TEST FOR POSTGRES REGULAR TABLES
+#GOAL5 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Point range lookup with different number of return columns (range primary key)
+#TESTS:
+# Time to fetch 1 column from schema that has 1 column
+# Time to fetch 10 column from schema that has 10 column
+# Time to fetch 100 column from schema that has 100 column
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_1column_1;
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_10column_1;
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_100column_1;
+ - CREATE TABLE pkey_hash_pointLookup_1column_1(col_bigint_id_1 bigint,PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkey_hash_pointLookup_10column_1(col_bigint_id_1 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint,PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkey_hash_pointLookup_100column_1(col_bigint_id_1 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint ,col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint ,col_bigint_15 bigint ,col_bigint_16 bigint ,col_bigint_17 bigint ,col_bigint_18 bigint ,col_bigint_19 bigint ,col_bigint_20 bigint ,col_bigint_21 bigint ,col_bigint_22 bigint ,col_bigint_23 bigint ,col_bigint_24 bigint ,col_bigint_25 bigint ,col_bigint_26 bigint ,col_bigint_27 bigint ,col_bigint_28 bigint ,col_bigint_29 bigint ,col_bigint_30 bigint ,col_bigint_31 bigint ,col_bigint_32 bigint ,col_bigint_33 bigint ,col_bigint_34 bigint ,col_bigint_35 bigint ,col_bigint_36 bigint ,col_bigint_37 bigint ,col_bigint_38 bigint ,col_bigint_39 bigint ,col_bigint_40 bigint ,col_bigint_41 bigint ,col_bigint_42 bigint ,col_bigint_43 bigint ,col_bigint_44 bigint ,col_bigint_45 bigint ,col_bigint_46 bigint ,col_bigint_47 bigint ,col_bigint_48 bigint ,col_bigint_49 bigint ,col_bigint_50 bigint ,col_bigint_51 bigint ,col_bigint_52 bigint ,col_bigint_53 bigint ,col_bigint_54 bigint ,col_bigint_55 bigint ,col_bigint_56 bigint ,col_bigint_57 bigint ,col_bigint_58 bigint ,col_bigint_59 bigint ,col_bigint_60 bigint ,col_bigint_61 bigint ,col_bigint_62 bigint ,col_bigint_63 bigint ,col_bigint_64 bigint ,col_bigint_65 bigint ,col_bigint_66 bigint ,col_bigint_67 bigint ,col_bigint_68 bigint ,col_bigint_69 bigint ,col_bigint_70 bigint ,col_bigint_71 bigint ,col_bigint_72 bigint ,col_bigint_73 bigint ,col_bigint_74 bigint ,col_bigint_75 bigint ,col_bigint_76 bigint ,col_bigint_77 bigint ,col_bigint_78 bigint ,col_bigint_79 bigint ,col_bigint_80 bigint ,col_bigint_81 bigint ,col_bigint_82 bigint ,col_bigint_83 bigint ,col_bigint_84 bigint ,col_bigint_85 bigint ,col_bigint_86 bigint ,col_bigint_87 bigint ,col_bigint_88 bigint ,col_bigint_89 bigint ,col_bigint_90 bigint ,col_bigint_91 bigint ,col_bigint_92 bigint ,col_bigint_93 bigint ,col_bigint_94 bigint ,col_bigint_95 bigint ,col_bigint_96 bigint ,col_bigint_97 bigint ,col_bigint_98 bigint ,col_bigint_99 bigint,PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_1column_1;
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_10column_1;
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_100column_1;
+ loadRules:
+ - table: pkey_hash_pointLookup_1column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - table: pkey_hash_pointLookup_10column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 9
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_hash_pointLookup_100column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 99
+ util: RandomNumber
+ params: [1, 1000000]
+ executeRules:
+ - workload: scanG5_pkey_hash_pointLookup_table1column_fetch1column
+ run:
+ - name: pkey_hash_pointLookup_table1column_fetch1column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_pointLookup_1column_1 where col_bigint_id_1=(?)
+ bindings:
+ count: 1
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG5_pkey_hash_pointLookup_table10column_fetch10column
+ run:
+ - name: pkey_hash_pointLookup_table10column_fetch10column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_pointLookup_10column_1 where col_bigint_id_1=(?)
+ bindings:
+ count: 1
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG5_pkey_hash_pointLookup_table100column_fetch100column
+ run:
+ - name: pkey_hash_pointLookup_table100column_fetch100column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_pointLookup_100column_1 where col_bigint_id_1=(?)
+ bindings:
+ count: 1
+ util: RandomNumber
+ params: [ 1, 1000000 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG7_pkey_rangescan_fullTableScan_increasingColumn.yaml b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG7_pkey_rangescan_fullTableScan_increasingColumn.yaml
new file mode 100644
index 000000000..beb54b220
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG7_pkey_rangescan_fullTableScan_increasingColumn.yaml
@@ -0,0 +1,92 @@
+#TEST FOR POSTGRES REGULAR TABLES
+#GOAL7 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Range lookup with different number of return columns (Range primary key) (full table scan)
+#TESTS:
+# Time to fetch 1 column from schema that has 1 column
+# Time to fetch 10 column from schema that has 10 column
+# Time to fetch 100 column from schema that has 100 column
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_1column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_10column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_100column_1;
+ - CREATE TABLE pkey_rangescan_fullTable_1column_1(col_bigint_id_1 bigint,PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkey_rangescan_fullTable_10column_1(col_bigint_id_1 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint,PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkey_rangescan_fullTable_100column_1(col_bigint_id_1 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint ,col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint ,col_bigint_15 bigint ,col_bigint_16 bigint ,col_bigint_17 bigint ,col_bigint_18 bigint ,col_bigint_19 bigint ,col_bigint_20 bigint ,col_bigint_21 bigint ,col_bigint_22 bigint ,col_bigint_23 bigint ,col_bigint_24 bigint ,col_bigint_25 bigint ,col_bigint_26 bigint ,col_bigint_27 bigint ,col_bigint_28 bigint ,col_bigint_29 bigint ,col_bigint_30 bigint ,col_bigint_31 bigint ,col_bigint_32 bigint ,col_bigint_33 bigint ,col_bigint_34 bigint ,col_bigint_35 bigint ,col_bigint_36 bigint ,col_bigint_37 bigint ,col_bigint_38 bigint ,col_bigint_39 bigint ,col_bigint_40 bigint ,col_bigint_41 bigint ,col_bigint_42 bigint ,col_bigint_43 bigint ,col_bigint_44 bigint ,col_bigint_45 bigint ,col_bigint_46 bigint ,col_bigint_47 bigint ,col_bigint_48 bigint ,col_bigint_49 bigint ,col_bigint_50 bigint ,col_bigint_51 bigint ,col_bigint_52 bigint ,col_bigint_53 bigint ,col_bigint_54 bigint ,col_bigint_55 bigint ,col_bigint_56 bigint ,col_bigint_57 bigint ,col_bigint_58 bigint ,col_bigint_59 bigint ,col_bigint_60 bigint ,col_bigint_61 bigint ,col_bigint_62 bigint ,col_bigint_63 bigint ,col_bigint_64 bigint ,col_bigint_65 bigint ,col_bigint_66 bigint ,col_bigint_67 bigint ,col_bigint_68 bigint ,col_bigint_69 bigint ,col_bigint_70 bigint ,col_bigint_71 bigint ,col_bigint_72 bigint ,col_bigint_73 bigint ,col_bigint_74 bigint ,col_bigint_75 bigint ,col_bigint_76 bigint ,col_bigint_77 bigint ,col_bigint_78 bigint ,col_bigint_79 bigint ,col_bigint_80 bigint ,col_bigint_81 bigint ,col_bigint_82 bigint ,col_bigint_83 bigint ,col_bigint_84 bigint ,col_bigint_85 bigint ,col_bigint_86 bigint ,col_bigint_87 bigint ,col_bigint_88 bigint ,col_bigint_89 bigint ,col_bigint_90 bigint ,col_bigint_91 bigint ,col_bigint_92 bigint ,col_bigint_93 bigint ,col_bigint_94 bigint ,col_bigint_95 bigint ,col_bigint_96 bigint ,col_bigint_97 bigint ,col_bigint_98 bigint ,col_bigint_99 bigint,PRIMARY KEY(col_bigint_id_1));
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_1column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_10column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_100column_1;
+ loadRules:
+ - table: pkey_rangescan_fullTable_1column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_10column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 9
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_100column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 99
+ util: RandomNumber
+ params: [1, 1000000]
+ executeRules:
+ - workload: scanG7_pkey_rangescan_fullTable_table1column_fetch1column
+ run:
+ - name: pkey_rangescan_fullTable_table1column_fetch1column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_1column_1 where col_bigint_id_1>1
+ - workload: scanG7_pkey_rangescan_fullTable_table10column_fetch10column
+ run:
+ - name: pkey_rangescan_fullTable_table10column_fetch10column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_10column_1 where col_bigint_id_1>1
+ - workload: scanG7_pkey_rangescan_fullTable_table100column_fetch100column
+ run:
+ - name: pkey_rangescan_halfTable_table100column_fetch100column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_100column_1 where col_bigint_id_1>1
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG8_nonIndexed_rangescan_fullTableScan_increasingRow.yaml b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG8_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
new file mode 100644
index 000000000..e7722715d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG8_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
@@ -0,0 +1,167 @@
+#TEST FOR POSTGRES
+#GOAL8 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Scan of a non indexed column which returns 0 row (Whole table scan)
+#TESTS:
+# Time to scan a table with 1 million rows
+# Time to scan a table with 5 million rows
+# Time to scan a table with 10 million rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_10M_rows_1;
+ - CREATE TABLE noIndex_fullTable_seqScan_1M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE noIndex_fullTable_seqScan_5M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE noIndex_fullTable_seqScan_10M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ cleanup:
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_10M_rows_1;
+ loadRules:
+ - table: noIndex_fullTable_seqScan_1M_rows_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: noIndex_fullTable_seqScan_5M_rows_
+ count: 1
+ rows: 5000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 5000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 5000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: noIndex_fullTable_seqScan_10M_rows_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 10000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 10000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG8_noIndex_fullTable_seqScan_1M_rows
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=scan
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from noIndex_fullTable_seqScan_1M_rows_1 where col_bigint_id_1>999999
+ - workload: scanG8_noIndex_fullTable_seqScan_5M_rows
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=scan
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from noIndex_fullTable_seqScan_5M_rows_1 where col_bigint_id_1>4999999
+ - workload: scanG8_noIndex_fullTable_seqScan_10M_rows
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=scan
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from noIndex_fullTable_seqScan_10M_rows_1 where col_bigint_id_1>9999999
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG9_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG9_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
new file mode 100644
index 000000000..2265dc5b7
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/postgres/scanG9_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
@@ -0,0 +1,164 @@
+#TEST FOR POSTGRES
+#GOAL8 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# count(*) query (Pushdown to docdb)
+#TESTS:
+# Time to scan a table with 1 million rows
+# Time to scan a table with 5 million rows
+# Time to scan a table with 10 million rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_10M_rows_1;
+ - CREATE TABLE count_noIndex_fullTable_seqScan_1M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE count_noIndex_fullTable_seqScan_5M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE count_noIndex_fullTable_seqScan_10M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ cleanup:
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_10M_rows_1;
+ loadRules:
+ - table: count_noIndex_fullTable_seqScan_1M_rows_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: count_noIndex_fullTable_seqScan_5M_rows_
+ count: 1
+ rows: 5000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 5000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 5000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: count_noIndex_fullTable_seqScan_10M_rows_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 10000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 10000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG9_count_noIndex_fullTable_seqScan_1M_rows
+ run:
+ - name: count_noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from count_noIndex_fullTable_seqScan_1M_rows_1
+ - workload: scanG9_count_noIndex_fullTable_seqScan_5M_rows
+ run:
+ - name: count_noIndex_fullTable_seqScan_5M_rows_test
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from count_noIndex_fullTable_seqScan_5M_rows_1
+ - workload: scanG9_count_noIndex_fullTable_seqScan_10M_rows
+ run:
+ - name: count_noIndex_fullTable_seqScan_10M_rows_test
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from count_noIndex_fullTable_seqScan_10M_rows_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG11_pkey_rangeScan_INclause_project_indexed_nonindexed_cols.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG11_pkey_rangeScan_INclause_project_indexed_nonindexed_cols.yaml
new file mode 100644
index 000000000..456682408
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG11_pkey_rangeScan_INclause_project_indexed_nonindexed_cols.yaml
@@ -0,0 +1,131 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL11 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Primary key IN scan with additional projected column - Varying number of IN options
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 10 rows
+# Range scan time to fetch 100 rows
+# Range scan time to fetch 1000 rows
+# Range scan time to fetch 10000 rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_for_INclause_tbl_1;
+ - CREATE TABLE pkey_rangescan_for_INclause_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_for_INclause_tbl_1;
+ loadRules:
+ - table: pkey_rangescan_for_INclause_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_1row
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?)
+ bindings:
+ count: 1
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_10row
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_100row
+ customTags: customer=1,schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_100row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 100
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_1000row
+ customTags: customer=1,schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ explain-plan-rc-validation: 1000
+ bindings:
+ count: 1000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_10000row
+ customTags: customer=1,schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ explain-plan-rc-validation: 10000
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG12_bitmapscan_orCondition.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG12_bitmapscan_orCondition.yaml
new file mode 100644
index 000000000..be8cfb928
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG12_bitmapscan_orCondition.yaml
@@ -0,0 +1,131 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL12 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Bitmap scan with OR conditions on pkey and hash and range indexed columns
+#TESTS:
+# Bitmap scan time to fetch 10 rows
+# Bitmap scan time to fetch 100 rows
+# Bitmap scan time to fetch 1000 rows
+# Bitmap scan time to fetch 10000 rows
+# Bitmap scan time to fetch 10000 primary keys with only secondary index conditions
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_for_bitmapscan_tbl_1;
+ - CREATE TABLE pkey_for_bitmapscan_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON pkey_for_bitmapscan_tbl_1 (col_bigint_2 ASC);
+ - CREATE INDEX ON pkey_for_bitmapscan_tbl_1 (col_bigint_3 ASC);
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_for_bitmapscan_tbl_1;
+ loadRules:
+ - table: pkey_for_bitmapscan_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG12_bitmapscan_orCondition_10row
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_id_1 <= 3 OR col_bigint_2 <= 3 OR col_bigint_3 IN (?,?,?)
+ bindings:
+ count: 3
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG12_bitmapscan_orCondition_100row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_100row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_id_1 <= 33 OR col_bigint_2 <= 33 OR col_bigint_3 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 33
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG12_bitmapscan_orCondition_1000row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_id_1 <= 333 OR col_bigint_2 <= 333 OR col_bigint_3 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 333
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG12_bitmapscan_orCondition_10000row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_id_1 <= 3333 OR col_bigint_2 <= 3333 OR col_bigint_3 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 3333
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG12_bitmapscan_orCondition_onlyTargetPkey_10000row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_2 <= 5000 OR col_bigint_3 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 5000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG13_wideSchema_fullTableScan.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG13_wideSchema_fullTableScan.yaml
new file mode 100644
index 000000000..32b549bc1
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG13_wideSchema_fullTableScan.yaml
@@ -0,0 +1,77 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+use_dist_in_explain: true
+works:
+ work:
+ time_secs: 30
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS wide_table_50kB;
+ - drop table IF EXISTS wide_table_200kB;
+ - CREATE TABLE wide_table_50kB (int_col1 INT PRIMARY KEY, int_col2 INT, text_col1 TEXT, text_col2 TEXT, text_col3 TEXT, text_col4 TEXT, text_col5 TEXT, text_col6 TEXT, text_col7 TEXT, text_col8 TEXT, text_col9 TEXT, text_col10 TEXT);
+ - CREATE TABLE wide_table_200kB (int_col1 INT PRIMARY KEY, int_col2 INT, text_col1 TEXT, text_col2 TEXT, text_col3 TEXT, text_col4 TEXT, text_col5 TEXT, text_col6 TEXT, text_col7 TEXT, text_col8 TEXT, text_col9 TEXT, text_col10 TEXT);
+
+ afterLoad:
+ - CREATE INDEX idx_int_col2_50kB ON wide_table_50kB(int_col2);
+ - CREATE INDEX idx_int_col2_200kB ON wide_table_200kB(int_col2);
+
+ loadRules:
+ - table: wide_table_50kB
+ rows: 10000
+ columns:
+ - name: int_col1
+ util: PrimaryIntGen
+ params: [1, 10000]
+ - name: int_col2
+ util: PrimaryIntGen
+ params: [1, 10000]
+ - name: text_col
+ count: 10
+ util: RandomAString
+ params: [5000, 5000]
+
+ - table: wide_table_200kB
+ rows: 10000
+ columns:
+ - name: int_col1
+ util: PrimaryIntGen
+ params: [1, 10000]
+ - name: int_col2
+ util: PrimaryIntGen
+ params: [1, 10000]
+ - name: text_col
+ count: 10
+ util: RandomAString
+ params: [20000, 20000]
+
+ executeRules:
+ - workload: select_50kB
+ time_secs: 30
+ run:
+ - name: select_50kB
+ weight: 100
+ queries:
+ - query: SELECT * FROM wide_table_50kB;
+
+ - workload: select_200kB
+ time_secs: 30
+ run:
+ - name: select_200kB
+ weight: 100
+ queries:
+ - query: SELECT * FROM wide_table_200kB;
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG2_pkey_rangeScan_increasingRows.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG2_pkey_rangeScan_increasingRows.yaml
new file mode 100644
index 000000000..268dbcae0
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG2_pkey_rangeScan_increasingRows.yaml
@@ -0,0 +1,101 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL2 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Primary key range scan - Varying number of rows
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 100k rows
+# Range scan time to fetch 500k rows
+# Range scan time to fetch 1M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_tbl_1;
+ - CREATE TABLE pkey_rangescan_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_tbl_1;
+ loadRules:
+ - table: pkey_rangescan_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG2_pkey_rangescan_varying_rows_1row
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_1row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_rangescan_tbl_1 where col_bigint_id_1>999999
+ - workload: scanG2_pkey_rangescan_varying_rows_100Krows
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_100krow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_rangescan_tbl_1 where col_bigint_id_1>900000
+ - workload: scanG2_pkey_rangescan_varying_rows_500Krows
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_500krow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_rangescan_tbl_1 where col_bigint_id_1>500000
+ - workload: scanG2_pkey_rangescan_varying_rows_1Mrows
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_1Mrow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_rangescan_tbl_1 where col_bigint_id_1>1
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG3_index_rangeScan_increasingRows.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG3_index_rangeScan_increasingRows.yaml
new file mode 100644
index 000000000..61dcc9ad7
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG3_index_rangeScan_increasingRows.yaml
@@ -0,0 +1,103 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL3 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Indexed column range scan - Varying number of rows
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 100k rows
+# Range scan time to fetch 500k rows
+# Range scan time to fetch 1M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS indx_rangescan_tbl_1;
+ - CREATE TABLE indx_rangescan_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE INDEX ON indx_rangescan_tbl_1(col_bigint_id_1 ASC);
+ cleanup:
+ - DROP TABLE IF EXISTS indx_rangescan_tbl_1;
+ loadRules:
+ - table: indx_rangescan_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+
+ executeRules:
+ - workload: scanG3_indx_rangescan_varying_rows_1row
+ customTags: schematype=colocated,partition=range,skey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: indx_rangescan_1row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from indx_rangescan_tbl_1 where col_bigint_id_1>999999
+ - workload: scanG3_indx_rangescan_varying_rows_100Krows
+ customTags: schematype=colocated,partition=range,skey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: indx_rangescan_100krow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from indx_rangescan_tbl_1 where col_bigint_id_1>900000
+ - workload: scanG3_indx_rangescan_varying_rows_500Krows
+ customTags: schematype=colocated,partition=range,skey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: indx_rangescan_500krow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from indx_rangescan_tbl_1 where col_bigint_id_1>500000
+ - workload: scanG3_indx_rangescan_varying_rows_1Mrows
+ customTags: schematype=colocated,partition=range,skey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: indx_rangescan_1Mrow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from indx_rangescan_tbl_1 where col_bigint_id_1>1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG5_pkey_hash_pointLookup_increasingColumn.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG5_pkey_hash_pointLookup_increasingColumn.yaml
new file mode 100644
index 000000000..746953c69
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG5_pkey_hash_pointLookup_increasingColumn.yaml
@@ -0,0 +1,109 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL5 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Point hash lookup with different number of return columns (Hash primary key)
+#TESTS:
+# Time to fetch 1 column from schema that has 1 column
+# Time to fetch 10 column from schema that has 10 column
+# Time to fetch 100 column from schema that has 100 column
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_1column_1;
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_10column_1;
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_100column_1;
+ - CREATE TABLE pkey_hash_pointLookup_1column_1(col_bigint_id_1 bigint,PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkey_hash_pointLookup_10column_1(col_bigint_id_1 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint,PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkey_hash_pointLookup_100column_1(col_bigint_id_1 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint ,col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint ,col_bigint_15 bigint ,col_bigint_16 bigint ,col_bigint_17 bigint ,col_bigint_18 bigint ,col_bigint_19 bigint ,col_bigint_20 bigint ,col_bigint_21 bigint ,col_bigint_22 bigint ,col_bigint_23 bigint ,col_bigint_24 bigint ,col_bigint_25 bigint ,col_bigint_26 bigint ,col_bigint_27 bigint ,col_bigint_28 bigint ,col_bigint_29 bigint ,col_bigint_30 bigint ,col_bigint_31 bigint ,col_bigint_32 bigint ,col_bigint_33 bigint ,col_bigint_34 bigint ,col_bigint_35 bigint ,col_bigint_36 bigint ,col_bigint_37 bigint ,col_bigint_38 bigint ,col_bigint_39 bigint ,col_bigint_40 bigint ,col_bigint_41 bigint ,col_bigint_42 bigint ,col_bigint_43 bigint ,col_bigint_44 bigint ,col_bigint_45 bigint ,col_bigint_46 bigint ,col_bigint_47 bigint ,col_bigint_48 bigint ,col_bigint_49 bigint ,col_bigint_50 bigint ,col_bigint_51 bigint ,col_bigint_52 bigint ,col_bigint_53 bigint ,col_bigint_54 bigint ,col_bigint_55 bigint ,col_bigint_56 bigint ,col_bigint_57 bigint ,col_bigint_58 bigint ,col_bigint_59 bigint ,col_bigint_60 bigint ,col_bigint_61 bigint ,col_bigint_62 bigint ,col_bigint_63 bigint ,col_bigint_64 bigint ,col_bigint_65 bigint ,col_bigint_66 bigint ,col_bigint_67 bigint ,col_bigint_68 bigint ,col_bigint_69 bigint ,col_bigint_70 bigint ,col_bigint_71 bigint ,col_bigint_72 bigint ,col_bigint_73 bigint ,col_bigint_74 bigint ,col_bigint_75 bigint ,col_bigint_76 bigint ,col_bigint_77 bigint ,col_bigint_78 bigint ,col_bigint_79 bigint ,col_bigint_80 bigint ,col_bigint_81 bigint ,col_bigint_82 bigint ,col_bigint_83 bigint ,col_bigint_84 bigint ,col_bigint_85 bigint ,col_bigint_86 bigint ,col_bigint_87 bigint ,col_bigint_88 bigint ,col_bigint_89 bigint ,col_bigint_90 bigint ,col_bigint_91 bigint ,col_bigint_92 bigint ,col_bigint_93 bigint ,col_bigint_94 bigint ,col_bigint_95 bigint ,col_bigint_96 bigint ,col_bigint_97 bigint ,col_bigint_98 bigint ,col_bigint_99 bigint,PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_1column_1;
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_10column_1;
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_100column_1;
+ loadRules:
+ - table: pkey_hash_pointLookup_1column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - table: pkey_hash_pointLookup_10column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 9
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_hash_pointLookup_100column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 99
+ util: RandomNumber
+ params: [1, 1000000]
+ executeRules:
+ - workload: scanG5_pkey_hash_pointLookup_table1column_fetch1column
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: pkey_hash_pointLookup_table1column_fetch1column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_pointLookup_1column_1 where col_bigint_id_1=(?)
+ bindings:
+ count: 1
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG5_pkey_hash_pointLookup_table10column_fetch10column
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: pkey_hash_pointLookup_table10column_fetch10column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_pointLookup_10column_1 where col_bigint_id_1=(?)
+ bindings:
+ count: 1
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG5_pkey_hash_pointLookup_table100column_fetch100column
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=all,filtercount=one,filteron=rangepkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: pkey_hash_pointLookup_table100column_fetch100column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_pointLookup_100column_1 where col_bigint_id_1=(?)
+ bindings:
+ count: 1
+ util: RandomNumber
+ params: [ 1, 1000000 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG7_pkey_rangescan_fullTableScan_increasingColumn.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG7_pkey_rangescan_fullTableScan_increasingColumn.yaml
new file mode 100644
index 000000000..04153630b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG7_pkey_rangescan_fullTableScan_increasingColumn.yaml
@@ -0,0 +1,97 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL7 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Range lookup with different number of return columns (Range primary key) (full table scan)
+#TESTS:
+# Time to fetch 1 column from schema that has 1 column
+# Time to fetch 10 column from schema that has 10 column
+# Time to fetch 100 column from schema that has 100 column
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_1column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_10column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_100column_1;
+ - CREATE TABLE pkey_rangescan_fullTable_1column_1(col_bigint_id_1 bigint,PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkey_rangescan_fullTable_10column_1(col_bigint_id_1 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint,PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkey_rangescan_fullTable_100column_1(col_bigint_id_1 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint ,col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint ,col_bigint_15 bigint ,col_bigint_16 bigint ,col_bigint_17 bigint ,col_bigint_18 bigint ,col_bigint_19 bigint ,col_bigint_20 bigint ,col_bigint_21 bigint ,col_bigint_22 bigint ,col_bigint_23 bigint ,col_bigint_24 bigint ,col_bigint_25 bigint ,col_bigint_26 bigint ,col_bigint_27 bigint ,col_bigint_28 bigint ,col_bigint_29 bigint ,col_bigint_30 bigint ,col_bigint_31 bigint ,col_bigint_32 bigint ,col_bigint_33 bigint ,col_bigint_34 bigint ,col_bigint_35 bigint ,col_bigint_36 bigint ,col_bigint_37 bigint ,col_bigint_38 bigint ,col_bigint_39 bigint ,col_bigint_40 bigint ,col_bigint_41 bigint ,col_bigint_42 bigint ,col_bigint_43 bigint ,col_bigint_44 bigint ,col_bigint_45 bigint ,col_bigint_46 bigint ,col_bigint_47 bigint ,col_bigint_48 bigint ,col_bigint_49 bigint ,col_bigint_50 bigint ,col_bigint_51 bigint ,col_bigint_52 bigint ,col_bigint_53 bigint ,col_bigint_54 bigint ,col_bigint_55 bigint ,col_bigint_56 bigint ,col_bigint_57 bigint ,col_bigint_58 bigint ,col_bigint_59 bigint ,col_bigint_60 bigint ,col_bigint_61 bigint ,col_bigint_62 bigint ,col_bigint_63 bigint ,col_bigint_64 bigint ,col_bigint_65 bigint ,col_bigint_66 bigint ,col_bigint_67 bigint ,col_bigint_68 bigint ,col_bigint_69 bigint ,col_bigint_70 bigint ,col_bigint_71 bigint ,col_bigint_72 bigint ,col_bigint_73 bigint ,col_bigint_74 bigint ,col_bigint_75 bigint ,col_bigint_76 bigint ,col_bigint_77 bigint ,col_bigint_78 bigint ,col_bigint_79 bigint ,col_bigint_80 bigint ,col_bigint_81 bigint ,col_bigint_82 bigint ,col_bigint_83 bigint ,col_bigint_84 bigint ,col_bigint_85 bigint ,col_bigint_86 bigint ,col_bigint_87 bigint ,col_bigint_88 bigint ,col_bigint_89 bigint ,col_bigint_90 bigint ,col_bigint_91 bigint ,col_bigint_92 bigint ,col_bigint_93 bigint ,col_bigint_94 bigint ,col_bigint_95 bigint ,col_bigint_96 bigint ,col_bigint_97 bigint ,col_bigint_98 bigint ,col_bigint_99 bigint,PRIMARY KEY(col_bigint_id_1 ASC));
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_1column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_10column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_100column_1;
+ loadRules:
+ - table: pkey_rangescan_fullTable_1column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_10column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 9
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_100column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 99
+ util: RandomNumber
+ params: [1, 1000000]
+ executeRules:
+ - workload: scanG7_pkey_rangescan_fullTable_table1column_fetch1column
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_fullTable_table1column_fetch1column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_1column_1 where col_bigint_id_1>1
+ - workload: scanG7_pkey_rangescan_fullTable_table10column_fetch10column
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_fullTable_table10column_fetch10column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_10column_1 where col_bigint_id_1>1
+ - workload: scanG7_pkey_rangescan_fullTable_table100column_fetch100column
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_halfTable_table100column_fetch100column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_100column_1 where col_bigint_id_1>1
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG8_nonIndexed_rangescan_fullTableScan_increasingRow.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG8_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
new file mode 100644
index 000000000..95e9dbbd9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG8_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
@@ -0,0 +1,169 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL8 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Scan of a non indexed column which returns 0 row (Whole table scan)
+#TESTS:
+# Time to scan a table with 1 million rows
+# Time to scan a table with 5 million rows
+# Time to scan a table with 10 million rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_10M_rows_1;
+ - CREATE TABLE noIndex_fullTable_seqScan_1M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE noIndex_fullTable_seqScan_5M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE noIndex_fullTable_seqScan_10M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ cleanup:
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_10M_rows_1;
+ loadRules:
+ - table: noIndex_fullTable_seqScan_1M_rows_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: noIndex_fullTable_seqScan_5M_rows_
+ count: 1
+ rows: 5000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 5000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 5000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: noIndex_fullTable_seqScan_10M_rows_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 10000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 10000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG8_noIndex_fullTable_seqScan_1M_rows
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=scan
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from noIndex_fullTable_seqScan_1M_rows_1 where col_bigint_id_1>999999
+ - workload: scanG8_noIndex_fullTable_seqScan_5M_rows
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=scan
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from noIndex_fullTable_seqScan_5M_rows_1 where col_bigint_id_1>4999999
+ - workload: scanG8_noIndex_fullTable_seqScan_10M_rows
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=scan
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from noIndex_fullTable_seqScan_10M_rows_1 where col_bigint_id_1>9999999
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG9_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG9_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
new file mode 100644
index 000000000..62146eb94
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yb_colocated/scanG9_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
@@ -0,0 +1,169 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL8 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# count(*) query (Pushdown to docdb)
+#TESTS:
+# Time to scan a table with 1 million rows
+# Time to scan a table with 5 million rows
+# Time to scan a table with 10 million rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_10M_rows_1;
+ - CREATE TABLE count_noIndex_fullTable_seqScan_1M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE count_noIndex_fullTable_seqScan_5M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE count_noIndex_fullTable_seqScan_10M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ cleanup:
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_10M_rows_1;
+ loadRules:
+ - table: count_noIndex_fullTable_seqScan_1M_rows_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: count_noIndex_fullTable_seqScan_5M_rows_
+ count: 1
+ rows: 5000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 5000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 5000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: count_noIndex_fullTable_seqScan_10M_rows_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 10000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 10000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG9_count_noIndex_fullTable_seqScan_1M_rows
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=aggregate,filtercount=one,queryshape=scan
+ run:
+ - name: count_noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from count_noIndex_fullTable_seqScan_1M_rows_1
+ - workload: scanG9_count_noIndex_fullTable_seqScan_5M_rows
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=aggregate,filtercount=one,queryshape=scan
+ run:
+ - name: count_noIndex_fullTable_seqScan_5M_rows_test
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from count_noIndex_fullTable_seqScan_5M_rows_1
+ - workload: scanG9_count_noIndex_fullTable_seqScan_10M_rows
+ customTags: schematype=colocated,partition=range,pkey=asc,cardinality=single,projection=aggregate,filtercount=one,queryshape=scan
+ run:
+ - name: count_noIndex_fullTable_seqScan_10M_rows_test
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from count_noIndex_fullTable_seqScan_10M_rows_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG10_seqscan_increasingTabletCount.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG10_seqscan_increasingTabletCount.yaml
new file mode 100644
index 000000000..0a2748e9a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG10_seqscan_increasingTabletCount.yaml
@@ -0,0 +1,168 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL10 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# One vs more tablets (use SPLIT INTO)
+#TESTS:
+# Select operations(seq scan) on 3 tablet with 1 million rows
+# Select operations(seq scan) on 6 tablet with 1 million rows
+# Select operations(seq scan) on 12 tablet with 1 million rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_3tablets_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_6tablets_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_12tablets_1;
+ - CREATE TABLE noIndex_fullTable_seqScan_1M_rows_3tablets_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500)) SPLIT INTO 3 TABLETS;
+ - CREATE TABLE noIndex_fullTable_seqScan_1M_rows_6tablets_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500)) SPLIT INTO 6 TABLETS;
+ - CREATE TABLE noIndex_fullTable_seqScan_1M_rows_12tablets_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500)) SPLIT INTO 12 TABLETS;
+ cleanup:
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_3tablets_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_6tablets_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_12tablets_1;
+ loadRules:
+ - table: noIndex_fullTable_seqScan_1M_rows_3tablets_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: noIndex_fullTable_seqScan_1M_rows_6tablets_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: noIndex_fullTable_seqScan_1M_rows_12tablets_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG10_noIndex_fullTable_seqScan_1M_rows_3tablets
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=scan
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_3tablets_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from noIndex_fullTable_seqScan_1M_rows_3tablets_1 where col_bigint_id_1>999999
+ - workload: scanG10_noIndex_fullTable_seqScan_1M_rows_6tablets
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=scan
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_6tablets_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from noIndex_fullTable_seqScan_1M_rows_6tablets_1 where col_bigint_id_1>999999
+ - workload: scanG10_noIndex_fullTable_seqScan_1M_rows_12tablets
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=scan
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_12tablets_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from noIndex_fullTable_seqScan_1M_rows_12tablets_1 where col_bigint_id_1>999999
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG11_pkey_rangeScan_INclause_project_indexed_nonindexed_cols.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG11_pkey_rangeScan_INclause_project_indexed_nonindexed_cols.yaml
new file mode 100644
index 000000000..d39e968a6
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG11_pkey_rangeScan_INclause_project_indexed_nonindexed_cols.yaml
@@ -0,0 +1,128 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL11 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Primary key IN scan with additional projected column - Varying number of IN options
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 10 rows
+# Range scan time to fetch 100 rows
+# Range scan time to fetch 1000 rows
+# Range scan time to fetch 10000 rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_for_INclause_tbl_1;
+ - CREATE TABLE pkey_rangescan_for_INclause_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_for_INclause_tbl_1;
+ loadRules:
+ - table: pkey_rangescan_for_INclause_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_1row
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?)
+ bindings:
+ count: 1
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_10row
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_100row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_100row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 100
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_1000row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 1000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG11_pkey_INclause_rangescan_increasing_rows_10000row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_rangescan_for_INclause_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG12_bitmapscan_orCondition.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG12_bitmapscan_orCondition.yaml
new file mode 100644
index 000000000..473c6fb79
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG12_bitmapscan_orCondition.yaml
@@ -0,0 +1,130 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL12 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Bitmap scan with OR conditions on pkey and hash and range indexed columns
+#TESTS:
+# Bitmap scan time to fetch 10 rows
+# Bitmap scan time to fetch 100 rows
+# Bitmap scan time to fetch 1000 rows
+# Bitmap scan time to fetch 10000 rows
+# Bitmap scan time to fetch 10000 primary keys with only secondary index conditions
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_for_bitmapscan_tbl_1;
+ - CREATE TABLE pkey_for_bitmapscan_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 HASH));
+ - CREATE INDEX ON pkey_for_bitmapscan_tbl_1 (col_bigint_2 ASC);
+ - CREATE INDEX ON pkey_for_bitmapscan_tbl_1 (col_bigint_3 HASH);
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_for_bitmapscan_tbl_1;
+ loadRules:
+ - table: pkey_for_bitmapscan_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG12_bitmapscan_orCondition_10row
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_id_1 IN (?,?,?) OR col_bigint_2 <= 3 OR col_bigint_3 IN (?,?,?)
+ bindings:
+ count: 6
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG12_bitmapscan_orCondition_100row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_100row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) OR col_bigint_2 <= 33 OR col_bigint_3 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 66
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG12_bitmapscan_orCondition_1000row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) OR col_bigint_2 <= 333 OR col_bigint_3 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 666
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG12_bitmapscan_orCondition_10000row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1, col_bigint_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) OR col_bigint_2 <= 3333 OR col_bigint_3 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 6666
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG12_bitmapscan_orCondition_onlyTargetPkey_10000row
+ customTags: customer=1,schematype=regular,partition=range,pkey=asc,cardinality=single,projection=multiple,filtercount=one,filteron=rangeskey,filtertype=IN,queryshape=scan
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10000row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_for_bitmapscan_tbl_1 where col_bigint_2 <= 5000 OR col_bigint_3 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 5000
+ util: RandomNumber
+ params: [ 1, 1000000 ]
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG13_wideSchema_fullTableScan.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG13_wideSchema_fullTableScan.yaml
new file mode 100644
index 000000000..08a35e56e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG13_wideSchema_fullTableScan.yaml
@@ -0,0 +1,76 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+use_dist_in_explain: true
+works:
+ work:
+ time_secs: 30
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS wide_table_50kB;
+ - drop table IF EXISTS wide_table_200kB;
+ - CREATE TABLE wide_table_50kB (int_col1 INT PRIMARY KEY, int_col2 INT, text_col1 TEXT, text_col2 TEXT, text_col3 TEXT, text_col4 TEXT, text_col5 TEXT, text_col6 TEXT, text_col7 TEXT, text_col8 TEXT, text_col9 TEXT, text_col10 TEXT);
+ - CREATE TABLE wide_table_200kB (int_col1 INT PRIMARY KEY, int_col2 INT, text_col1 TEXT, text_col2 TEXT, text_col3 TEXT, text_col4 TEXT, text_col5 TEXT, text_col6 TEXT, text_col7 TEXT, text_col8 TEXT, text_col9 TEXT, text_col10 TEXT);
+
+ afterLoad:
+ - CREATE INDEX idx_int_col2_50kB ON wide_table_50kB(int_col2);
+ - CREATE INDEX idx_int_col2_200kB ON wide_table_200kB(int_col2);
+
+ loadRules:
+ - table: wide_table_50kB
+ rows: 10000
+ columns:
+ - name: int_col1
+ util: PrimaryIntGen
+ params: [1, 10000]
+ - name: int_col2
+ util: PrimaryIntGen
+ params: [1, 10000]
+ - name: text_col
+ count: 10
+ util: RandomAString
+ params: [5000, 5000]
+
+ - table: wide_table_200kB
+ rows: 10000
+ columns:
+ - name: int_col1
+ util: PrimaryIntGen
+ params: [1, 10000]
+ - name: int_col2
+ util: PrimaryIntGen
+ params: [1, 10000]
+ - name: text_col
+ count: 10
+ util: RandomAString
+ params: [20000, 20000]
+
+ executeRules:
+ - workload: select_50kB
+ time_secs: 30
+ run:
+ - name: select_50kB
+ weight: 100
+ queries:
+ - query: SELECT * FROM wide_table_50kB;
+
+ - workload: select_200kB
+ time_secs: 30
+ run:
+ - name: select_200kB
+ weight: 100
+ queries:
+ - query: SELECT * FROM wide_table_200kB;
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG2_pkey_rangeScan_increasingRows.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG2_pkey_rangeScan_increasingRows.yaml
new file mode 100644
index 000000000..6436c0a56
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG2_pkey_rangeScan_increasingRows.yaml
@@ -0,0 +1,100 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL2 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Primary key range scan - Varying number of rows
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 100k rows
+# Range scan time to fetch 500k rows
+# Range scan time to fetch 1M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_tbl_1;
+ - CREATE TABLE pkey_rangescan_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_tbl_1;
+ loadRules:
+ - table: pkey_rangescan_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG2_pkey_rangescan_varying_rows_1row
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_1row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_rangescan_tbl_1 where col_bigint_id_1>999999
+ - workload: scanG2_pkey_rangescan_varying_rows_100Krows
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_100krow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_rangescan_tbl_1 where col_bigint_id_1>900000
+ - workload: scanG2_pkey_rangescan_varying_rows_500Krows
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_500krow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_rangescan_tbl_1 where col_bigint_id_1>500000
+ - workload: scanG2_pkey_rangescan_varying_rows_1Mrows
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_1Mrow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_rangescan_tbl_1 where col_bigint_id_1>1
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG3_index_rangeScan_increasingRows.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG3_index_rangeScan_increasingRows.yaml
new file mode 100644
index 000000000..47fd576bf
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG3_index_rangeScan_increasingRows.yaml
@@ -0,0 +1,102 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL3 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Indexed column range scan - Varying number of rows
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 100k rows
+# Range scan time to fetch 500k rows
+# Range scan time to fetch 1M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS indx_rangescan_tbl_1;
+ - CREATE TABLE indx_rangescan_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE INDEX ON indx_rangescan_tbl_1(col_bigint_id_1 ASC);
+ cleanup:
+ - DROP TABLE IF EXISTS indx_rangescan_tbl_1;
+ loadRules:
+ - table: indx_rangescan_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+
+ executeRules:
+ - workload: scanG3_indx_rangescan_varying_rows_1row
+ customTags: schematype=regular,partition=range,skey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: indx_rangescan_1row_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from indx_rangescan_tbl_1 where col_bigint_id_1>999999
+ - workload: scanG3_indx_rangescan_varying_rows_100Krows
+ customTags: schematype=regular,partition=range,skey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: indx_rangescan_100krow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from indx_rangescan_tbl_1 where col_bigint_id_1>900000
+ - workload: scanG3_indx_rangescan_varying_rows_500Krows
+ customTags: schematype=regular,partition=range,skey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: indx_rangescan_500krow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from indx_rangescan_tbl_1 where col_bigint_id_1>500000
+ - workload: scanG3_indx_rangescan_varying_rows_1Mrows
+ customTags: schematype=regular,partition=range,skey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangeskey,filtertype=comparision,queryshape=scan
+ run:
+ - name: indx_rangescan_1Mrow_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from indx_rangescan_tbl_1 where col_bigint_id_1>1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG5_pkey_hash_pointLookup_increasingColumn.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG5_pkey_hash_pointLookup_increasingColumn.yaml
new file mode 100644
index 000000000..6a5d225b8
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG5_pkey_hash_pointLookup_increasingColumn.yaml
@@ -0,0 +1,108 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL5 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Point hash lookup with different number of return columns (Hash primary key)
+#TESTS:
+# Time to fetch 1 column from schema that has 1 column
+# Time to fetch 10 column from schema that has 10 column
+# Time to fetch 100 column from schema that has 100 column
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_1column_1;
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_10column_1;
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_100column_1;
+ - CREATE TABLE pkey_hash_pointLookup_1column_1(col_bigint_id_1 bigint,PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkey_hash_pointLookup_10column_1(col_bigint_id_1 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint,PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkey_hash_pointLookup_100column_1(col_bigint_id_1 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint ,col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint ,col_bigint_15 bigint ,col_bigint_16 bigint ,col_bigint_17 bigint ,col_bigint_18 bigint ,col_bigint_19 bigint ,col_bigint_20 bigint ,col_bigint_21 bigint ,col_bigint_22 bigint ,col_bigint_23 bigint ,col_bigint_24 bigint ,col_bigint_25 bigint ,col_bigint_26 bigint ,col_bigint_27 bigint ,col_bigint_28 bigint ,col_bigint_29 bigint ,col_bigint_30 bigint ,col_bigint_31 bigint ,col_bigint_32 bigint ,col_bigint_33 bigint ,col_bigint_34 bigint ,col_bigint_35 bigint ,col_bigint_36 bigint ,col_bigint_37 bigint ,col_bigint_38 bigint ,col_bigint_39 bigint ,col_bigint_40 bigint ,col_bigint_41 bigint ,col_bigint_42 bigint ,col_bigint_43 bigint ,col_bigint_44 bigint ,col_bigint_45 bigint ,col_bigint_46 bigint ,col_bigint_47 bigint ,col_bigint_48 bigint ,col_bigint_49 bigint ,col_bigint_50 bigint ,col_bigint_51 bigint ,col_bigint_52 bigint ,col_bigint_53 bigint ,col_bigint_54 bigint ,col_bigint_55 bigint ,col_bigint_56 bigint ,col_bigint_57 bigint ,col_bigint_58 bigint ,col_bigint_59 bigint ,col_bigint_60 bigint ,col_bigint_61 bigint ,col_bigint_62 bigint ,col_bigint_63 bigint ,col_bigint_64 bigint ,col_bigint_65 bigint ,col_bigint_66 bigint ,col_bigint_67 bigint ,col_bigint_68 bigint ,col_bigint_69 bigint ,col_bigint_70 bigint ,col_bigint_71 bigint ,col_bigint_72 bigint ,col_bigint_73 bigint ,col_bigint_74 bigint ,col_bigint_75 bigint ,col_bigint_76 bigint ,col_bigint_77 bigint ,col_bigint_78 bigint ,col_bigint_79 bigint ,col_bigint_80 bigint ,col_bigint_81 bigint ,col_bigint_82 bigint ,col_bigint_83 bigint ,col_bigint_84 bigint ,col_bigint_85 bigint ,col_bigint_86 bigint ,col_bigint_87 bigint ,col_bigint_88 bigint ,col_bigint_89 bigint ,col_bigint_90 bigint ,col_bigint_91 bigint ,col_bigint_92 bigint ,col_bigint_93 bigint ,col_bigint_94 bigint ,col_bigint_95 bigint ,col_bigint_96 bigint ,col_bigint_97 bigint ,col_bigint_98 bigint ,col_bigint_99 bigint,PRIMARY KEY(col_bigint_id_1));
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_1column_1;
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_10column_1;
+ - DROP TABLE IF EXISTS pkey_hash_pointLookup_100column_1;
+ loadRules:
+ - table: pkey_hash_pointLookup_1column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - table: pkey_hash_pointLookup_10column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 9
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_hash_pointLookup_100column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 99
+ util: RandomNumber
+ params: [1, 1000000]
+ executeRules:
+ - workload: scanG5_pkey_hash_pointLookup_table1column_fetch1column
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=all,filtercount=one,filteron=hashpkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: pkey_hash_pointLookup_table1column_fetch1column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_pointLookup_1column_1 where col_bigint_id_1=(?)
+ bindings:
+ count: 1
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG5_pkey_hash_pointLookup_table10column_fetch10column
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=all,filtercount=one,filteron=hashpkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: pkey_hash_pointLookup_table10column_fetch10column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_pointLookup_10column_1 where col_bigint_id_1=(?)
+ bindings:
+ count: 1
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: scanG5_pkey_hash_pointLookup_table100column_fetch100column
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=all,filtercount=one,filteron=hashpkey,filtertype=pointselect,queryshape=scan
+ run:
+ - name: pkey_hash_pointLookup_table100column_fetch100column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_pointLookup_100column_1 where col_bigint_id_1=(?)
+ bindings:
+ count: 1
+ util: RandomNumber
+ params: [ 1, 1000000 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG7_pkey_rangescan_fullTableScan_increasingColumn.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG7_pkey_rangescan_fullTableScan_increasingColumn.yaml
new file mode 100644
index 000000000..d84136a68
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG7_pkey_rangescan_fullTableScan_increasingColumn.yaml
@@ -0,0 +1,96 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL7 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Range lookup with different number of return columns (Range primary key) (full table scan)
+#TESTS:
+# Time to fetch 1 column from schema that has 1 column
+# Time to fetch 10 column from schema that has 10 column
+# Time to fetch 100 column from schema that has 100 column
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_1column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_10column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_100column_1;
+ - CREATE TABLE pkey_rangescan_fullTable_1column_1(col_bigint_id_1 bigint,PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkey_rangescan_fullTable_10column_1(col_bigint_id_1 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint,PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE TABLE pkey_rangescan_fullTable_100column_1(col_bigint_id_1 bigint,col_bigint_1 bigint ,col_bigint_2 bigint ,col_bigint_3 bigint ,col_bigint_4 bigint ,col_bigint_5 bigint ,col_bigint_6 bigint ,col_bigint_7 bigint ,col_bigint_8 bigint ,col_bigint_9 bigint ,col_bigint_10 bigint ,col_bigint_11 bigint ,col_bigint_12 bigint ,col_bigint_13 bigint ,col_bigint_14 bigint ,col_bigint_15 bigint ,col_bigint_16 bigint ,col_bigint_17 bigint ,col_bigint_18 bigint ,col_bigint_19 bigint ,col_bigint_20 bigint ,col_bigint_21 bigint ,col_bigint_22 bigint ,col_bigint_23 bigint ,col_bigint_24 bigint ,col_bigint_25 bigint ,col_bigint_26 bigint ,col_bigint_27 bigint ,col_bigint_28 bigint ,col_bigint_29 bigint ,col_bigint_30 bigint ,col_bigint_31 bigint ,col_bigint_32 bigint ,col_bigint_33 bigint ,col_bigint_34 bigint ,col_bigint_35 bigint ,col_bigint_36 bigint ,col_bigint_37 bigint ,col_bigint_38 bigint ,col_bigint_39 bigint ,col_bigint_40 bigint ,col_bigint_41 bigint ,col_bigint_42 bigint ,col_bigint_43 bigint ,col_bigint_44 bigint ,col_bigint_45 bigint ,col_bigint_46 bigint ,col_bigint_47 bigint ,col_bigint_48 bigint ,col_bigint_49 bigint ,col_bigint_50 bigint ,col_bigint_51 bigint ,col_bigint_52 bigint ,col_bigint_53 bigint ,col_bigint_54 bigint ,col_bigint_55 bigint ,col_bigint_56 bigint ,col_bigint_57 bigint ,col_bigint_58 bigint ,col_bigint_59 bigint ,col_bigint_60 bigint ,col_bigint_61 bigint ,col_bigint_62 bigint ,col_bigint_63 bigint ,col_bigint_64 bigint ,col_bigint_65 bigint ,col_bigint_66 bigint ,col_bigint_67 bigint ,col_bigint_68 bigint ,col_bigint_69 bigint ,col_bigint_70 bigint ,col_bigint_71 bigint ,col_bigint_72 bigint ,col_bigint_73 bigint ,col_bigint_74 bigint ,col_bigint_75 bigint ,col_bigint_76 bigint ,col_bigint_77 bigint ,col_bigint_78 bigint ,col_bigint_79 bigint ,col_bigint_80 bigint ,col_bigint_81 bigint ,col_bigint_82 bigint ,col_bigint_83 bigint ,col_bigint_84 bigint ,col_bigint_85 bigint ,col_bigint_86 bigint ,col_bigint_87 bigint ,col_bigint_88 bigint ,col_bigint_89 bigint ,col_bigint_90 bigint ,col_bigint_91 bigint ,col_bigint_92 bigint ,col_bigint_93 bigint ,col_bigint_94 bigint ,col_bigint_95 bigint ,col_bigint_96 bigint ,col_bigint_97 bigint ,col_bigint_98 bigint ,col_bigint_99 bigint,PRIMARY KEY(col_bigint_id_1 ASC));
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_1column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_10column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_100column_1;
+ loadRules:
+ - table: pkey_rangescan_fullTable_1column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_10column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 9
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_100column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 99
+ util: RandomNumber
+ params: [1, 1000000]
+ executeRules:
+ - workload: scanG7_pkey_rangescan_fullTable_table1column_fetch1column
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_fullTable_table1column_fetch1column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_1column_1 where col_bigint_id_1>1
+ - workload: scanG7_pkey_rangescan_fullTable_table10column_fetch10column
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_fullTable_table10column_fetch10column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_10column_1 where col_bigint_id_1>1
+ - workload: scanG7_pkey_rangescan_fullTable_table100column_fetch100column
+ customTags: schematype=regular,partition=range,pkey=asc,cardinality=single,projection=indexed,filtercount=one,filteron=rangepkey,filtertype=comparision,queryshape=scan
+ run:
+ - name: pkey_rangescan_halfTable_table100column_fetch100column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_100column_1 where col_bigint_id_1>1
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG8_nonIndexed_rangescan_fullTableScan_increasingRow.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG8_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
new file mode 100644
index 000000000..5b1019693
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG8_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
@@ -0,0 +1,168 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL8 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Scan of a non indexed column which returns 0 row (Whole table scan)
+#TESTS:
+# Time to scan a table with 1 million rows
+# Time to scan a table with 5 million rows
+# Time to scan a table with 10 million rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_10M_rows_1;
+ - CREATE TABLE noIndex_fullTable_seqScan_1M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE noIndex_fullTable_seqScan_5M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE noIndex_fullTable_seqScan_10M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ cleanup:
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_10M_rows_1;
+ loadRules:
+ - table: noIndex_fullTable_seqScan_1M_rows_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: noIndex_fullTable_seqScan_5M_rows_
+ count: 1
+ rows: 5000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 5000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 5000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: noIndex_fullTable_seqScan_10M_rows_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 10000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 10000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG8_noIndex_fullTable_seqScan_1M_rows
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=scan
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from noIndex_fullTable_seqScan_1M_rows_1 where col_bigint_id_1>999999
+ - workload: scanG8_noIndex_fullTable_seqScan_5M_rows
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=scan
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from noIndex_fullTable_seqScan_5M_rows_1 where col_bigint_id_1>4999999
+ - workload: scanG8_noIndex_fullTable_seqScan_10M_rows
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=nonindexed,filtercount=one,filteron=nonindexed,filtertype=comparision,queryshape=scan
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from noIndex_fullTable_seqScan_10M_rows_1 where col_bigint_id_1>9999999
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG9_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG9_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
new file mode 100644
index 000000000..bc7eef31b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/scan_workloads/yugabyte/scanG9_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
@@ -0,0 +1,168 @@
+#TEST FOR YUGABYTE REGULAR TABLES
+#GOAL8 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# count(*) query (Pushdown to docdb)
+#TESTS:
+# Time to scan a table with 1 million rows
+# Time to scan a table with 5 million rows
+# Time to scan a table with 10 million rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=false
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_10M_rows_1;
+ - CREATE TABLE count_noIndex_fullTable_seqScan_1M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE count_noIndex_fullTable_seqScan_5M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE count_noIndex_fullTable_seqScan_10M_rows_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ cleanup:
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_10M_rows_1;
+ loadRules:
+ - table: count_noIndex_fullTable_seqScan_1M_rows_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: count_noIndex_fullTable_seqScan_5M_rows_
+ count: 1
+ rows: 5000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 5000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 5000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: count_noIndex_fullTable_seqScan_10M_rows_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 10000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 10000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG9_count_noIndex_fullTable_seqScan_1M_rows
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=aggregate,filtercount=one,queryshape=scan
+ run:
+ - name: count_noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from count_noIndex_fullTable_seqScan_1M_rows_1
+ - workload: scanG9_count_noIndex_fullTable_seqScan_5M_rows
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=aggregate,filtercount=one,queryshape=scan
+ run:
+ - name: count_noIndex_fullTable_seqScan_5M_rows_test
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from count_noIndex_fullTable_seqScan_5M_rows_1
+ - workload: scanG9_count_noIndex_fullTable_seqScan_10M_rows
+ customTags: schematype=regular,partition=hash,pkey=hash,cardinality=single,projection=aggregate,filtercount=one,queryshape=scan
+ run:
+ - name: count_noIndex_fullTable_seqScan_10M_rows_test
+ weight: 100
+ queries:
+ - query: select count(col_bigint_id_1) from count_noIndex_fullTable_seqScan_10M_rows_1
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/skiplocked_workloads/postgres/SL_for_update_varying_limit.yaml b/config/yugabyte/regression_pipelines/skiplocked_workloads/postgres/SL_for_update_varying_limit.yaml
new file mode 100644
index 000000000..53f7cb330
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/skiplocked_workloads/postgres/SL_for_update_varying_limit.yaml
@@ -0,0 +1,110 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 10
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE SL_jobs (id INT, status INT, priority INT, created_at TIMESTAMP, payload TEXT, primary key (id));
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS SL_jobs;
+
+ loadRules:
+ - table: SL_jobs
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: status
+ util: CyclicSeqIntGen
+ params: [1, 10]
+ - name: priority
+ util: RandomInt
+ params: [1, 100]
+ - name: created_at
+ util: RandomTimestamp
+ params: [10000000]
+ - name: payload
+ util: RandomAString
+ params: [1000, 1000]
+
+ executeRules:
+ - workload: SL_limit_1_without_contention
+ run:
+ - name: SL_limit_1_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE LIMIT 1;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_10_without_contention
+ run:
+ - name: SL_limit_10_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE LIMIT 10;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_100_without_contention
+ run:
+ - name: SL_limit_100_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_1000_without_contention
+ run:
+ - name: SL_limit_1000_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE LIMIT 1000;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/skiplocked_workloads/postgres/SL_no_read_ahead_varying_contention.yaml b/config/yugabyte/regression_pipelines/skiplocked_workloads/postgres/SL_no_read_ahead_varying_contention.yaml
new file mode 100644
index 000000000..363443430
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/skiplocked_workloads/postgres/SL_no_read_ahead_varying_contention.yaml
@@ -0,0 +1,152 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 10
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE SL_jobs (id INT, status INT, priority INT, created_at TIMESTAMP, payload TEXT, primary key (id));
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS SL_jobs;
+
+ loadRules:
+ - table: SL_jobs
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: status
+ util: CyclicSeqIntGen
+ params: [1, 10]
+ - name: priority
+ util: RandomInt
+ params: [1, 100]
+ - name: created_at
+ util: RandomTimestamp
+ params: [10000000]
+ - name: payload
+ util: RandomAString
+ params: [1000, 1000]
+
+ executeRules:
+ - workload: SL_limit_without_contention
+ run:
+ - name: no_contention_queries
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_20%_contention
+ run:
+ - name: contention_queries
+ weight: 20
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
+
+ - name: no_contention_queries
+ weight: 80
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [2, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_40%_contention
+ run:
+ - name: contention_queries
+ weight: 40
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
+
+ - name: no_contention_queries
+ weight: 60
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [2, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_60%_contention
+ run:
+ - name: contention_queries
+ weight: 60
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
+
+ - name: no_contention_queries
+ weight: 40
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [2, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_80%_contention
+ run:
+ - name: contention_queries
+ weight: 80
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
+
+ - name: no_contention_queries
+ weight: 20
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [2, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_100%_contention
+ run:
+ - name: contention_queries
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/skiplocked_workloads/postgres/SL_no_read_ahead_varying_limit.yaml b/config/yugabyte/regression_pipelines/skiplocked_workloads/postgres/SL_no_read_ahead_varying_limit.yaml
new file mode 100644
index 000000000..e7071f432
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/skiplocked_workloads/postgres/SL_no_read_ahead_varying_limit.yaml
@@ -0,0 +1,110 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 10
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE SL_jobs (id INT, status INT, priority INT, created_at TIMESTAMP, payload TEXT, primary key (id));
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS SL_jobs;
+
+ loadRules:
+ - table: SL_jobs
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: status
+ util: CyclicSeqIntGen
+ params: [1, 10]
+ - name: priority
+ util: RandomInt
+ params: [1, 100]
+ - name: created_at
+ util: RandomTimestamp
+ params: [10000000]
+ - name: payload
+ util: RandomAString
+ params: [1000, 1000]
+
+ executeRules:
+ - workload: SL_limit_1_without_contention
+ run:
+ - name: SL_limit_1_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 1;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_10_without_contention
+ run:
+ - name: SL_limit_10_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 10;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_100_without_contention
+ run:
+ - name: SL_limit_100_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_1000_without_contention
+ run:
+ - name: SL_limit_1000_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 1000;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_for_update_varying_limit.yaml b/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_for_update_varying_limit.yaml
new file mode 100644
index 000000000..7c586477d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_for_update_varying_limit.yaml
@@ -0,0 +1,107 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 10
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE TABLE SL_jobs (id INT, status INT, priority INT, created_at TIMESTAMP, payload TEXT, primary key (id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS SL_jobs;
+
+ loadRules:
+ - table: SL_jobs
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: status
+ util: CyclicSeqIntGen
+ params: [1, 10]
+ - name: priority
+ util: RandomInt
+ params: [1, 100]
+ - name: created_at
+ util: RandomTimestamp
+ params: [10000000]
+ - name: payload
+ util: RandomAString
+ params: [1000, 1000]
+
+ executeRules:
+ - workload: SL_limit_1_without_contention
+ run:
+ - name: SL_limit_1_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE LIMIT 1;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_10_without_contention
+ run:
+ - name: SL_limit_10_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE LIMIT 10;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_100_without_contention
+ run:
+ - name: SL_limit_100_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_1000_without_contention
+ run:
+ - name: SL_limit_1000_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE LIMIT 1000;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_no_read_ahead_varying_contention.yaml b/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_no_read_ahead_varying_contention.yaml
new file mode 100644
index 000000000..e688b0906
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_no_read_ahead_varying_contention.yaml
@@ -0,0 +1,149 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 10
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE TABLE SL_jobs (id INT, status INT, priority INT, created_at TIMESTAMP, payload TEXT, primary key (id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS SL_jobs;
+
+ loadRules:
+ - table: SL_jobs
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: status
+ util: CyclicSeqIntGen
+ params: [1, 10]
+ - name: priority
+ util: RandomInt
+ params: [1, 100]
+ - name: created_at
+ util: RandomTimestamp
+ params: [10000000]
+ - name: payload
+ util: RandomAString
+ params: [1000, 1000]
+
+ executeRules:
+ - workload: SL_limit_without_contention
+ run:
+ - name: no_contention_queries
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_20%_contention
+ run:
+ - name: contention_queries
+ weight: 20
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
+
+ - name: no_contention_queries
+ weight: 80
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [2, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_40%_contention
+ run:
+ - name: contention_queries
+ weight: 40
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
+
+ - name: no_contention_queries
+ weight: 60
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [2, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_60%_contention
+ run:
+ - name: contention_queries
+ weight: 60
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
+
+ - name: no_contention_queries
+ weight: 40
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [2, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_80%_contention
+ run:
+ - name: contention_queries
+ weight: 80
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
+
+ - name: no_contention_queries
+ weight: 20
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [2, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_100%_contention
+ run:
+ - name: contention_queries
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_no_read_ahead_varying_limit.yaml b/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_no_read_ahead_varying_limit.yaml
new file mode 100644
index 000000000..c91298d50
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_no_read_ahead_varying_limit.yaml
@@ -0,0 +1,107 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 10
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE TABLE SL_jobs (id INT, status INT, priority INT, created_at TIMESTAMP, payload TEXT, primary key (id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS SL_jobs;
+
+ loadRules:
+ - table: SL_jobs
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: status
+ util: CyclicSeqIntGen
+ params: [1, 10]
+ - name: priority
+ util: RandomInt
+ params: [1, 100]
+ - name: created_at
+ util: RandomTimestamp
+ params: [10000000]
+ - name: payload
+ util: RandomAString
+ params: [1000, 1000]
+
+ executeRules:
+ - workload: SL_limit_1_without_contention
+ run:
+ - name: SL_limit_1_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 1;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_10_without_contention
+ run:
+ - name: SL_limit_10_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 10;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_100_without_contention
+ run:
+ - name: SL_limit_100_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_1000_without_contention
+ run:
+ - name: SL_limit_1000_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 1000;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_read_ahead_50_varying_contention.yaml b/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_read_ahead_50_varying_contention.yaml
new file mode 100644
index 000000000..c9fdce2df
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_read_ahead_50_varying_contention.yaml
@@ -0,0 +1,151 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 10
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - ALTER DATABASE yugabyte SET yb_explicit_row_lock_skip_locked_max_read_ahead TO 50;
+ - CREATE TABLE SL_jobs (id INT, status INT, priority INT, created_at TIMESTAMP, payload TEXT, primary key (id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - ALTER DATABASE yugabyte SET yb_explicit_row_lock_skip_locked_max_read_ahead TO DEFAULT;
+ - DROP TABLE IF EXISTS SL_jobs;
+
+ loadRules:
+ - table: SL_jobs
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: status
+ util: CyclicSeqIntGen
+ params: [1, 10]
+ - name: priority
+ util: RandomInt
+ params: [1, 100]
+ - name: created_at
+ util: RandomTimestamp
+ params: [10000000]
+ - name: payload
+ util: RandomAString
+ params: [1000, 1000]
+
+ executeRules:
+ - workload: SL_limit_without_contention
+ run:
+ - name: no_contention_queries
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_20%_contention
+ run:
+ - name: contention_queries
+ weight: 20
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
+
+ - name: no_contention_queries
+ weight: 80
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [2, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_40%_contention
+ run:
+ - name: contention_queries
+ weight: 40
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
+
+ - name: no_contention_queries
+ weight: 60
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [2, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_60%_contention
+ run:
+ - name: contention_queries
+ weight: 60
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
+
+ - name: no_contention_queries
+ weight: 40
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [2, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_80%_contention
+ run:
+ - name: contention_queries
+ weight: 80
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
+
+ - name: no_contention_queries
+ weight: 20
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [2, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_with_100%_contention
+ run:
+ - name: contention_queries
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = 1 and id between 1 and 100000 FOR UPDATE SKIP LOCKED LIMIT 100;
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_read_ahead_50_varying_limit.yaml b/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_read_ahead_50_varying_limit.yaml
new file mode 100644
index 000000000..2dec3d8b8
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/skiplocked_workloads/yugabyte/SL_read_ahead_50_varying_limit.yaml
@@ -0,0 +1,109 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 10
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - ALTER DATABASE yugabyte SET yb_explicit_row_lock_skip_locked_max_read_ahead TO 50;
+ - CREATE TABLE SL_jobs (id INT, status INT, priority INT, created_at TIMESTAMP, payload TEXT, primary key (id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - ALTER DATABASE yugabyte SET yb_explicit_row_lock_skip_locked_max_read_ahead TO DEFAULT;
+ - DROP TABLE IF EXISTS SL_jobs;
+
+ loadRules:
+ - table: SL_jobs
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: status
+ util: CyclicSeqIntGen
+ params: [1, 10]
+ - name: priority
+ util: RandomInt
+ params: [1, 100]
+ - name: created_at
+ util: RandomTimestamp
+ params: [10000000]
+ - name: payload
+ util: RandomAString
+ params: [1000, 1000]
+
+ executeRules:
+ - workload: SL_limit_1_without_contention
+ run:
+ - name: SL_limit_1_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 1;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_10_without_contention
+ run:
+ - name: SL_limit_10_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 10;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_100_without_contention
+ run:
+ - name: SL_limit_100_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 100;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
+
+ - workload: SL_limit_1000_without_contention
+ run:
+ - name: SL_limit_1000_without_contention
+ weight: 100
+ queries:
+ - query: SELECT * FROM SL_jobs where status = ? and id between ? and ? FOR UPDATE SKIP LOCKED LIMIT 1000;
+ bindings:
+ - util: RandomInt
+ params: [1, 10]
+ - util: RangeDivider
+ params: [1000000]
+ referenceName: start_range
+ - util: ExpressionEval
+ params: ["start_range + 199999"]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_1.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_1.yaml
new file mode 100644
index 000000000..1ddc4f5cf
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_1.yaml
@@ -0,0 +1,69 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_1;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_sec_idx_between_range_1 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_between_range_1 (c2);
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_1;
+
+ loadRules:
+ - table: THRPT_sec_idx_between_range_1
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_sec_idx_btwn_1
+ run:
+ - name: THRPT_next_sec_idx_btwn_1
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_between_range_1 WHERE c2 between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999999]
+ referenceName: c2
+ - util: ExpressionEval
+ params:
+ - "c2 + 1"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_10.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_10.yaml
new file mode 100644
index 000000000..344569ef5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_10.yaml
@@ -0,0 +1,69 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_10;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_sec_idx_between_range_10 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_between_range_10 (c2);
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_10;
+
+ loadRules:
+ - table: THRPT_sec_idx_between_range_10
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_sec_idx_btwn_10
+ run:
+ - name: THRPT_next_sec_idx_btwn_10
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_between_range_10 WHERE c2 between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999990]
+ referenceName: c2
+ - util: ExpressionEval
+ params:
+ - "c2 + 10"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_100.yaml
new file mode 100644
index 000000000..9db697ef9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_100.yaml
@@ -0,0 +1,69 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_100;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_sec_idx_between_range_100 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_between_range_100 (c2);
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_100;
+
+ loadRules:
+ - table: THRPT_sec_idx_between_range_100
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_sec_idx_btwn_100
+ run:
+ - name: THRPT_next_sec_idx_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_between_range_100 WHERE c2 between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999900]
+ referenceName: c2
+ - util: ExpressionEval
+ params:
+ - "c2 + 100"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_1000.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_1000.yaml
new file mode 100644
index 000000000..2c6b3bb35
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_1000.yaml
@@ -0,0 +1,69 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_1000;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_sec_idx_between_range_1000 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_between_range_1000 (c2);
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_1000;
+
+ loadRules:
+ - table: THRPT_sec_idx_between_range_1000
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_sec_idx_btwn_1000
+ run:
+ - name: THRPT_next_sec_idx_btwn_1000
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_between_range_1000 WHERE c2 between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999000]
+ referenceName: c2
+ - util: ExpressionEval
+ params:
+ - "c2 + 1000"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_100k.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_100k.yaml
new file mode 100644
index 000000000..36969b22c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_100k.yaml
@@ -0,0 +1,69 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_100k;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_sec_idx_between_range_100k (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_between_range_100k (c2);
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_100k;
+
+ loadRules:
+ - table: THRPT_sec_idx_between_range_100k
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_sec_idx_btwn_100k
+ run:
+ - name: THRPT_next_sec_idx_btwn_100k
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_between_range_100k WHERE c2 between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 900000]
+ referenceName: c2
+ - util: ExpressionEval
+ params:
+ - "c2 + 100000"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_10k.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_10k.yaml
new file mode 100644
index 000000000..4c459a197
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_10k.yaml
@@ -0,0 +1,69 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_10k;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_sec_idx_between_range_10k (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_between_range_10k (c2);
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_10k;
+
+ loadRules:
+ - table: THRPT_sec_idx_between_range_10k
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_sec_idx_btwn_10k
+ run:
+ - name: THRPT_next_sec_idx_btwn_10k
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_between_range_10k WHERE c2 between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 990000]
+ referenceName: c2
+ - util: ExpressionEval
+ params:
+ - "c2 + 10000"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_cols/THRPT_next_100col_pk_btwn_1K.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_cols/THRPT_next_100col_pk_btwn_1K.yaml
new file mode 100644
index 000000000..cabcb8e81
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_cols/THRPT_next_100col_pk_btwn_1K.yaml
@@ -0,0 +1,69 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_100_cols;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_between_100_cols (id INT, c1 int, c2 int, payload1 text, payload2 text, payload3 text, payload4 text, payload5 text, payload6 text, payload7 text, payload8 text, payload9 text, payload10 text, payload11 text, payload12 text, payload13 text, payload14 text, payload15 text, payload16 text, payload17 text, payload18 text, payload19 text, payload20 text, payload21 text, payload22 text, payload23 text, payload24 text, payload25 text, payload26 text, payload27 text, payload28 text, payload29 text, payload30 text, payload31 text, payload32 text, payload33 text, payload34 text, payload35 text, payload36 text, payload37 text, payload38 text, payload39 text, payload40 text, payload41 text, payload42 text, payload43 text, payload44 text, payload45 text, payload46 text, payload47 text, payload48 text, payload49 text, payload50 text, payload51 text, payload52 text, payload53 text, payload54 text, payload55 text, payload56 text, payload57 text, payload58 text, payload59 text, payload60 text, payload61 text, payload62 text, payload63 text, payload64 text, payload65 text, payload66 text, payload67 text, payload68 text, payload69 text, payload70 text, payload71 text, payload72 text, payload73 text, payload74 text, payload75 text, payload76 text, payload77 text, payload78 text, payload79 text, payload80 text, payload81 text, payload82 text, payload83 text, payload84 text, payload85 text, payload86 text, payload87 text, payload88 text, payload89 text, payload90 text, payload91 text, payload92 text, payload93 text, payload94 text, payload95 text, payload96 text, payload97 text, payload98 text, payload99 text, payload100 text, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_100_cols;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_between_100_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 100
+ util: RandomAString
+ params: [10, 10]
+ executeRules:
+ - workload: THRPT_next_100col_pk_btwn_1K
+ run:
+ - name: THRPT_next_100col_pk_btwn_1K
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_100_cols WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 1000"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_cols/THRPT_next_10col_pk_btwn_1K.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_cols/THRPT_next_10col_pk_btwn_1K.yaml
new file mode 100644
index 000000000..45f61d9f6
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_cols/THRPT_next_10col_pk_btwn_1K.yaml
@@ -0,0 +1,69 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_10_cols;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_between_10_cols (id INT, c1 int, c2 int, payload1 text, payload2 text, payload3 text, payload4 text, payload5 text, payload6 text, payload7 text, payload8 text, payload9 text, payload10 text, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_10_cols;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_between_10_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 10
+ util: RandomAString
+ params: [100, 100]
+ executeRules:
+ - workload: THRPT_next_10col_pk_btwn_1K
+ run:
+ - name: THRPT_next_10col_pk_btwn_1K
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_10_cols WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 1000"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_cols/THRPT_next_1Kcol_pk_btwn_1K.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_cols/THRPT_next_1Kcol_pk_btwn_1K.yaml
new file mode 100644
index 000000000..12a4cfdc6
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_cols/THRPT_next_1Kcol_pk_btwn_1K.yaml
@@ -0,0 +1,69 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_1k_cols;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_between_1k_cols (id INT, c1 int, c2 int, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, payload101 TEXT, payload102 TEXT, payload103 TEXT, payload104 TEXT, payload105 TEXT, payload106 TEXT, payload107 TEXT, payload108 TEXT, payload109 TEXT, payload110 TEXT, payload111 TEXT, payload112 TEXT, payload113 TEXT, payload114 TEXT, payload115 TEXT, payload116 TEXT, payload117 TEXT, payload118 TEXT, payload119 TEXT, payload120 TEXT, payload121 TEXT, payload122 TEXT, payload123 TEXT, payload124 TEXT, payload125 TEXT, payload126 TEXT, payload127 TEXT, payload128 TEXT, payload129 TEXT, payload130 TEXT, payload131 TEXT, payload132 TEXT, payload133 TEXT, payload134 TEXT, payload135 TEXT, payload136 TEXT, payload137 TEXT, payload138 TEXT, payload139 TEXT, payload140 TEXT, payload141 TEXT, payload142 TEXT, payload143 TEXT, payload144 TEXT, payload145 TEXT, payload146 TEXT, payload147 TEXT, payload148 TEXT, payload149 TEXT, payload150 TEXT, payload151 TEXT, payload152 TEXT, payload153 TEXT, payload154 TEXT, payload155 TEXT, payload156 TEXT, payload157 TEXT, payload158 TEXT, payload159 TEXT, payload160 TEXT, payload161 TEXT, payload162 TEXT, payload163 TEXT, payload164 TEXT, payload165 TEXT, payload166 TEXT, payload167 TEXT, payload168 TEXT, payload169 TEXT, payload170 TEXT, payload171 TEXT, payload172 TEXT, payload173 TEXT, payload174 TEXT, payload175 TEXT, payload176 TEXT, payload177 TEXT, payload178 TEXT, payload179 TEXT, payload180 TEXT, payload181 TEXT, payload182 TEXT, payload183 TEXT, payload184 TEXT, payload185 TEXT, payload186 TEXT, payload187 TEXT, payload188 TEXT, payload189 TEXT, payload190 TEXT, payload191 TEXT, payload192 TEXT, payload193 TEXT, payload194 TEXT, payload195 TEXT, payload196 TEXT, payload197 TEXT, payload198 TEXT, payload199 TEXT, payload200 TEXT, payload201 TEXT, payload202 TEXT, payload203 TEXT, payload204 TEXT, payload205 TEXT, payload206 TEXT, payload207 TEXT, payload208 TEXT, payload209 TEXT, payload210 TEXT, payload211 TEXT, payload212 TEXT, payload213 TEXT, payload214 TEXT, payload215 TEXT, payload216 TEXT, payload217 TEXT, payload218 TEXT, payload219 TEXT, payload220 TEXT, payload221 TEXT, payload222 TEXT, payload223 TEXT, payload224 TEXT, payload225 TEXT, payload226 TEXT, payload227 TEXT, payload228 TEXT, payload229 TEXT, payload230 TEXT, payload231 TEXT, payload232 TEXT, payload233 TEXT, payload234 TEXT, payload235 TEXT, payload236 TEXT, payload237 TEXT, payload238 TEXT, payload239 TEXT, payload240 TEXT, payload241 TEXT, payload242 TEXT, payload243 TEXT, payload244 TEXT, payload245 TEXT, payload246 TEXT, payload247 TEXT, payload248 TEXT, payload249 TEXT, payload250 TEXT, payload251 TEXT, payload252 TEXT, payload253 TEXT, payload254 TEXT, payload255 TEXT, payload256 TEXT, payload257 TEXT, payload258 TEXT, payload259 TEXT, payload260 TEXT, payload261 TEXT, payload262 TEXT, payload263 TEXT, payload264 TEXT, payload265 TEXT, payload266 TEXT, payload267 TEXT, payload268 TEXT, payload269 TEXT, payload270 TEXT, payload271 TEXT, payload272 TEXT, payload273 TEXT, payload274 TEXT, payload275 TEXT, payload276 TEXT, payload277 TEXT, payload278 TEXT, payload279 TEXT, payload280 TEXT, payload281 TEXT, payload282 TEXT, payload283 TEXT, payload284 TEXT, payload285 TEXT, payload286 TEXT, payload287 TEXT, payload288 TEXT, payload289 TEXT, payload290 TEXT, payload291 TEXT, payload292 TEXT, payload293 TEXT, payload294 TEXT, payload295 TEXT, payload296 TEXT, payload297 TEXT, payload298 TEXT, payload299 TEXT, payload300 TEXT, payload301 TEXT, payload302 TEXT, payload303 TEXT, payload304 TEXT, payload305 TEXT, payload306 TEXT, payload307 TEXT, payload308 TEXT, payload309 TEXT, payload310 TEXT, payload311 TEXT, payload312 TEXT, payload313 TEXT, payload314 TEXT, payload315 TEXT, payload316 TEXT, payload317 TEXT, payload318 TEXT, payload319 TEXT, payload320 TEXT, payload321 TEXT, payload322 TEXT, payload323 TEXT, payload324 TEXT, payload325 TEXT, payload326 TEXT, payload327 TEXT, payload328 TEXT, payload329 TEXT, payload330 TEXT, payload331 TEXT, payload332 TEXT, payload333 TEXT, payload334 TEXT, payload335 TEXT, payload336 TEXT, payload337 TEXT, payload338 TEXT, payload339 TEXT, payload340 TEXT, payload341 TEXT, payload342 TEXT, payload343 TEXT, payload344 TEXT, payload345 TEXT, payload346 TEXT, payload347 TEXT, payload348 TEXT, payload349 TEXT, payload350 TEXT, payload351 TEXT, payload352 TEXT, payload353 TEXT, payload354 TEXT, payload355 TEXT, payload356 TEXT, payload357 TEXT, payload358 TEXT, payload359 TEXT, payload360 TEXT, payload361 TEXT, payload362 TEXT, payload363 TEXT, payload364 TEXT, payload365 TEXT, payload366 TEXT, payload367 TEXT, payload368 TEXT, payload369 TEXT, payload370 TEXT, payload371 TEXT, payload372 TEXT, payload373 TEXT, payload374 TEXT, payload375 TEXT, payload376 TEXT, payload377 TEXT, payload378 TEXT, payload379 TEXT, payload380 TEXT, payload381 TEXT, payload382 TEXT, payload383 TEXT, payload384 TEXT, payload385 TEXT, payload386 TEXT, payload387 TEXT, payload388 TEXT, payload389 TEXT, payload390 TEXT, payload391 TEXT, payload392 TEXT, payload393 TEXT, payload394 TEXT, payload395 TEXT, payload396 TEXT, payload397 TEXT, payload398 TEXT, payload399 TEXT, payload400 TEXT, payload401 TEXT, payload402 TEXT, payload403 TEXT, payload404 TEXT, payload405 TEXT, payload406 TEXT, payload407 TEXT, payload408 TEXT, payload409 TEXT, payload410 TEXT, payload411 TEXT, payload412 TEXT, payload413 TEXT, payload414 TEXT, payload415 TEXT, payload416 TEXT, payload417 TEXT, payload418 TEXT, payload419 TEXT, payload420 TEXT, payload421 TEXT, payload422 TEXT, payload423 TEXT, payload424 TEXT, payload425 TEXT, payload426 TEXT, payload427 TEXT, payload428 TEXT, payload429 TEXT, payload430 TEXT, payload431 TEXT, payload432 TEXT, payload433 TEXT, payload434 TEXT, payload435 TEXT, payload436 TEXT, payload437 TEXT, payload438 TEXT, payload439 TEXT, payload440 TEXT, payload441 TEXT, payload442 TEXT, payload443 TEXT, payload444 TEXT, payload445 TEXT, payload446 TEXT, payload447 TEXT, payload448 TEXT, payload449 TEXT, payload450 TEXT, payload451 TEXT, payload452 TEXT, payload453 TEXT, payload454 TEXT, payload455 TEXT, payload456 TEXT, payload457 TEXT, payload458 TEXT, payload459 TEXT, payload460 TEXT, payload461 TEXT, payload462 TEXT, payload463 TEXT, payload464 TEXT, payload465 TEXT, payload466 TEXT, payload467 TEXT, payload468 TEXT, payload469 TEXT, payload470 TEXT, payload471 TEXT, payload472 TEXT, payload473 TEXT, payload474 TEXT, payload475 TEXT, payload476 TEXT, payload477 TEXT, payload478 TEXT, payload479 TEXT, payload480 TEXT, payload481 TEXT, payload482 TEXT, payload483 TEXT, payload484 TEXT, payload485 TEXT, payload486 TEXT, payload487 TEXT, payload488 TEXT, payload489 TEXT, payload490 TEXT, payload491 TEXT, payload492 TEXT, payload493 TEXT, payload494 TEXT, payload495 TEXT, payload496 TEXT, payload497 TEXT, payload498 TEXT, payload499 TEXT, payload500 TEXT, payload501 TEXT, payload502 TEXT, payload503 TEXT, payload504 TEXT, payload505 TEXT, payload506 TEXT, payload507 TEXT, payload508 TEXT, payload509 TEXT, payload510 TEXT, payload511 TEXT, payload512 TEXT, payload513 TEXT, payload514 TEXT, payload515 TEXT, payload516 TEXT, payload517 TEXT, payload518 TEXT, payload519 TEXT, payload520 TEXT, payload521 TEXT, payload522 TEXT, payload523 TEXT, payload524 TEXT, payload525 TEXT, payload526 TEXT, payload527 TEXT, payload528 TEXT, payload529 TEXT, payload530 TEXT, payload531 TEXT, payload532 TEXT, payload533 TEXT, payload534 TEXT, payload535 TEXT, payload536 TEXT, payload537 TEXT, payload538 TEXT, payload539 TEXT, payload540 TEXT, payload541 TEXT, payload542 TEXT, payload543 TEXT, payload544 TEXT, payload545 TEXT, payload546 TEXT, payload547 TEXT, payload548 TEXT, payload549 TEXT, payload550 TEXT, payload551 TEXT, payload552 TEXT, payload553 TEXT, payload554 TEXT, payload555 TEXT, payload556 TEXT, payload557 TEXT, payload558 TEXT, payload559 TEXT, payload560 TEXT, payload561 TEXT, payload562 TEXT, payload563 TEXT, payload564 TEXT, payload565 TEXT, payload566 TEXT, payload567 TEXT, payload568 TEXT, payload569 TEXT, payload570 TEXT, payload571 TEXT, payload572 TEXT, payload573 TEXT, payload574 TEXT, payload575 TEXT, payload576 TEXT, payload577 TEXT, payload578 TEXT, payload579 TEXT, payload580 TEXT, payload581 TEXT, payload582 TEXT, payload583 TEXT, payload584 TEXT, payload585 TEXT, payload586 TEXT, payload587 TEXT, payload588 TEXT, payload589 TEXT, payload590 TEXT, payload591 TEXT, payload592 TEXT, payload593 TEXT, payload594 TEXT, payload595 TEXT, payload596 TEXT, payload597 TEXT, payload598 TEXT, payload599 TEXT, payload600 TEXT, payload601 TEXT, payload602 TEXT, payload603 TEXT, payload604 TEXT, payload605 TEXT, payload606 TEXT, payload607 TEXT, payload608 TEXT, payload609 TEXT, payload610 TEXT, payload611 TEXT, payload612 TEXT, payload613 TEXT, payload614 TEXT, payload615 TEXT, payload616 TEXT, payload617 TEXT, payload618 TEXT, payload619 TEXT, payload620 TEXT, payload621 TEXT, payload622 TEXT, payload623 TEXT, payload624 TEXT, payload625 TEXT, payload626 TEXT, payload627 TEXT, payload628 TEXT, payload629 TEXT, payload630 TEXT, payload631 TEXT, payload632 TEXT, payload633 TEXT, payload634 TEXT, payload635 TEXT, payload636 TEXT, payload637 TEXT, payload638 TEXT, payload639 TEXT, payload640 TEXT, payload641 TEXT, payload642 TEXT, payload643 TEXT, payload644 TEXT, payload645 TEXT, payload646 TEXT, payload647 TEXT, payload648 TEXT, payload649 TEXT, payload650 TEXT, payload651 TEXT, payload652 TEXT, payload653 TEXT, payload654 TEXT, payload655 TEXT, payload656 TEXT, payload657 TEXT, payload658 TEXT, payload659 TEXT, payload660 TEXT, payload661 TEXT, payload662 TEXT, payload663 TEXT, payload664 TEXT, payload665 TEXT, payload666 TEXT, payload667 TEXT, payload668 TEXT, payload669 TEXT, payload670 TEXT, payload671 TEXT, payload672 TEXT, payload673 TEXT, payload674 TEXT, payload675 TEXT, payload676 TEXT, payload677 TEXT, payload678 TEXT, payload679 TEXT, payload680 TEXT, payload681 TEXT, payload682 TEXT, payload683 TEXT, payload684 TEXT, payload685 TEXT, payload686 TEXT, payload687 TEXT, payload688 TEXT, payload689 TEXT, payload690 TEXT, payload691 TEXT, payload692 TEXT, payload693 TEXT, payload694 TEXT, payload695 TEXT, payload696 TEXT, payload697 TEXT, payload698 TEXT, payload699 TEXT, payload700 TEXT, payload701 TEXT, payload702 TEXT, payload703 TEXT, payload704 TEXT, payload705 TEXT, payload706 TEXT, payload707 TEXT, payload708 TEXT, payload709 TEXT, payload710 TEXT, payload711 TEXT, payload712 TEXT, payload713 TEXT, payload714 TEXT, payload715 TEXT, payload716 TEXT, payload717 TEXT, payload718 TEXT, payload719 TEXT, payload720 TEXT, payload721 TEXT, payload722 TEXT, payload723 TEXT, payload724 TEXT, payload725 TEXT, payload726 TEXT, payload727 TEXT, payload728 TEXT, payload729 TEXT, payload730 TEXT, payload731 TEXT, payload732 TEXT, payload733 TEXT, payload734 TEXT, payload735 TEXT, payload736 TEXT, payload737 TEXT, payload738 TEXT, payload739 TEXT, payload740 TEXT, payload741 TEXT, payload742 TEXT, payload743 TEXT, payload744 TEXT, payload745 TEXT, payload746 TEXT, payload747 TEXT, payload748 TEXT, payload749 TEXT, payload750 TEXT, payload751 TEXT, payload752 TEXT, payload753 TEXT, payload754 TEXT, payload755 TEXT, payload756 TEXT, payload757 TEXT, payload758 TEXT, payload759 TEXT, payload760 TEXT, payload761 TEXT, payload762 TEXT, payload763 TEXT, payload764 TEXT, payload765 TEXT, payload766 TEXT, payload767 TEXT, payload768 TEXT, payload769 TEXT, payload770 TEXT, payload771 TEXT, payload772 TEXT, payload773 TEXT, payload774 TEXT, payload775 TEXT, payload776 TEXT, payload777 TEXT, payload778 TEXT, payload779 TEXT, payload780 TEXT, payload781 TEXT, payload782 TEXT, payload783 TEXT, payload784 TEXT, payload785 TEXT, payload786 TEXT, payload787 TEXT, payload788 TEXT, payload789 TEXT, payload790 TEXT, payload791 TEXT, payload792 TEXT, payload793 TEXT, payload794 TEXT, payload795 TEXT, payload796 TEXT, payload797 TEXT, payload798 TEXT, payload799 TEXT, payload800 TEXT, payload801 TEXT, payload802 TEXT, payload803 TEXT, payload804 TEXT, payload805 TEXT, payload806 TEXT, payload807 TEXT, payload808 TEXT, payload809 TEXT, payload810 TEXT, payload811 TEXT, payload812 TEXT, payload813 TEXT, payload814 TEXT, payload815 TEXT, payload816 TEXT, payload817 TEXT, payload818 TEXT, payload819 TEXT, payload820 TEXT, payload821 TEXT, payload822 TEXT, payload823 TEXT, payload824 TEXT, payload825 TEXT, payload826 TEXT, payload827 TEXT, payload828 TEXT, payload829 TEXT, payload830 TEXT, payload831 TEXT, payload832 TEXT, payload833 TEXT, payload834 TEXT, payload835 TEXT, payload836 TEXT, payload837 TEXT, payload838 TEXT, payload839 TEXT, payload840 TEXT, payload841 TEXT, payload842 TEXT, payload843 TEXT, payload844 TEXT, payload845 TEXT, payload846 TEXT, payload847 TEXT, payload848 TEXT, payload849 TEXT, payload850 TEXT, payload851 TEXT, payload852 TEXT, payload853 TEXT, payload854 TEXT, payload855 TEXT, payload856 TEXT, payload857 TEXT, payload858 TEXT, payload859 TEXT, payload860 TEXT, payload861 TEXT, payload862 TEXT, payload863 TEXT, payload864 TEXT, payload865 TEXT, payload866 TEXT, payload867 TEXT, payload868 TEXT, payload869 TEXT, payload870 TEXT, payload871 TEXT, payload872 TEXT, payload873 TEXT, payload874 TEXT, payload875 TEXT, payload876 TEXT, payload877 TEXT, payload878 TEXT, payload879 TEXT, payload880 TEXT, payload881 TEXT, payload882 TEXT, payload883 TEXT, payload884 TEXT, payload885 TEXT, payload886 TEXT, payload887 TEXT, payload888 TEXT, payload889 TEXT, payload890 TEXT, payload891 TEXT, payload892 TEXT, payload893 TEXT, payload894 TEXT, payload895 TEXT, payload896 TEXT, payload897 TEXT, payload898 TEXT, payload899 TEXT, payload900 TEXT, payload901 TEXT, payload902 TEXT, payload903 TEXT, payload904 TEXT, payload905 TEXT, payload906 TEXT, payload907 TEXT, payload908 TEXT, payload909 TEXT, payload910 TEXT, payload911 TEXT, payload912 TEXT, payload913 TEXT, payload914 TEXT, payload915 TEXT, payload916 TEXT, payload917 TEXT, payload918 TEXT, payload919 TEXT, payload920 TEXT, payload921 TEXT, payload922 TEXT, payload923 TEXT, payload924 TEXT, payload925 TEXT, payload926 TEXT, payload927 TEXT, payload928 TEXT, payload929 TEXT, payload930 TEXT, payload931 TEXT, payload932 TEXT, payload933 TEXT, payload934 TEXT, payload935 TEXT, payload936 TEXT, payload937 TEXT, payload938 TEXT, payload939 TEXT, payload940 TEXT, payload941 TEXT, payload942 TEXT, payload943 TEXT, payload944 TEXT, payload945 TEXT, payload946 TEXT, payload947 TEXT, payload948 TEXT, payload949 TEXT, payload950 TEXT, payload951 TEXT, payload952 TEXT, payload953 TEXT, payload954 TEXT, payload955 TEXT, payload956 TEXT, payload957 TEXT, payload958 TEXT, payload959 TEXT, payload960 TEXT, payload961 TEXT, payload962 TEXT, payload963 TEXT, payload964 TEXT, payload965 TEXT, payload966 TEXT, payload967 TEXT, payload968 TEXT, payload969 TEXT, payload970 TEXT, payload971 TEXT, payload972 TEXT, payload973 TEXT, payload974 TEXT, payload975 TEXT, payload976 TEXT, payload977 TEXT, payload978 TEXT, payload979 TEXT, payload980 TEXT, payload981 TEXT, payload982 TEXT, payload983 TEXT, payload984 TEXT, payload985 TEXT, payload986 TEXT, payload987 TEXT, payload988 TEXT, payload989 TEXT, payload990 TEXT, payload991 TEXT, payload992 TEXT, payload993 TEXT, payload994 TEXT, payload995 TEXT, payload996 TEXT, payload997 TEXT, payload998 TEXT, payload999 TEXT, payload1000 TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_1k_cols;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_between_1k_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 1000
+ util: RandomAString
+ params: [1, 1]
+ executeRules:
+ - workload: THRPT_next_1Kcol_pk_btwn_1K
+ run:
+ - name: THRPT_next_1Kcol_pk_btwn_1K
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_1k_cols WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 1000"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_cols/THRPT_next_500col_pk_btwn_1K.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_cols/THRPT_next_500col_pk_btwn_1K.yaml
new file mode 100644
index 000000000..6e3861cdb
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_cols/THRPT_next_500col_pk_btwn_1K.yaml
@@ -0,0 +1,69 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_500_cols;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_between_500_cols (id INT, c1 int, c2 int, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, payload101 TEXT, payload102 TEXT, payload103 TEXT, payload104 TEXT, payload105 TEXT, payload106 TEXT, payload107 TEXT, payload108 TEXT, payload109 TEXT, payload110 TEXT, payload111 TEXT, payload112 TEXT, payload113 TEXT, payload114 TEXT, payload115 TEXT, payload116 TEXT, payload117 TEXT, payload118 TEXT, payload119 TEXT, payload120 TEXT, payload121 TEXT, payload122 TEXT, payload123 TEXT, payload124 TEXT, payload125 TEXT, payload126 TEXT, payload127 TEXT, payload128 TEXT, payload129 TEXT, payload130 TEXT, payload131 TEXT, payload132 TEXT, payload133 TEXT, payload134 TEXT, payload135 TEXT, payload136 TEXT, payload137 TEXT, payload138 TEXT, payload139 TEXT, payload140 TEXT, payload141 TEXT, payload142 TEXT, payload143 TEXT, payload144 TEXT, payload145 TEXT, payload146 TEXT, payload147 TEXT, payload148 TEXT, payload149 TEXT, payload150 TEXT, payload151 TEXT, payload152 TEXT, payload153 TEXT, payload154 TEXT, payload155 TEXT, payload156 TEXT, payload157 TEXT, payload158 TEXT, payload159 TEXT, payload160 TEXT, payload161 TEXT, payload162 TEXT, payload163 TEXT, payload164 TEXT, payload165 TEXT, payload166 TEXT, payload167 TEXT, payload168 TEXT, payload169 TEXT, payload170 TEXT, payload171 TEXT, payload172 TEXT, payload173 TEXT, payload174 TEXT, payload175 TEXT, payload176 TEXT, payload177 TEXT, payload178 TEXT, payload179 TEXT, payload180 TEXT, payload181 TEXT, payload182 TEXT, payload183 TEXT, payload184 TEXT, payload185 TEXT, payload186 TEXT, payload187 TEXT, payload188 TEXT, payload189 TEXT, payload190 TEXT, payload191 TEXT, payload192 TEXT, payload193 TEXT, payload194 TEXT, payload195 TEXT, payload196 TEXT, payload197 TEXT, payload198 TEXT, payload199 TEXT, payload200 TEXT, payload201 TEXT, payload202 TEXT, payload203 TEXT, payload204 TEXT, payload205 TEXT, payload206 TEXT, payload207 TEXT, payload208 TEXT, payload209 TEXT, payload210 TEXT, payload211 TEXT, payload212 TEXT, payload213 TEXT, payload214 TEXT, payload215 TEXT, payload216 TEXT, payload217 TEXT, payload218 TEXT, payload219 TEXT, payload220 TEXT, payload221 TEXT, payload222 TEXT, payload223 TEXT, payload224 TEXT, payload225 TEXT, payload226 TEXT, payload227 TEXT, payload228 TEXT, payload229 TEXT, payload230 TEXT, payload231 TEXT, payload232 TEXT, payload233 TEXT, payload234 TEXT, payload235 TEXT, payload236 TEXT, payload237 TEXT, payload238 TEXT, payload239 TEXT, payload240 TEXT, payload241 TEXT, payload242 TEXT, payload243 TEXT, payload244 TEXT, payload245 TEXT, payload246 TEXT, payload247 TEXT, payload248 TEXT, payload249 TEXT, payload250 TEXT, payload251 TEXT, payload252 TEXT, payload253 TEXT, payload254 TEXT, payload255 TEXT, payload256 TEXT, payload257 TEXT, payload258 TEXT, payload259 TEXT, payload260 TEXT, payload261 TEXT, payload262 TEXT, payload263 TEXT, payload264 TEXT, payload265 TEXT, payload266 TEXT, payload267 TEXT, payload268 TEXT, payload269 TEXT, payload270 TEXT, payload271 TEXT, payload272 TEXT, payload273 TEXT, payload274 TEXT, payload275 TEXT, payload276 TEXT, payload277 TEXT, payload278 TEXT, payload279 TEXT, payload280 TEXT, payload281 TEXT, payload282 TEXT, payload283 TEXT, payload284 TEXT, payload285 TEXT, payload286 TEXT, payload287 TEXT, payload288 TEXT, payload289 TEXT, payload290 TEXT, payload291 TEXT, payload292 TEXT, payload293 TEXT, payload294 TEXT, payload295 TEXT, payload296 TEXT, payload297 TEXT, payload298 TEXT, payload299 TEXT, payload300 TEXT, payload301 TEXT, payload302 TEXT, payload303 TEXT, payload304 TEXT, payload305 TEXT, payload306 TEXT, payload307 TEXT, payload308 TEXT, payload309 TEXT, payload310 TEXT, payload311 TEXT, payload312 TEXT, payload313 TEXT, payload314 TEXT, payload315 TEXT, payload316 TEXT, payload317 TEXT, payload318 TEXT, payload319 TEXT, payload320 TEXT, payload321 TEXT, payload322 TEXT, payload323 TEXT, payload324 TEXT, payload325 TEXT, payload326 TEXT, payload327 TEXT, payload328 TEXT, payload329 TEXT, payload330 TEXT, payload331 TEXT, payload332 TEXT, payload333 TEXT, payload334 TEXT, payload335 TEXT, payload336 TEXT, payload337 TEXT, payload338 TEXT, payload339 TEXT, payload340 TEXT, payload341 TEXT, payload342 TEXT, payload343 TEXT, payload344 TEXT, payload345 TEXT, payload346 TEXT, payload347 TEXT, payload348 TEXT, payload349 TEXT, payload350 TEXT, payload351 TEXT, payload352 TEXT, payload353 TEXT, payload354 TEXT, payload355 TEXT, payload356 TEXT, payload357 TEXT, payload358 TEXT, payload359 TEXT, payload360 TEXT, payload361 TEXT, payload362 TEXT, payload363 TEXT, payload364 TEXT, payload365 TEXT, payload366 TEXT, payload367 TEXT, payload368 TEXT, payload369 TEXT, payload370 TEXT, payload371 TEXT, payload372 TEXT, payload373 TEXT, payload374 TEXT, payload375 TEXT, payload376 TEXT, payload377 TEXT, payload378 TEXT, payload379 TEXT, payload380 TEXT, payload381 TEXT, payload382 TEXT, payload383 TEXT, payload384 TEXT, payload385 TEXT, payload386 TEXT, payload387 TEXT, payload388 TEXT, payload389 TEXT, payload390 TEXT, payload391 TEXT, payload392 TEXT, payload393 TEXT, payload394 TEXT, payload395 TEXT, payload396 TEXT, payload397 TEXT, payload398 TEXT, payload399 TEXT, payload400 TEXT, payload401 TEXT, payload402 TEXT, payload403 TEXT, payload404 TEXT, payload405 TEXT, payload406 TEXT, payload407 TEXT, payload408 TEXT, payload409 TEXT, payload410 TEXT, payload411 TEXT, payload412 TEXT, payload413 TEXT, payload414 TEXT, payload415 TEXT, payload416 TEXT, payload417 TEXT, payload418 TEXT, payload419 TEXT, payload420 TEXT, payload421 TEXT, payload422 TEXT, payload423 TEXT, payload424 TEXT, payload425 TEXT, payload426 TEXT, payload427 TEXT, payload428 TEXT, payload429 TEXT, payload430 TEXT, payload431 TEXT, payload432 TEXT, payload433 TEXT, payload434 TEXT, payload435 TEXT, payload436 TEXT, payload437 TEXT, payload438 TEXT, payload439 TEXT, payload440 TEXT, payload441 TEXT, payload442 TEXT, payload443 TEXT, payload444 TEXT, payload445 TEXT, payload446 TEXT, payload447 TEXT, payload448 TEXT, payload449 TEXT, payload450 TEXT, payload451 TEXT, payload452 TEXT, payload453 TEXT, payload454 TEXT, payload455 TEXT, payload456 TEXT, payload457 TEXT, payload458 TEXT, payload459 TEXT, payload460 TEXT, payload461 TEXT, payload462 TEXT, payload463 TEXT, payload464 TEXT, payload465 TEXT, payload466 TEXT, payload467 TEXT, payload468 TEXT, payload469 TEXT, payload470 TEXT, payload471 TEXT, payload472 TEXT, payload473 TEXT, payload474 TEXT, payload475 TEXT, payload476 TEXT, payload477 TEXT, payload478 TEXT, payload479 TEXT, payload480 TEXT, payload481 TEXT, payload482 TEXT, payload483 TEXT, payload484 TEXT, payload485 TEXT, payload486 TEXT, payload487 TEXT, payload488 TEXT, payload489 TEXT, payload490 TEXT, payload491 TEXT, payload492 TEXT, payload493 TEXT, payload494 TEXT, payload495 TEXT, payload496 TEXT, payload497 TEXT, payload498 TEXT, payload499 TEXT, payload500 TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_500_cols;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_between_500_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 500
+ util: RandomAString
+ params: [2, 2]
+ executeRules:
+ - workload: THRPT_next_500col_pk_btwn_1K
+ run:
+ - name: THRPT_next_500col_pk_btwn_1K
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_500_cols WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 1000"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_1.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_1.yaml
new file mode 100644
index 000000000..dbe8a4b21
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_1.yaml
@@ -0,0 +1,68 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_range_1;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_between_range_1 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_range_1;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_between_range_1
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_pk_btwn_1
+ run:
+ - name: THRPT_next_pk_btwn_1
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_range_1 WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999999]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 1"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_10.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_10.yaml
new file mode 100644
index 000000000..759ca69b7
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_10.yaml
@@ -0,0 +1,68 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_range_10;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_between_range_10 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_range_10;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_between_range_10
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_pk_btwn_10
+ run:
+ - name: THRPT_next_pk_btwn_10
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_range_10 WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999990]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 10"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_100.yaml
new file mode 100644
index 000000000..fa95b8db0
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_100.yaml
@@ -0,0 +1,68 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_range_100;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_between_range_100 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_range_100;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_between_range_100
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_pk_btwn_100
+ run:
+ - name: THRPT_next_pk_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_range_100 WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_1000.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_1000.yaml
new file mode 100644
index 000000000..40be9786f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_1000.yaml
@@ -0,0 +1,69 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ # Row-shape scan experiment: 100 TEXT columns, ~10 chars each (~1024 B row), 10000000 rows. Same column layout as seq twin (lookup_key unindexed, unused here); idx workload: WHERE id = ? (PK). Scan mode: idx.
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_range_1000;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_between_range_1000 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_range_1000;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_between_range_1000
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_pk_btwn_1000
+ run:
+ - name: THRPT_next_pk_btwn_1000
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_range_1000 WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 1000"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_100k.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_100k.yaml
new file mode 100644
index 000000000..c2221d146
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_100k.yaml
@@ -0,0 +1,68 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_range_100k;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_between_range_100k (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_range_100k;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_between_range_100k
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_pk_btwn_100k
+ run:
+ - name: THRPT_next_pk_btwn_100k
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_range_100k WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 900000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100000"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_10k.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_10k.yaml
new file mode 100644
index 000000000..89c9e79b9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_range/THRPT_next_pk_btwn_10k.yaml
@@ -0,0 +1,68 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_range_10k;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_between_range_10k (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_range_10k;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_between_range_10k
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_pk_btwn_10k
+ run:
+ - name: THRPT_next_pk_btwn_10k
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_range_10k WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 990000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 10000"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_row_size/THRPT_next_1col_100KB_row_pk_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_row_size/THRPT_next_1col_100KB_row_pk_btwn_100.yaml
new file mode 100644
index 000000000..35ad0aeee
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_row_size/THRPT_next_1col_100KB_row_pk_btwn_100.yaml
@@ -0,0 +1,62 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_100kb_row;
+ - CREATE TABLE THRPT_between_100kb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_100kb_row;
+
+ loadRules:
+ - table: THRPT_between_100kb_row
+ rows: 100000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: payload
+ util: RandomAString
+ params: [102400, 102400]
+ executeRules:
+ - workload: THRPT_next_1col_100KB_row_pk_btwn_100
+ run:
+ - name: THRPT_next_1col_100KB_row_pk_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_100kb_row WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 99900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
+
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_row_size/THRPT_next_1col_10KB_row_pk_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_row_size/THRPT_next_1col_10KB_row_pk_btwn_100.yaml
new file mode 100644
index 000000000..2a744dbac
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_row_size/THRPT_next_1col_10KB_row_pk_btwn_100.yaml
@@ -0,0 +1,61 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_10kb_row;
+ - CREATE TABLE THRPT_between_10kb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_10kb_row;
+
+ loadRules:
+ - table: THRPT_between_10kb_row
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [10240, 10240]
+ executeRules:
+ - workload: THRPT_next_1col_10KB_row_pk_btwn_100
+ run:
+ - name: THRPT_next_1col_10KB_row_pk_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_10kb_row WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_row_size/THRPT_next_1col_1KB_row_pk_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_row_size/THRPT_next_1col_1KB_row_pk_btwn_100.yaml
new file mode 100644
index 000000000..16f708842
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_row_size/THRPT_next_1col_1KB_row_pk_btwn_100.yaml
@@ -0,0 +1,61 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_1kb_row;
+ - CREATE TABLE THRPT_between_1kb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_1kb_row;
+
+ loadRules:
+ - table: THRPT_between_1kb_row
+ rows: 10000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 10000000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 10000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_1col_1KB_row_pk_btwn_100
+ run:
+ - name: THRPT_next_1col_1KB_row_pk_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_1kb_row WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 9999900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_row_size/THRPT_next_1col_1MB_row_pk_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_row_size/THRPT_next_1col_1MB_row_pk_btwn_100.yaml
new file mode 100644
index 000000000..197f304b4
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_varying_row_size/THRPT_next_1col_1MB_row_pk_btwn_100.yaml
@@ -0,0 +1,61 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_1mb_row;
+ - CREATE TABLE THRPT_between_1mb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_1mb_row;
+
+ loadRules:
+ - table: THRPT_between_1mb_row
+ rows: 10000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: payload
+ util: RandomAString
+ params: [1048576, 1048576]
+ executeRules:
+ - workload: THRPT_next_1col_1MB_row_pk_btwn_100
+ run:
+ - name: THRPT_next_1col_1MB_row_pk_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_1mb_row WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 9900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_100KB_row_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_100KB_row_btwn_100.yaml
new file mode 100644
index 000000000..32f1e38c3
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_100KB_row_btwn_100.yaml
@@ -0,0 +1,66 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_wide_between_100kb;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_wide_between_100kb (id INT, lookup_key INT, c1 TEXT, c2 TEXT, c3 TEXT, c4 TEXT, c5 TEXT, c6 TEXT, c7 TEXT, c8 TEXT, c9 TEXT, c10 TEXT, c11 TEXT, c12 TEXT, c13 TEXT, c14 TEXT, c15 TEXT, c16 TEXT, c17 TEXT, c18 TEXT, c19 TEXT, c20 TEXT, c21 TEXT, c22 TEXT, c23 TEXT, c24 TEXT, c25 TEXT, c26 TEXT, c27 TEXT, c28 TEXT, c29 TEXT, c30 TEXT, c31 TEXT, c32 TEXT, c33 TEXT, c34 TEXT, c35 TEXT, c36 TEXT, c37 TEXT, c38 TEXT, c39 TEXT, c40 TEXT, c41 TEXT, c42 TEXT, c43 TEXT, c44 TEXT, c45 TEXT, c46 TEXT, c47 TEXT, c48 TEXT, c49 TEXT, c50 TEXT, c51 TEXT, c52 TEXT, c53 TEXT, c54 TEXT, c55 TEXT, c56 TEXT, c57 TEXT, c58 TEXT, c59 TEXT, c60 TEXT, c61 TEXT, c62 TEXT, c63 TEXT, c64 TEXT, c65 TEXT, c66 TEXT, c67 TEXT, c68 TEXT, c69 TEXT, c70 TEXT, c71 TEXT, c72 TEXT, c73 TEXT, c74 TEXT, c75 TEXT, c76 TEXT, c77 TEXT, c78 TEXT, c79 TEXT, c80 TEXT, c81 TEXT, c82 TEXT, c83 TEXT, c84 TEXT, c85 TEXT, c86 TEXT, c87 TEXT, c88 TEXT, c89 TEXT, c90 TEXT, c91 TEXT, c92 TEXT, c93 TEXT, c94 TEXT, c95 TEXT, c96 TEXT, c97 TEXT, c98 TEXT, c99 TEXT, c100 TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_wide_between_100kb;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_wide_between_100kb
+ rows: 100000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: c
+ count: 100
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_100col_100KB_row_btwn_100
+ run:
+ - name: THRPT_next_100col_100KB_row_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_wide_between_100kb WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 99900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_10KB_row_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_10KB_row_btwn_100.yaml
new file mode 100644
index 000000000..5cf79d3e0
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_10KB_row_btwn_100.yaml
@@ -0,0 +1,66 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_wide_between_10kb;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_wide_between_10kb (id INT, lookup_key INT, c1 TEXT, c2 TEXT, c3 TEXT, c4 TEXT, c5 TEXT, c6 TEXT, c7 TEXT, c8 TEXT, c9 TEXT, c10 TEXT, c11 TEXT, c12 TEXT, c13 TEXT, c14 TEXT, c15 TEXT, c16 TEXT, c17 TEXT, c18 TEXT, c19 TEXT, c20 TEXT, c21 TEXT, c22 TEXT, c23 TEXT, c24 TEXT, c25 TEXT, c26 TEXT, c27 TEXT, c28 TEXT, c29 TEXT, c30 TEXT, c31 TEXT, c32 TEXT, c33 TEXT, c34 TEXT, c35 TEXT, c36 TEXT, c37 TEXT, c38 TEXT, c39 TEXT, c40 TEXT, c41 TEXT, c42 TEXT, c43 TEXT, c44 TEXT, c45 TEXT, c46 TEXT, c47 TEXT, c48 TEXT, c49 TEXT, c50 TEXT, c51 TEXT, c52 TEXT, c53 TEXT, c54 TEXT, c55 TEXT, c56 TEXT, c57 TEXT, c58 TEXT, c59 TEXT, c60 TEXT, c61 TEXT, c62 TEXT, c63 TEXT, c64 TEXT, c65 TEXT, c66 TEXT, c67 TEXT, c68 TEXT, c69 TEXT, c70 TEXT, c71 TEXT, c72 TEXT, c73 TEXT, c74 TEXT, c75 TEXT, c76 TEXT, c77 TEXT, c78 TEXT, c79 TEXT, c80 TEXT, c81 TEXT, c82 TEXT, c83 TEXT, c84 TEXT, c85 TEXT, c86 TEXT, c87 TEXT, c88 TEXT, c89 TEXT, c90 TEXT, c91 TEXT, c92 TEXT, c93 TEXT, c94 TEXT, c95 TEXT, c96 TEXT, c97 TEXT, c98 TEXT, c99 TEXT, c100 TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_wide_between_10kb;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_wide_between_10kb
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c
+ count: 100
+ util: RandomAString
+ params: [102, 102]
+ executeRules:
+ - workload: THRPT_next_100col_10KB_row_btwn_100
+ run:
+ - name: THRPT_next_100col_10KB_row_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_wide_between_10kb WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_1MB_row_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_1MB_row_btwn_100.yaml
new file mode 100644
index 000000000..9de8e2515
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/postgres/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_1MB_row_btwn_100.yaml
@@ -0,0 +1,66 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_wide_between_1mb;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_wide_between_1mb (id INT, lookup_key INT, c1 TEXT, c2 TEXT, c3 TEXT, c4 TEXT, c5 TEXT, c6 TEXT, c7 TEXT, c8 TEXT, c9 TEXT, c10 TEXT, c11 TEXT, c12 TEXT, c13 TEXT, c14 TEXT, c15 TEXT, c16 TEXT, c17 TEXT, c18 TEXT, c19 TEXT, c20 TEXT, c21 TEXT, c22 TEXT, c23 TEXT, c24 TEXT, c25 TEXT, c26 TEXT, c27 TEXT, c28 TEXT, c29 TEXT, c30 TEXT, c31 TEXT, c32 TEXT, c33 TEXT, c34 TEXT, c35 TEXT, c36 TEXT, c37 TEXT, c38 TEXT, c39 TEXT, c40 TEXT, c41 TEXT, c42 TEXT, c43 TEXT, c44 TEXT, c45 TEXT, c46 TEXT, c47 TEXT, c48 TEXT, c49 TEXT, c50 TEXT, c51 TEXT, c52 TEXT, c53 TEXT, c54 TEXT, c55 TEXT, c56 TEXT, c57 TEXT, c58 TEXT, c59 TEXT, c60 TEXT, c61 TEXT, c62 TEXT, c63 TEXT, c64 TEXT, c65 TEXT, c66 TEXT, c67 TEXT, c68 TEXT, c69 TEXT, c70 TEXT, c71 TEXT, c72 TEXT, c73 TEXT, c74 TEXT, c75 TEXT, c76 TEXT, c77 TEXT, c78 TEXT, c79 TEXT, c80 TEXT, c81 TEXT, c82 TEXT, c83 TEXT, c84 TEXT, c85 TEXT, c86 TEXT, c87 TEXT, c88 TEXT, c89 TEXT, c90 TEXT, c91 TEXT, c92 TEXT, c93 TEXT, c94 TEXT, c95 TEXT, c96 TEXT, c97 TEXT, c98 TEXT, c99 TEXT, c100 TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_wide_between_1mb;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_wide_between_1mb
+ rows: 10000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: c
+ count: 100
+ util: RandomAString
+ params: [10485, 10485]
+ executeRules:
+ - workload: THRPT_next_100col_1MB_row_btwn_100
+ run:
+ - name: THRPT_next_100col_1MB_row_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_wide_between_1mb WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 9900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_1.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_1.yaml
new file mode 100644
index 000000000..ec9a5ca9e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_1.yaml
@@ -0,0 +1,65 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_1;
+ - CREATE TABLE THRPT_sec_idx_between_range_1 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_between_range_1 (c2 asc) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_1;
+
+ loadRules:
+ - table: THRPT_sec_idx_between_range_1
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_sec_idx_btwn_1
+ run:
+ - name: THRPT_next_sec_idx_btwn_1
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_between_range_1 WHERE c2 between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999999]
+ referenceName: c2
+ - util: ExpressionEval
+ params:
+ - "c2 + 1"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_10.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_10.yaml
new file mode 100644
index 000000000..d2ada50b9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_10.yaml
@@ -0,0 +1,65 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_10;
+ - CREATE TABLE THRPT_sec_idx_between_range_10 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_between_range_10 (c2 asc) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_10;
+
+ loadRules:
+ - table: THRPT_sec_idx_between_range_10
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_sec_idx_btwn_10
+ run:
+ - name: THRPT_next_sec_idx_btwn_10
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_between_range_10 WHERE c2 between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999990]
+ referenceName: c2
+ - util: ExpressionEval
+ params:
+ - "c2 + 10"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_100.yaml
new file mode 100644
index 000000000..b73eaece2
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_100.yaml
@@ -0,0 +1,65 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_100;
+ - CREATE TABLE THRPT_sec_idx_between_range_100 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_between_range_100 (c2 asc) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_100;
+
+ loadRules:
+ - table: THRPT_sec_idx_between_range_100
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_sec_idx_btwn_100
+ run:
+ - name: THRPT_next_sec_idx_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_between_range_100 WHERE c2 between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999900]
+ referenceName: c2
+ - util: ExpressionEval
+ params:
+ - "c2 + 100"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_1000.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_1000.yaml
new file mode 100644
index 000000000..9aa341586
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_1000.yaml
@@ -0,0 +1,65 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_1000;
+ - CREATE TABLE THRPT_sec_idx_between_range_1000 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_between_range_1000 (c2 asc) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_1000;
+
+ loadRules:
+ - table: THRPT_sec_idx_between_range_1000
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_sec_idx_btwn_1000
+ run:
+ - name: THRPT_next_sec_idx_btwn_1000
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_between_range_1000 WHERE c2 between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999000]
+ referenceName: c2
+ - util: ExpressionEval
+ params:
+ - "c2 + 1000"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_100k.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_100k.yaml
new file mode 100644
index 000000000..2ba7d96f5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_100k.yaml
@@ -0,0 +1,65 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_100k;
+ - CREATE TABLE THRPT_sec_idx_between_range_100k (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_between_range_100k (c2 asc) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_100k;
+
+ loadRules:
+ - table: THRPT_sec_idx_between_range_100k
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_sec_idx_btwn_100k
+ run:
+ - name: THRPT_next_sec_idx_btwn_100k
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_between_range_100k WHERE c2 between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 900000]
+ referenceName: c2
+ - util: ExpressionEval
+ params:
+ - "c2 + 100000"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_10k.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_10k.yaml
new file mode 100644
index 000000000..c52a8fdea
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_sec_idx_varying_range/THRPT_next_sec_idx_btwn_10k.yaml
@@ -0,0 +1,65 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_10k;
+ - CREATE TABLE THRPT_sec_idx_between_range_10k (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_between_range_10k (c2 asc) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_between_range_10k;
+
+ loadRules:
+ - table: THRPT_sec_idx_between_range_10k
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_sec_idx_btwn_10k
+ run:
+ - name: THRPT_next_sec_idx_btwn_10k
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_between_range_10k WHERE c2 between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 990000]
+ referenceName: c2
+ - util: ExpressionEval
+ params:
+ - "c2 + 10000"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_cols/THRPT_next_100col_pk_btwn_1K.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_cols/THRPT_next_100col_pk_btwn_1K.yaml
new file mode 100644
index 000000000..19c642e2f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_cols/THRPT_next_100col_pk_btwn_1K.yaml
@@ -0,0 +1,65 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_100_cols;
+ - CREATE TABLE THRPT_between_100_cols (id INT, c1 int, c2 int, payload1 text, payload2 text, payload3 text, payload4 text, payload5 text, payload6 text, payload7 text, payload8 text, payload9 text, payload10 text, payload11 text, payload12 text, payload13 text, payload14 text, payload15 text, payload16 text, payload17 text, payload18 text, payload19 text, payload20 text, payload21 text, payload22 text, payload23 text, payload24 text, payload25 text, payload26 text, payload27 text, payload28 text, payload29 text, payload30 text, payload31 text, payload32 text, payload33 text, payload34 text, payload35 text, payload36 text, payload37 text, payload38 text, payload39 text, payload40 text, payload41 text, payload42 text, payload43 text, payload44 text, payload45 text, payload46 text, payload47 text, payload48 text, payload49 text, payload50 text, payload51 text, payload52 text, payload53 text, payload54 text, payload55 text, payload56 text, payload57 text, payload58 text, payload59 text, payload60 text, payload61 text, payload62 text, payload63 text, payload64 text, payload65 text, payload66 text, payload67 text, payload68 text, payload69 text, payload70 text, payload71 text, payload72 text, payload73 text, payload74 text, payload75 text, payload76 text, payload77 text, payload78 text, payload79 text, payload80 text, payload81 text, payload82 text, payload83 text, payload84 text, payload85 text, payload86 text, payload87 text, payload88 text, payload89 text, payload90 text, payload91 text, payload92 text, payload93 text, payload94 text, payload95 text, payload96 text, payload97 text, payload98 text, payload99 text, payload100 text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_100_cols;
+
+ loadRules:
+ - table: THRPT_between_100_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 100
+ util: RandomAString
+ params: [10, 10]
+ executeRules:
+ - workload: THRPT_next_100col_pk_btwn_1K
+ run:
+ - name: THRPT_next_100col_pk_btwn_1K
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_100_cols WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 1000"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_cols/THRPT_next_10col_pk_btwn_1K.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_cols/THRPT_next_10col_pk_btwn_1K.yaml
new file mode 100644
index 000000000..1a22ce487
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_cols/THRPT_next_10col_pk_btwn_1K.yaml
@@ -0,0 +1,65 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_10_cols;
+ - CREATE TABLE THRPT_between_10_cols (id INT, c1 int, c2 int, payload1 text, payload2 text, payload3 text, payload4 text, payload5 text, payload6 text, payload7 text, payload8 text, payload9 text, payload10 text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_10_cols;
+
+ loadRules:
+ - table: THRPT_between_10_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 10
+ util: RandomAString
+ params: [100, 100]
+ executeRules:
+ - workload: THRPT_next_10col_pk_btwn_1K
+ run:
+ - name: THRPT_next_10col_pk_btwn_1K
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_10_cols WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 1000"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_cols/THRPT_next_1Kcol_pk_btwn_1K.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_cols/THRPT_next_1Kcol_pk_btwn_1K.yaml
new file mode 100644
index 000000000..8f802a436
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_cols/THRPT_next_1Kcol_pk_btwn_1K.yaml
@@ -0,0 +1,65 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_1k_cols;
+ - CREATE TABLE THRPT_between_1k_cols (id INT, c1 int, c2 int, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, payload101 TEXT, payload102 TEXT, payload103 TEXT, payload104 TEXT, payload105 TEXT, payload106 TEXT, payload107 TEXT, payload108 TEXT, payload109 TEXT, payload110 TEXT, payload111 TEXT, payload112 TEXT, payload113 TEXT, payload114 TEXT, payload115 TEXT, payload116 TEXT, payload117 TEXT, payload118 TEXT, payload119 TEXT, payload120 TEXT, payload121 TEXT, payload122 TEXT, payload123 TEXT, payload124 TEXT, payload125 TEXT, payload126 TEXT, payload127 TEXT, payload128 TEXT, payload129 TEXT, payload130 TEXT, payload131 TEXT, payload132 TEXT, payload133 TEXT, payload134 TEXT, payload135 TEXT, payload136 TEXT, payload137 TEXT, payload138 TEXT, payload139 TEXT, payload140 TEXT, payload141 TEXT, payload142 TEXT, payload143 TEXT, payload144 TEXT, payload145 TEXT, payload146 TEXT, payload147 TEXT, payload148 TEXT, payload149 TEXT, payload150 TEXT, payload151 TEXT, payload152 TEXT, payload153 TEXT, payload154 TEXT, payload155 TEXT, payload156 TEXT, payload157 TEXT, payload158 TEXT, payload159 TEXT, payload160 TEXT, payload161 TEXT, payload162 TEXT, payload163 TEXT, payload164 TEXT, payload165 TEXT, payload166 TEXT, payload167 TEXT, payload168 TEXT, payload169 TEXT, payload170 TEXT, payload171 TEXT, payload172 TEXT, payload173 TEXT, payload174 TEXT, payload175 TEXT, payload176 TEXT, payload177 TEXT, payload178 TEXT, payload179 TEXT, payload180 TEXT, payload181 TEXT, payload182 TEXT, payload183 TEXT, payload184 TEXT, payload185 TEXT, payload186 TEXT, payload187 TEXT, payload188 TEXT, payload189 TEXT, payload190 TEXT, payload191 TEXT, payload192 TEXT, payload193 TEXT, payload194 TEXT, payload195 TEXT, payload196 TEXT, payload197 TEXT, payload198 TEXT, payload199 TEXT, payload200 TEXT, payload201 TEXT, payload202 TEXT, payload203 TEXT, payload204 TEXT, payload205 TEXT, payload206 TEXT, payload207 TEXT, payload208 TEXT, payload209 TEXT, payload210 TEXT, payload211 TEXT, payload212 TEXT, payload213 TEXT, payload214 TEXT, payload215 TEXT, payload216 TEXT, payload217 TEXT, payload218 TEXT, payload219 TEXT, payload220 TEXT, payload221 TEXT, payload222 TEXT, payload223 TEXT, payload224 TEXT, payload225 TEXT, payload226 TEXT, payload227 TEXT, payload228 TEXT, payload229 TEXT, payload230 TEXT, payload231 TEXT, payload232 TEXT, payload233 TEXT, payload234 TEXT, payload235 TEXT, payload236 TEXT, payload237 TEXT, payload238 TEXT, payload239 TEXT, payload240 TEXT, payload241 TEXT, payload242 TEXT, payload243 TEXT, payload244 TEXT, payload245 TEXT, payload246 TEXT, payload247 TEXT, payload248 TEXT, payload249 TEXT, payload250 TEXT, payload251 TEXT, payload252 TEXT, payload253 TEXT, payload254 TEXT, payload255 TEXT, payload256 TEXT, payload257 TEXT, payload258 TEXT, payload259 TEXT, payload260 TEXT, payload261 TEXT, payload262 TEXT, payload263 TEXT, payload264 TEXT, payload265 TEXT, payload266 TEXT, payload267 TEXT, payload268 TEXT, payload269 TEXT, payload270 TEXT, payload271 TEXT, payload272 TEXT, payload273 TEXT, payload274 TEXT, payload275 TEXT, payload276 TEXT, payload277 TEXT, payload278 TEXT, payload279 TEXT, payload280 TEXT, payload281 TEXT, payload282 TEXT, payload283 TEXT, payload284 TEXT, payload285 TEXT, payload286 TEXT, payload287 TEXT, payload288 TEXT, payload289 TEXT, payload290 TEXT, payload291 TEXT, payload292 TEXT, payload293 TEXT, payload294 TEXT, payload295 TEXT, payload296 TEXT, payload297 TEXT, payload298 TEXT, payload299 TEXT, payload300 TEXT, payload301 TEXT, payload302 TEXT, payload303 TEXT, payload304 TEXT, payload305 TEXT, payload306 TEXT, payload307 TEXT, payload308 TEXT, payload309 TEXT, payload310 TEXT, payload311 TEXT, payload312 TEXT, payload313 TEXT, payload314 TEXT, payload315 TEXT, payload316 TEXT, payload317 TEXT, payload318 TEXT, payload319 TEXT, payload320 TEXT, payload321 TEXT, payload322 TEXT, payload323 TEXT, payload324 TEXT, payload325 TEXT, payload326 TEXT, payload327 TEXT, payload328 TEXT, payload329 TEXT, payload330 TEXT, payload331 TEXT, payload332 TEXT, payload333 TEXT, payload334 TEXT, payload335 TEXT, payload336 TEXT, payload337 TEXT, payload338 TEXT, payload339 TEXT, payload340 TEXT, payload341 TEXT, payload342 TEXT, payload343 TEXT, payload344 TEXT, payload345 TEXT, payload346 TEXT, payload347 TEXT, payload348 TEXT, payload349 TEXT, payload350 TEXT, payload351 TEXT, payload352 TEXT, payload353 TEXT, payload354 TEXT, payload355 TEXT, payload356 TEXT, payload357 TEXT, payload358 TEXT, payload359 TEXT, payload360 TEXT, payload361 TEXT, payload362 TEXT, payload363 TEXT, payload364 TEXT, payload365 TEXT, payload366 TEXT, payload367 TEXT, payload368 TEXT, payload369 TEXT, payload370 TEXT, payload371 TEXT, payload372 TEXT, payload373 TEXT, payload374 TEXT, payload375 TEXT, payload376 TEXT, payload377 TEXT, payload378 TEXT, payload379 TEXT, payload380 TEXT, payload381 TEXT, payload382 TEXT, payload383 TEXT, payload384 TEXT, payload385 TEXT, payload386 TEXT, payload387 TEXT, payload388 TEXT, payload389 TEXT, payload390 TEXT, payload391 TEXT, payload392 TEXT, payload393 TEXT, payload394 TEXT, payload395 TEXT, payload396 TEXT, payload397 TEXT, payload398 TEXT, payload399 TEXT, payload400 TEXT, payload401 TEXT, payload402 TEXT, payload403 TEXT, payload404 TEXT, payload405 TEXT, payload406 TEXT, payload407 TEXT, payload408 TEXT, payload409 TEXT, payload410 TEXT, payload411 TEXT, payload412 TEXT, payload413 TEXT, payload414 TEXT, payload415 TEXT, payload416 TEXT, payload417 TEXT, payload418 TEXT, payload419 TEXT, payload420 TEXT, payload421 TEXT, payload422 TEXT, payload423 TEXT, payload424 TEXT, payload425 TEXT, payload426 TEXT, payload427 TEXT, payload428 TEXT, payload429 TEXT, payload430 TEXT, payload431 TEXT, payload432 TEXT, payload433 TEXT, payload434 TEXT, payload435 TEXT, payload436 TEXT, payload437 TEXT, payload438 TEXT, payload439 TEXT, payload440 TEXT, payload441 TEXT, payload442 TEXT, payload443 TEXT, payload444 TEXT, payload445 TEXT, payload446 TEXT, payload447 TEXT, payload448 TEXT, payload449 TEXT, payload450 TEXT, payload451 TEXT, payload452 TEXT, payload453 TEXT, payload454 TEXT, payload455 TEXT, payload456 TEXT, payload457 TEXT, payload458 TEXT, payload459 TEXT, payload460 TEXT, payload461 TEXT, payload462 TEXT, payload463 TEXT, payload464 TEXT, payload465 TEXT, payload466 TEXT, payload467 TEXT, payload468 TEXT, payload469 TEXT, payload470 TEXT, payload471 TEXT, payload472 TEXT, payload473 TEXT, payload474 TEXT, payload475 TEXT, payload476 TEXT, payload477 TEXT, payload478 TEXT, payload479 TEXT, payload480 TEXT, payload481 TEXT, payload482 TEXT, payload483 TEXT, payload484 TEXT, payload485 TEXT, payload486 TEXT, payload487 TEXT, payload488 TEXT, payload489 TEXT, payload490 TEXT, payload491 TEXT, payload492 TEXT, payload493 TEXT, payload494 TEXT, payload495 TEXT, payload496 TEXT, payload497 TEXT, payload498 TEXT, payload499 TEXT, payload500 TEXT, payload501 TEXT, payload502 TEXT, payload503 TEXT, payload504 TEXT, payload505 TEXT, payload506 TEXT, payload507 TEXT, payload508 TEXT, payload509 TEXT, payload510 TEXT, payload511 TEXT, payload512 TEXT, payload513 TEXT, payload514 TEXT, payload515 TEXT, payload516 TEXT, payload517 TEXT, payload518 TEXT, payload519 TEXT, payload520 TEXT, payload521 TEXT, payload522 TEXT, payload523 TEXT, payload524 TEXT, payload525 TEXT, payload526 TEXT, payload527 TEXT, payload528 TEXT, payload529 TEXT, payload530 TEXT, payload531 TEXT, payload532 TEXT, payload533 TEXT, payload534 TEXT, payload535 TEXT, payload536 TEXT, payload537 TEXT, payload538 TEXT, payload539 TEXT, payload540 TEXT, payload541 TEXT, payload542 TEXT, payload543 TEXT, payload544 TEXT, payload545 TEXT, payload546 TEXT, payload547 TEXT, payload548 TEXT, payload549 TEXT, payload550 TEXT, payload551 TEXT, payload552 TEXT, payload553 TEXT, payload554 TEXT, payload555 TEXT, payload556 TEXT, payload557 TEXT, payload558 TEXT, payload559 TEXT, payload560 TEXT, payload561 TEXT, payload562 TEXT, payload563 TEXT, payload564 TEXT, payload565 TEXT, payload566 TEXT, payload567 TEXT, payload568 TEXT, payload569 TEXT, payload570 TEXT, payload571 TEXT, payload572 TEXT, payload573 TEXT, payload574 TEXT, payload575 TEXT, payload576 TEXT, payload577 TEXT, payload578 TEXT, payload579 TEXT, payload580 TEXT, payload581 TEXT, payload582 TEXT, payload583 TEXT, payload584 TEXT, payload585 TEXT, payload586 TEXT, payload587 TEXT, payload588 TEXT, payload589 TEXT, payload590 TEXT, payload591 TEXT, payload592 TEXT, payload593 TEXT, payload594 TEXT, payload595 TEXT, payload596 TEXT, payload597 TEXT, payload598 TEXT, payload599 TEXT, payload600 TEXT, payload601 TEXT, payload602 TEXT, payload603 TEXT, payload604 TEXT, payload605 TEXT, payload606 TEXT, payload607 TEXT, payload608 TEXT, payload609 TEXT, payload610 TEXT, payload611 TEXT, payload612 TEXT, payload613 TEXT, payload614 TEXT, payload615 TEXT, payload616 TEXT, payload617 TEXT, payload618 TEXT, payload619 TEXT, payload620 TEXT, payload621 TEXT, payload622 TEXT, payload623 TEXT, payload624 TEXT, payload625 TEXT, payload626 TEXT, payload627 TEXT, payload628 TEXT, payload629 TEXT, payload630 TEXT, payload631 TEXT, payload632 TEXT, payload633 TEXT, payload634 TEXT, payload635 TEXT, payload636 TEXT, payload637 TEXT, payload638 TEXT, payload639 TEXT, payload640 TEXT, payload641 TEXT, payload642 TEXT, payload643 TEXT, payload644 TEXT, payload645 TEXT, payload646 TEXT, payload647 TEXT, payload648 TEXT, payload649 TEXT, payload650 TEXT, payload651 TEXT, payload652 TEXT, payload653 TEXT, payload654 TEXT, payload655 TEXT, payload656 TEXT, payload657 TEXT, payload658 TEXT, payload659 TEXT, payload660 TEXT, payload661 TEXT, payload662 TEXT, payload663 TEXT, payload664 TEXT, payload665 TEXT, payload666 TEXT, payload667 TEXT, payload668 TEXT, payload669 TEXT, payload670 TEXT, payload671 TEXT, payload672 TEXT, payload673 TEXT, payload674 TEXT, payload675 TEXT, payload676 TEXT, payload677 TEXT, payload678 TEXT, payload679 TEXT, payload680 TEXT, payload681 TEXT, payload682 TEXT, payload683 TEXT, payload684 TEXT, payload685 TEXT, payload686 TEXT, payload687 TEXT, payload688 TEXT, payload689 TEXT, payload690 TEXT, payload691 TEXT, payload692 TEXT, payload693 TEXT, payload694 TEXT, payload695 TEXT, payload696 TEXT, payload697 TEXT, payload698 TEXT, payload699 TEXT, payload700 TEXT, payload701 TEXT, payload702 TEXT, payload703 TEXT, payload704 TEXT, payload705 TEXT, payload706 TEXT, payload707 TEXT, payload708 TEXT, payload709 TEXT, payload710 TEXT, payload711 TEXT, payload712 TEXT, payload713 TEXT, payload714 TEXT, payload715 TEXT, payload716 TEXT, payload717 TEXT, payload718 TEXT, payload719 TEXT, payload720 TEXT, payload721 TEXT, payload722 TEXT, payload723 TEXT, payload724 TEXT, payload725 TEXT, payload726 TEXT, payload727 TEXT, payload728 TEXT, payload729 TEXT, payload730 TEXT, payload731 TEXT, payload732 TEXT, payload733 TEXT, payload734 TEXT, payload735 TEXT, payload736 TEXT, payload737 TEXT, payload738 TEXT, payload739 TEXT, payload740 TEXT, payload741 TEXT, payload742 TEXT, payload743 TEXT, payload744 TEXT, payload745 TEXT, payload746 TEXT, payload747 TEXT, payload748 TEXT, payload749 TEXT, payload750 TEXT, payload751 TEXT, payload752 TEXT, payload753 TEXT, payload754 TEXT, payload755 TEXT, payload756 TEXT, payload757 TEXT, payload758 TEXT, payload759 TEXT, payload760 TEXT, payload761 TEXT, payload762 TEXT, payload763 TEXT, payload764 TEXT, payload765 TEXT, payload766 TEXT, payload767 TEXT, payload768 TEXT, payload769 TEXT, payload770 TEXT, payload771 TEXT, payload772 TEXT, payload773 TEXT, payload774 TEXT, payload775 TEXT, payload776 TEXT, payload777 TEXT, payload778 TEXT, payload779 TEXT, payload780 TEXT, payload781 TEXT, payload782 TEXT, payload783 TEXT, payload784 TEXT, payload785 TEXT, payload786 TEXT, payload787 TEXT, payload788 TEXT, payload789 TEXT, payload790 TEXT, payload791 TEXT, payload792 TEXT, payload793 TEXT, payload794 TEXT, payload795 TEXT, payload796 TEXT, payload797 TEXT, payload798 TEXT, payload799 TEXT, payload800 TEXT, payload801 TEXT, payload802 TEXT, payload803 TEXT, payload804 TEXT, payload805 TEXT, payload806 TEXT, payload807 TEXT, payload808 TEXT, payload809 TEXT, payload810 TEXT, payload811 TEXT, payload812 TEXT, payload813 TEXT, payload814 TEXT, payload815 TEXT, payload816 TEXT, payload817 TEXT, payload818 TEXT, payload819 TEXT, payload820 TEXT, payload821 TEXT, payload822 TEXT, payload823 TEXT, payload824 TEXT, payload825 TEXT, payload826 TEXT, payload827 TEXT, payload828 TEXT, payload829 TEXT, payload830 TEXT, payload831 TEXT, payload832 TEXT, payload833 TEXT, payload834 TEXT, payload835 TEXT, payload836 TEXT, payload837 TEXT, payload838 TEXT, payload839 TEXT, payload840 TEXT, payload841 TEXT, payload842 TEXT, payload843 TEXT, payload844 TEXT, payload845 TEXT, payload846 TEXT, payload847 TEXT, payload848 TEXT, payload849 TEXT, payload850 TEXT, payload851 TEXT, payload852 TEXT, payload853 TEXT, payload854 TEXT, payload855 TEXT, payload856 TEXT, payload857 TEXT, payload858 TEXT, payload859 TEXT, payload860 TEXT, payload861 TEXT, payload862 TEXT, payload863 TEXT, payload864 TEXT, payload865 TEXT, payload866 TEXT, payload867 TEXT, payload868 TEXT, payload869 TEXT, payload870 TEXT, payload871 TEXT, payload872 TEXT, payload873 TEXT, payload874 TEXT, payload875 TEXT, payload876 TEXT, payload877 TEXT, payload878 TEXT, payload879 TEXT, payload880 TEXT, payload881 TEXT, payload882 TEXT, payload883 TEXT, payload884 TEXT, payload885 TEXT, payload886 TEXT, payload887 TEXT, payload888 TEXT, payload889 TEXT, payload890 TEXT, payload891 TEXT, payload892 TEXT, payload893 TEXT, payload894 TEXT, payload895 TEXT, payload896 TEXT, payload897 TEXT, payload898 TEXT, payload899 TEXT, payload900 TEXT, payload901 TEXT, payload902 TEXT, payload903 TEXT, payload904 TEXT, payload905 TEXT, payload906 TEXT, payload907 TEXT, payload908 TEXT, payload909 TEXT, payload910 TEXT, payload911 TEXT, payload912 TEXT, payload913 TEXT, payload914 TEXT, payload915 TEXT, payload916 TEXT, payload917 TEXT, payload918 TEXT, payload919 TEXT, payload920 TEXT, payload921 TEXT, payload922 TEXT, payload923 TEXT, payload924 TEXT, payload925 TEXT, payload926 TEXT, payload927 TEXT, payload928 TEXT, payload929 TEXT, payload930 TEXT, payload931 TEXT, payload932 TEXT, payload933 TEXT, payload934 TEXT, payload935 TEXT, payload936 TEXT, payload937 TEXT, payload938 TEXT, payload939 TEXT, payload940 TEXT, payload941 TEXT, payload942 TEXT, payload943 TEXT, payload944 TEXT, payload945 TEXT, payload946 TEXT, payload947 TEXT, payload948 TEXT, payload949 TEXT, payload950 TEXT, payload951 TEXT, payload952 TEXT, payload953 TEXT, payload954 TEXT, payload955 TEXT, payload956 TEXT, payload957 TEXT, payload958 TEXT, payload959 TEXT, payload960 TEXT, payload961 TEXT, payload962 TEXT, payload963 TEXT, payload964 TEXT, payload965 TEXT, payload966 TEXT, payload967 TEXT, payload968 TEXT, payload969 TEXT, payload970 TEXT, payload971 TEXT, payload972 TEXT, payload973 TEXT, payload974 TEXT, payload975 TEXT, payload976 TEXT, payload977 TEXT, payload978 TEXT, payload979 TEXT, payload980 TEXT, payload981 TEXT, payload982 TEXT, payload983 TEXT, payload984 TEXT, payload985 TEXT, payload986 TEXT, payload987 TEXT, payload988 TEXT, payload989 TEXT, payload990 TEXT, payload991 TEXT, payload992 TEXT, payload993 TEXT, payload994 TEXT, payload995 TEXT, payload996 TEXT, payload997 TEXT, payload998 TEXT, payload999 TEXT, payload1000 TEXT, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_1k_cols;
+
+ loadRules:
+ - table: THRPT_between_1k_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 1000
+ util: RandomAString
+ params: [1, 1]
+ executeRules:
+ - workload: THRPT_next_1Kcol_pk_btwn_1K
+ run:
+ - name: THRPT_next_1Kcol_pk_btwn_1K
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_1k_cols WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 1000"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_cols/THRPT_next_500col_pk_btwn_1K.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_cols/THRPT_next_500col_pk_btwn_1K.yaml
new file mode 100644
index 000000000..5666fcf36
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_cols/THRPT_next_500col_pk_btwn_1K.yaml
@@ -0,0 +1,65 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_500_cols;
+ - CREATE TABLE THRPT_between_500_cols (id INT, c1 int, c2 int, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, payload101 TEXT, payload102 TEXT, payload103 TEXT, payload104 TEXT, payload105 TEXT, payload106 TEXT, payload107 TEXT, payload108 TEXT, payload109 TEXT, payload110 TEXT, payload111 TEXT, payload112 TEXT, payload113 TEXT, payload114 TEXT, payload115 TEXT, payload116 TEXT, payload117 TEXT, payload118 TEXT, payload119 TEXT, payload120 TEXT, payload121 TEXT, payload122 TEXT, payload123 TEXT, payload124 TEXT, payload125 TEXT, payload126 TEXT, payload127 TEXT, payload128 TEXT, payload129 TEXT, payload130 TEXT, payload131 TEXT, payload132 TEXT, payload133 TEXT, payload134 TEXT, payload135 TEXT, payload136 TEXT, payload137 TEXT, payload138 TEXT, payload139 TEXT, payload140 TEXT, payload141 TEXT, payload142 TEXT, payload143 TEXT, payload144 TEXT, payload145 TEXT, payload146 TEXT, payload147 TEXT, payload148 TEXT, payload149 TEXT, payload150 TEXT, payload151 TEXT, payload152 TEXT, payload153 TEXT, payload154 TEXT, payload155 TEXT, payload156 TEXT, payload157 TEXT, payload158 TEXT, payload159 TEXT, payload160 TEXT, payload161 TEXT, payload162 TEXT, payload163 TEXT, payload164 TEXT, payload165 TEXT, payload166 TEXT, payload167 TEXT, payload168 TEXT, payload169 TEXT, payload170 TEXT, payload171 TEXT, payload172 TEXT, payload173 TEXT, payload174 TEXT, payload175 TEXT, payload176 TEXT, payload177 TEXT, payload178 TEXT, payload179 TEXT, payload180 TEXT, payload181 TEXT, payload182 TEXT, payload183 TEXT, payload184 TEXT, payload185 TEXT, payload186 TEXT, payload187 TEXT, payload188 TEXT, payload189 TEXT, payload190 TEXT, payload191 TEXT, payload192 TEXT, payload193 TEXT, payload194 TEXT, payload195 TEXT, payload196 TEXT, payload197 TEXT, payload198 TEXT, payload199 TEXT, payload200 TEXT, payload201 TEXT, payload202 TEXT, payload203 TEXT, payload204 TEXT, payload205 TEXT, payload206 TEXT, payload207 TEXT, payload208 TEXT, payload209 TEXT, payload210 TEXT, payload211 TEXT, payload212 TEXT, payload213 TEXT, payload214 TEXT, payload215 TEXT, payload216 TEXT, payload217 TEXT, payload218 TEXT, payload219 TEXT, payload220 TEXT, payload221 TEXT, payload222 TEXT, payload223 TEXT, payload224 TEXT, payload225 TEXT, payload226 TEXT, payload227 TEXT, payload228 TEXT, payload229 TEXT, payload230 TEXT, payload231 TEXT, payload232 TEXT, payload233 TEXT, payload234 TEXT, payload235 TEXT, payload236 TEXT, payload237 TEXT, payload238 TEXT, payload239 TEXT, payload240 TEXT, payload241 TEXT, payload242 TEXT, payload243 TEXT, payload244 TEXT, payload245 TEXT, payload246 TEXT, payload247 TEXT, payload248 TEXT, payload249 TEXT, payload250 TEXT, payload251 TEXT, payload252 TEXT, payload253 TEXT, payload254 TEXT, payload255 TEXT, payload256 TEXT, payload257 TEXT, payload258 TEXT, payload259 TEXT, payload260 TEXT, payload261 TEXT, payload262 TEXT, payload263 TEXT, payload264 TEXT, payload265 TEXT, payload266 TEXT, payload267 TEXT, payload268 TEXT, payload269 TEXT, payload270 TEXT, payload271 TEXT, payload272 TEXT, payload273 TEXT, payload274 TEXT, payload275 TEXT, payload276 TEXT, payload277 TEXT, payload278 TEXT, payload279 TEXT, payload280 TEXT, payload281 TEXT, payload282 TEXT, payload283 TEXT, payload284 TEXT, payload285 TEXT, payload286 TEXT, payload287 TEXT, payload288 TEXT, payload289 TEXT, payload290 TEXT, payload291 TEXT, payload292 TEXT, payload293 TEXT, payload294 TEXT, payload295 TEXT, payload296 TEXT, payload297 TEXT, payload298 TEXT, payload299 TEXT, payload300 TEXT, payload301 TEXT, payload302 TEXT, payload303 TEXT, payload304 TEXT, payload305 TEXT, payload306 TEXT, payload307 TEXT, payload308 TEXT, payload309 TEXT, payload310 TEXT, payload311 TEXT, payload312 TEXT, payload313 TEXT, payload314 TEXT, payload315 TEXT, payload316 TEXT, payload317 TEXT, payload318 TEXT, payload319 TEXT, payload320 TEXT, payload321 TEXT, payload322 TEXT, payload323 TEXT, payload324 TEXT, payload325 TEXT, payload326 TEXT, payload327 TEXT, payload328 TEXT, payload329 TEXT, payload330 TEXT, payload331 TEXT, payload332 TEXT, payload333 TEXT, payload334 TEXT, payload335 TEXT, payload336 TEXT, payload337 TEXT, payload338 TEXT, payload339 TEXT, payload340 TEXT, payload341 TEXT, payload342 TEXT, payload343 TEXT, payload344 TEXT, payload345 TEXT, payload346 TEXT, payload347 TEXT, payload348 TEXT, payload349 TEXT, payload350 TEXT, payload351 TEXT, payload352 TEXT, payload353 TEXT, payload354 TEXT, payload355 TEXT, payload356 TEXT, payload357 TEXT, payload358 TEXT, payload359 TEXT, payload360 TEXT, payload361 TEXT, payload362 TEXT, payload363 TEXT, payload364 TEXT, payload365 TEXT, payload366 TEXT, payload367 TEXT, payload368 TEXT, payload369 TEXT, payload370 TEXT, payload371 TEXT, payload372 TEXT, payload373 TEXT, payload374 TEXT, payload375 TEXT, payload376 TEXT, payload377 TEXT, payload378 TEXT, payload379 TEXT, payload380 TEXT, payload381 TEXT, payload382 TEXT, payload383 TEXT, payload384 TEXT, payload385 TEXT, payload386 TEXT, payload387 TEXT, payload388 TEXT, payload389 TEXT, payload390 TEXT, payload391 TEXT, payload392 TEXT, payload393 TEXT, payload394 TEXT, payload395 TEXT, payload396 TEXT, payload397 TEXT, payload398 TEXT, payload399 TEXT, payload400 TEXT, payload401 TEXT, payload402 TEXT, payload403 TEXT, payload404 TEXT, payload405 TEXT, payload406 TEXT, payload407 TEXT, payload408 TEXT, payload409 TEXT, payload410 TEXT, payload411 TEXT, payload412 TEXT, payload413 TEXT, payload414 TEXT, payload415 TEXT, payload416 TEXT, payload417 TEXT, payload418 TEXT, payload419 TEXT, payload420 TEXT, payload421 TEXT, payload422 TEXT, payload423 TEXT, payload424 TEXT, payload425 TEXT, payload426 TEXT, payload427 TEXT, payload428 TEXT, payload429 TEXT, payload430 TEXT, payload431 TEXT, payload432 TEXT, payload433 TEXT, payload434 TEXT, payload435 TEXT, payload436 TEXT, payload437 TEXT, payload438 TEXT, payload439 TEXT, payload440 TEXT, payload441 TEXT, payload442 TEXT, payload443 TEXT, payload444 TEXT, payload445 TEXT, payload446 TEXT, payload447 TEXT, payload448 TEXT, payload449 TEXT, payload450 TEXT, payload451 TEXT, payload452 TEXT, payload453 TEXT, payload454 TEXT, payload455 TEXT, payload456 TEXT, payload457 TEXT, payload458 TEXT, payload459 TEXT, payload460 TEXT, payload461 TEXT, payload462 TEXT, payload463 TEXT, payload464 TEXT, payload465 TEXT, payload466 TEXT, payload467 TEXT, payload468 TEXT, payload469 TEXT, payload470 TEXT, payload471 TEXT, payload472 TEXT, payload473 TEXT, payload474 TEXT, payload475 TEXT, payload476 TEXT, payload477 TEXT, payload478 TEXT, payload479 TEXT, payload480 TEXT, payload481 TEXT, payload482 TEXT, payload483 TEXT, payload484 TEXT, payload485 TEXT, payload486 TEXT, payload487 TEXT, payload488 TEXT, payload489 TEXT, payload490 TEXT, payload491 TEXT, payload492 TEXT, payload493 TEXT, payload494 TEXT, payload495 TEXT, payload496 TEXT, payload497 TEXT, payload498 TEXT, payload499 TEXT, payload500 TEXT, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_500_cols;
+
+ loadRules:
+ - table: THRPT_between_500_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 500
+ util: RandomAString
+ params: [2, 2]
+ executeRules:
+ - workload: THRPT_next_500col_pk_btwn_1K
+ run:
+ - name: THRPT_next_500col_pk_btwn_1K
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_500_cols WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 1000"
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_1.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_1.yaml
new file mode 100644
index 000000000..41797880f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_1.yaml
@@ -0,0 +1,64 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_range_1;
+ - CREATE TABLE THRPT_between_range_1 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_range_1;
+
+ loadRules:
+ - table: THRPT_between_range_1
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_pk_btwn_1
+ run:
+ - name: THRPT_next_pk_btwn_1
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_range_1 WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999999]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 1"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_10.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_10.yaml
new file mode 100644
index 000000000..73005ff4a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_10.yaml
@@ -0,0 +1,64 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_range_10;
+ - CREATE TABLE THRPT_between_range_10 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_range_10;
+
+ loadRules:
+ - table: THRPT_between_range_10
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_pk_btwn_10
+ run:
+ - name: THRPT_next_pk_btwn_10
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_range_10 WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999990]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 10"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_100.yaml
new file mode 100644
index 000000000..31c43d0c0
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_100.yaml
@@ -0,0 +1,64 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_range_100;
+ - CREATE TABLE THRPT_between_range_100 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_range_100;
+
+ loadRules:
+ - table: THRPT_between_range_100
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_pk_btwn_100
+ run:
+ - name: THRPT_next_pk_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_range_100 WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_1000.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_1000.yaml
new file mode 100644
index 000000000..253b25f75
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_1000.yaml
@@ -0,0 +1,64 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_range_1000;
+ - CREATE TABLE THRPT_between_range_1000 (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_range_1000;
+
+ loadRules:
+ - table: THRPT_between_range_1000
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_pk_btwn_1000
+ run:
+ - name: THRPT_next_pk_btwn_1000
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_range_1000 WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 1000"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_100k.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_100k.yaml
new file mode 100644
index 000000000..b98eb3b80
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_100k.yaml
@@ -0,0 +1,64 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_range_100k;
+ - CREATE TABLE THRPT_between_range_100k (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_range_100k;
+
+ loadRules:
+ - table: THRPT_between_range_100k
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_pk_btwn_100k
+ run:
+ - name: THRPT_next_pk_btwn_100k
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_range_100k WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 900000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100000"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_10k.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_10k.yaml
new file mode 100644
index 000000000..f0faa03a4
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_range/THRPT_next_pk_btwn_10k.yaml
@@ -0,0 +1,64 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_range_10k;
+ - CREATE TABLE THRPT_between_range_10k (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_range_10k;
+
+ loadRules:
+ - table: THRPT_between_range_10k
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_pk_btwn_10k
+ run:
+ - name: THRPT_next_pk_btwn_10k
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_range_10k WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 990000]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 10000"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_row_size/THRPT_next_1col_100KB_row_pk_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_row_size/THRPT_next_1col_100KB_row_pk_btwn_100.yaml
new file mode 100644
index 000000000..c1d0f1971
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_row_size/THRPT_next_1col_100KB_row_pk_btwn_100.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_100kb_row;
+ - CREATE TABLE THRPT_between_100kb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id asc)) SPLIT AT VALUES ((33333), (66666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_100kb_row;
+
+ loadRules:
+ - table: THRPT_between_100kb_row
+ rows: 100000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: payload
+ util: RandomAString
+ params: [102400, 102400]
+ executeRules:
+ - workload: THRPT_next_1col_100KB_row_pk_btwn_100
+ run:
+ - name: THRPT_next_1col_100KB_row_pk_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_100kb_row WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 99900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
+
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_row_size/THRPT_next_1col_10KB_row_pk_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_row_size/THRPT_next_1col_10KB_row_pk_btwn_100.yaml
new file mode 100644
index 000000000..07b77d9d1
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_row_size/THRPT_next_1col_10KB_row_pk_btwn_100.yaml
@@ -0,0 +1,61 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_10kb_row;
+ - CREATE TABLE THRPT_between_10kb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id asc)) SPLIT AT VALUES ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_10kb_row;
+
+ loadRules:
+ - table: THRPT_between_10kb_row
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [10240, 10240]
+ executeRules:
+ - workload: THRPT_next_1col_10KB_row_pk_btwn_100
+ run:
+ - name: THRPT_next_1col_10KB_row_pk_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_10kb_row WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_row_size/THRPT_next_1col_1KB_row_pk_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_row_size/THRPT_next_1col_1KB_row_pk_btwn_100.yaml
new file mode 100644
index 000000000..06254ed77
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_row_size/THRPT_next_1col_1KB_row_pk_btwn_100.yaml
@@ -0,0 +1,61 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_1kb_row;
+ - CREATE TABLE THRPT_between_1kb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id asc)) SPLIT AT VALUES ((3333333), (6666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_1kb_row;
+
+ loadRules:
+ - table: THRPT_between_1kb_row
+ rows: 10000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 10000000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 10000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_1col_1KB_row_pk_btwn_100
+ run:
+ - name: THRPT_next_1col_1KB_row_pk_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_1kb_row WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 9999900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_row_size/THRPT_next_1col_1MB_row_pk_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_row_size/THRPT_next_1col_1MB_row_pk_btwn_100.yaml
new file mode 100644
index 000000000..1e566e508
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_varying_row_size/THRPT_next_1col_1MB_row_pk_btwn_100.yaml
@@ -0,0 +1,61 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_between_1mb_row;
+ - CREATE TABLE THRPT_between_1mb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id asc)) SPLIT AT VALUES ((3333), (6666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_between_1mb_row;
+
+ loadRules:
+ - table: THRPT_between_1mb_row
+ rows: 10000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: payload
+ util: RandomAString
+ params: [1048576, 1048576]
+ executeRules:
+ - workload: THRPT_next_1col_1MB_row_pk_btwn_100
+ run:
+ - name: THRPT_next_1col_1MB_row_pk_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_between_1mb_row WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 9900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_100KB_row_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_100KB_row_btwn_100.yaml
new file mode 100644
index 000000000..bc44fa786
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_100KB_row_btwn_100.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_wide_between_100kb;
+ - CREATE TABLE THRPT_wide_between_100kb (id INT, lookup_key INT, c1 TEXT, c2 TEXT, c3 TEXT, c4 TEXT, c5 TEXT, c6 TEXT, c7 TEXT, c8 TEXT, c9 TEXT, c10 TEXT, c11 TEXT, c12 TEXT, c13 TEXT, c14 TEXT, c15 TEXT, c16 TEXT, c17 TEXT, c18 TEXT, c19 TEXT, c20 TEXT, c21 TEXT, c22 TEXT, c23 TEXT, c24 TEXT, c25 TEXT, c26 TEXT, c27 TEXT, c28 TEXT, c29 TEXT, c30 TEXT, c31 TEXT, c32 TEXT, c33 TEXT, c34 TEXT, c35 TEXT, c36 TEXT, c37 TEXT, c38 TEXT, c39 TEXT, c40 TEXT, c41 TEXT, c42 TEXT, c43 TEXT, c44 TEXT, c45 TEXT, c46 TEXT, c47 TEXT, c48 TEXT, c49 TEXT, c50 TEXT, c51 TEXT, c52 TEXT, c53 TEXT, c54 TEXT, c55 TEXT, c56 TEXT, c57 TEXT, c58 TEXT, c59 TEXT, c60 TEXT, c61 TEXT, c62 TEXT, c63 TEXT, c64 TEXT, c65 TEXT, c66 TEXT, c67 TEXT, c68 TEXT, c69 TEXT, c70 TEXT, c71 TEXT, c72 TEXT, c73 TEXT, c74 TEXT, c75 TEXT, c76 TEXT, c77 TEXT, c78 TEXT, c79 TEXT, c80 TEXT, c81 TEXT, c82 TEXT, c83 TEXT, c84 TEXT, c85 TEXT, c86 TEXT, c87 TEXT, c88 TEXT, c89 TEXT, c90 TEXT, c91 TEXT, c92 TEXT, c93 TEXT, c94 TEXT, c95 TEXT, c96 TEXT, c97 TEXT, c98 TEXT, c99 TEXT, c100 TEXT, PRIMARY KEY(id asc)) SPLIT AT VALUES ((33333), (66666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_wide_between_100kb;
+
+ loadRules:
+ - table: THRPT_wide_between_100kb
+ rows: 100000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: c
+ count: 100
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_next_100col_100KB_row_btwn_100
+ run:
+ - name: THRPT_next_100col_100KB_row_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_wide_between_100kb WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 99900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_10KB_row_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_10KB_row_btwn_100.yaml
new file mode 100644
index 000000000..657ac1d1b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_10KB_row_btwn_100.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_wide_between_10kb;
+ - CREATE TABLE THRPT_wide_between_10kb (id INT, lookup_key INT, c1 TEXT, c2 TEXT, c3 TEXT, c4 TEXT, c5 TEXT, c6 TEXT, c7 TEXT, c8 TEXT, c9 TEXT, c10 TEXT, c11 TEXT, c12 TEXT, c13 TEXT, c14 TEXT, c15 TEXT, c16 TEXT, c17 TEXT, c18 TEXT, c19 TEXT, c20 TEXT, c21 TEXT, c22 TEXT, c23 TEXT, c24 TEXT, c25 TEXT, c26 TEXT, c27 TEXT, c28 TEXT, c29 TEXT, c30 TEXT, c31 TEXT, c32 TEXT, c33 TEXT, c34 TEXT, c35 TEXT, c36 TEXT, c37 TEXT, c38 TEXT, c39 TEXT, c40 TEXT, c41 TEXT, c42 TEXT, c43 TEXT, c44 TEXT, c45 TEXT, c46 TEXT, c47 TEXT, c48 TEXT, c49 TEXT, c50 TEXT, c51 TEXT, c52 TEXT, c53 TEXT, c54 TEXT, c55 TEXT, c56 TEXT, c57 TEXT, c58 TEXT, c59 TEXT, c60 TEXT, c61 TEXT, c62 TEXT, c63 TEXT, c64 TEXT, c65 TEXT, c66 TEXT, c67 TEXT, c68 TEXT, c69 TEXT, c70 TEXT, c71 TEXT, c72 TEXT, c73 TEXT, c74 TEXT, c75 TEXT, c76 TEXT, c77 TEXT, c78 TEXT, c79 TEXT, c80 TEXT, c81 TEXT, c82 TEXT, c83 TEXT, c84 TEXT, c85 TEXT, c86 TEXT, c87 TEXT, c88 TEXT, c89 TEXT, c90 TEXT, c91 TEXT, c92 TEXT, c93 TEXT, c94 TEXT, c95 TEXT, c96 TEXT, c97 TEXT, c98 TEXT, c99 TEXT, c100 TEXT, PRIMARY KEY(id asc)) SPLIT AT VALUES ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_wide_between_10kb;
+
+ loadRules:
+ - table: THRPT_wide_between_10kb
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c
+ count: 100
+ util: RandomAString
+ params: [102, 102]
+ executeRules:
+ - workload: THRPT_next_100col_10KB_row_btwn_100
+ run:
+ - name: THRPT_next_100col_10KB_row_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_wide_between_10kb WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 999900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
diff --git a/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_1MB_row_btwn_100.yaml b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_1MB_row_btwn_100.yaml
new file mode 100644
index 000000000..e4302a673
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_next_workloads/yugabyte/THRPT_next_wide_table_varying_row_size/THRPT_next_100col_1MB_row_btwn_100.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_wide_between_1mb;
+ - CREATE TABLE THRPT_wide_between_1mb (id INT, lookup_key INT, c1 TEXT, c2 TEXT, c3 TEXT, c4 TEXT, c5 TEXT, c6 TEXT, c7 TEXT, c8 TEXT, c9 TEXT, c10 TEXT, c11 TEXT, c12 TEXT, c13 TEXT, c14 TEXT, c15 TEXT, c16 TEXT, c17 TEXT, c18 TEXT, c19 TEXT, c20 TEXT, c21 TEXT, c22 TEXT, c23 TEXT, c24 TEXT, c25 TEXT, c26 TEXT, c27 TEXT, c28 TEXT, c29 TEXT, c30 TEXT, c31 TEXT, c32 TEXT, c33 TEXT, c34 TEXT, c35 TEXT, c36 TEXT, c37 TEXT, c38 TEXT, c39 TEXT, c40 TEXT, c41 TEXT, c42 TEXT, c43 TEXT, c44 TEXT, c45 TEXT, c46 TEXT, c47 TEXT, c48 TEXT, c49 TEXT, c50 TEXT, c51 TEXT, c52 TEXT, c53 TEXT, c54 TEXT, c55 TEXT, c56 TEXT, c57 TEXT, c58 TEXT, c59 TEXT, c60 TEXT, c61 TEXT, c62 TEXT, c63 TEXT, c64 TEXT, c65 TEXT, c66 TEXT, c67 TEXT, c68 TEXT, c69 TEXT, c70 TEXT, c71 TEXT, c72 TEXT, c73 TEXT, c74 TEXT, c75 TEXT, c76 TEXT, c77 TEXT, c78 TEXT, c79 TEXT, c80 TEXT, c81 TEXT, c82 TEXT, c83 TEXT, c84 TEXT, c85 TEXT, c86 TEXT, c87 TEXT, c88 TEXT, c89 TEXT, c90 TEXT, c91 TEXT, c92 TEXT, c93 TEXT, c94 TEXT, c95 TEXT, c96 TEXT, c97 TEXT, c98 TEXT, c99 TEXT, c100 TEXT, PRIMARY KEY(id asc)) split at values ((3333), (6666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_wide_between_1mb;
+
+ loadRules:
+ - table: THRPT_wide_between_1mb
+ rows: 10000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: c
+ count: 100
+ util: RandomAString
+ params: [10485, 10485]
+ executeRules:
+ - workload: THRPT_next_100col_1MB_row_btwn_100
+ run:
+ - name: THRPT_next_100col_1MB_row_btwn_100
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_wide_between_1mb WHERE id between ? and ?;
+ bindings:
+ - util: RandomNumber
+ params: [1, 9900]
+ referenceName: id1
+ - util: ExpressionEval
+ params:
+ - "id1 + 100"
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_100_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_100_values.yaml
new file mode 100644
index 000000000..66ca04567
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_100_values.yaml
@@ -0,0 +1,66 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_100_options;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_sec_idx_in_100_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_in_100_options (c2);
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_100_options;
+
+ loadRules:
+ - table: THRPT_sec_idx_in_100_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_sec_idx_in_100_values
+ run:
+ - name: THRPT_seek_sec_idx_in_100_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_in_100_options WHERE c2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 1000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_10_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_10_values.yaml
new file mode 100644
index 000000000..8fb500fe5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_10_values.yaml
@@ -0,0 +1,66 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_10_options;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_sec_idx_in_10_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_in_10_options (c2);
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_10_options;
+
+ loadRules:
+ - table: THRPT_sec_idx_in_10_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_sec_idx_in_10_values
+ run:
+ - name: THRPT_seek_sec_idx_in_10_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_in_10_options WHERE c2 IN (?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 10
+ params: [1, 1000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_10k_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_10k_values.yaml
new file mode 100644
index 000000000..07df948b3
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_10k_values.yaml
@@ -0,0 +1,66 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_10k_options;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_sec_idx_in_10k_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_in_10k_options (c2);
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_10k_options;
+
+ loadRules:
+ - table: THRPT_sec_idx_in_10k_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_sec_idx_in_10k_values
+ run:
+ - name: THRPT_seek_sec_idx_in_10k_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_in_10k_options WHERE c2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 10000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_1_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_1_values.yaml
new file mode 100644
index 000000000..317307919
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_1_values.yaml
@@ -0,0 +1,66 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_1_option;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_sec_idx_in_1_option (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_in_1_option (c2);
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_1_option;
+
+ loadRules:
+ - table: THRPT_sec_idx_in_1_option
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_sec_idx_in_1_values
+ run:
+ - name: THRPT_seek_sec_idx_in_1_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_in_1_option WHERE c2 IN (?);
+ bindings:
+ - util: RandomNumber
+ count: 1
+ params: [1, 1000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_1k_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_1k_values.yaml
new file mode 100644
index 000000000..f3426ee11
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_1k_values.yaml
@@ -0,0 +1,66 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_1k_options;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_sec_idx_in_1k_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_in_1k_options (c2);
+
+ cleanup:
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_1k_options;
+
+ loadRules:
+ - table: THRPT_sec_idx_in_1k_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_sec_idx_in_1k_values
+ run:
+ - name: THRPT_seek_sec_idx_in_1k_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_in_1k_options WHERE c2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 1000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_cols/THRPT_seek_100_col_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_cols/THRPT_seek_100_col_pk_in_1K_values.yaml
new file mode 100644
index 000000000..a7a682690
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_cols/THRPT_seek_100_col_pk_in_1K_values.yaml
@@ -0,0 +1,66 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_100_cols;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_in_100_cols (id INT, c1 int, c2 int, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_100_cols;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_in_100_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 100
+ util: RandomAString
+ params: [10, 10]
+ executeRules:
+ - workload: THRPT_seek_100_col_pk_in_1K_values
+ run:
+ - name: THRPT_seek_100_col_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_100_cols WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 1000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_cols/THRPT_seek_10_col_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_cols/THRPT_seek_10_col_pk_in_1K_values.yaml
new file mode 100644
index 000000000..4cb8dde20
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_cols/THRPT_seek_10_col_pk_in_1K_values.yaml
@@ -0,0 +1,66 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_10_cols;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_in_10_cols (id INT, c1 int, c2 int, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_10_cols;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_in_10_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 10
+ util: RandomAString
+ params: [100, 100]
+ executeRules:
+ - workload: THRPT_seek_10_col_pk_in_1K_values
+ run:
+ - name: THRPT_seek_10_col_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_10_cols WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 1000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_cols/THRPT_seek_1K_col_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_cols/THRPT_seek_1K_col_pk_in_1K_values.yaml
new file mode 100644
index 000000000..069ea65c7
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_cols/THRPT_seek_1K_col_pk_in_1K_values.yaml
@@ -0,0 +1,66 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_1k_cols;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_in_1k_cols (id INT, c1 int, c2 int, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, payload101 TEXT, payload102 TEXT, payload103 TEXT, payload104 TEXT, payload105 TEXT, payload106 TEXT, payload107 TEXT, payload108 TEXT, payload109 TEXT, payload110 TEXT, payload111 TEXT, payload112 TEXT, payload113 TEXT, payload114 TEXT, payload115 TEXT, payload116 TEXT, payload117 TEXT, payload118 TEXT, payload119 TEXT, payload120 TEXT, payload121 TEXT, payload122 TEXT, payload123 TEXT, payload124 TEXT, payload125 TEXT, payload126 TEXT, payload127 TEXT, payload128 TEXT, payload129 TEXT, payload130 TEXT, payload131 TEXT, payload132 TEXT, payload133 TEXT, payload134 TEXT, payload135 TEXT, payload136 TEXT, payload137 TEXT, payload138 TEXT, payload139 TEXT, payload140 TEXT, payload141 TEXT, payload142 TEXT, payload143 TEXT, payload144 TEXT, payload145 TEXT, payload146 TEXT, payload147 TEXT, payload148 TEXT, payload149 TEXT, payload150 TEXT, payload151 TEXT, payload152 TEXT, payload153 TEXT, payload154 TEXT, payload155 TEXT, payload156 TEXT, payload157 TEXT, payload158 TEXT, payload159 TEXT, payload160 TEXT, payload161 TEXT, payload162 TEXT, payload163 TEXT, payload164 TEXT, payload165 TEXT, payload166 TEXT, payload167 TEXT, payload168 TEXT, payload169 TEXT, payload170 TEXT, payload171 TEXT, payload172 TEXT, payload173 TEXT, payload174 TEXT, payload175 TEXT, payload176 TEXT, payload177 TEXT, payload178 TEXT, payload179 TEXT, payload180 TEXT, payload181 TEXT, payload182 TEXT, payload183 TEXT, payload184 TEXT, payload185 TEXT, payload186 TEXT, payload187 TEXT, payload188 TEXT, payload189 TEXT, payload190 TEXT, payload191 TEXT, payload192 TEXT, payload193 TEXT, payload194 TEXT, payload195 TEXT, payload196 TEXT, payload197 TEXT, payload198 TEXT, payload199 TEXT, payload200 TEXT, payload201 TEXT, payload202 TEXT, payload203 TEXT, payload204 TEXT, payload205 TEXT, payload206 TEXT, payload207 TEXT, payload208 TEXT, payload209 TEXT, payload210 TEXT, payload211 TEXT, payload212 TEXT, payload213 TEXT, payload214 TEXT, payload215 TEXT, payload216 TEXT, payload217 TEXT, payload218 TEXT, payload219 TEXT, payload220 TEXT, payload221 TEXT, payload222 TEXT, payload223 TEXT, payload224 TEXT, payload225 TEXT, payload226 TEXT, payload227 TEXT, payload228 TEXT, payload229 TEXT, payload230 TEXT, payload231 TEXT, payload232 TEXT, payload233 TEXT, payload234 TEXT, payload235 TEXT, payload236 TEXT, payload237 TEXT, payload238 TEXT, payload239 TEXT, payload240 TEXT, payload241 TEXT, payload242 TEXT, payload243 TEXT, payload244 TEXT, payload245 TEXT, payload246 TEXT, payload247 TEXT, payload248 TEXT, payload249 TEXT, payload250 TEXT, payload251 TEXT, payload252 TEXT, payload253 TEXT, payload254 TEXT, payload255 TEXT, payload256 TEXT, payload257 TEXT, payload258 TEXT, payload259 TEXT, payload260 TEXT, payload261 TEXT, payload262 TEXT, payload263 TEXT, payload264 TEXT, payload265 TEXT, payload266 TEXT, payload267 TEXT, payload268 TEXT, payload269 TEXT, payload270 TEXT, payload271 TEXT, payload272 TEXT, payload273 TEXT, payload274 TEXT, payload275 TEXT, payload276 TEXT, payload277 TEXT, payload278 TEXT, payload279 TEXT, payload280 TEXT, payload281 TEXT, payload282 TEXT, payload283 TEXT, payload284 TEXT, payload285 TEXT, payload286 TEXT, payload287 TEXT, payload288 TEXT, payload289 TEXT, payload290 TEXT, payload291 TEXT, payload292 TEXT, payload293 TEXT, payload294 TEXT, payload295 TEXT, payload296 TEXT, payload297 TEXT, payload298 TEXT, payload299 TEXT, payload300 TEXT, payload301 TEXT, payload302 TEXT, payload303 TEXT, payload304 TEXT, payload305 TEXT, payload306 TEXT, payload307 TEXT, payload308 TEXT, payload309 TEXT, payload310 TEXT, payload311 TEXT, payload312 TEXT, payload313 TEXT, payload314 TEXT, payload315 TEXT, payload316 TEXT, payload317 TEXT, payload318 TEXT, payload319 TEXT, payload320 TEXT, payload321 TEXT, payload322 TEXT, payload323 TEXT, payload324 TEXT, payload325 TEXT, payload326 TEXT, payload327 TEXT, payload328 TEXT, payload329 TEXT, payload330 TEXT, payload331 TEXT, payload332 TEXT, payload333 TEXT, payload334 TEXT, payload335 TEXT, payload336 TEXT, payload337 TEXT, payload338 TEXT, payload339 TEXT, payload340 TEXT, payload341 TEXT, payload342 TEXT, payload343 TEXT, payload344 TEXT, payload345 TEXT, payload346 TEXT, payload347 TEXT, payload348 TEXT, payload349 TEXT, payload350 TEXT, payload351 TEXT, payload352 TEXT, payload353 TEXT, payload354 TEXT, payload355 TEXT, payload356 TEXT, payload357 TEXT, payload358 TEXT, payload359 TEXT, payload360 TEXT, payload361 TEXT, payload362 TEXT, payload363 TEXT, payload364 TEXT, payload365 TEXT, payload366 TEXT, payload367 TEXT, payload368 TEXT, payload369 TEXT, payload370 TEXT, payload371 TEXT, payload372 TEXT, payload373 TEXT, payload374 TEXT, payload375 TEXT, payload376 TEXT, payload377 TEXT, payload378 TEXT, payload379 TEXT, payload380 TEXT, payload381 TEXT, payload382 TEXT, payload383 TEXT, payload384 TEXT, payload385 TEXT, payload386 TEXT, payload387 TEXT, payload388 TEXT, payload389 TEXT, payload390 TEXT, payload391 TEXT, payload392 TEXT, payload393 TEXT, payload394 TEXT, payload395 TEXT, payload396 TEXT, payload397 TEXT, payload398 TEXT, payload399 TEXT, payload400 TEXT, payload401 TEXT, payload402 TEXT, payload403 TEXT, payload404 TEXT, payload405 TEXT, payload406 TEXT, payload407 TEXT, payload408 TEXT, payload409 TEXT, payload410 TEXT, payload411 TEXT, payload412 TEXT, payload413 TEXT, payload414 TEXT, payload415 TEXT, payload416 TEXT, payload417 TEXT, payload418 TEXT, payload419 TEXT, payload420 TEXT, payload421 TEXT, payload422 TEXT, payload423 TEXT, payload424 TEXT, payload425 TEXT, payload426 TEXT, payload427 TEXT, payload428 TEXT, payload429 TEXT, payload430 TEXT, payload431 TEXT, payload432 TEXT, payload433 TEXT, payload434 TEXT, payload435 TEXT, payload436 TEXT, payload437 TEXT, payload438 TEXT, payload439 TEXT, payload440 TEXT, payload441 TEXT, payload442 TEXT, payload443 TEXT, payload444 TEXT, payload445 TEXT, payload446 TEXT, payload447 TEXT, payload448 TEXT, payload449 TEXT, payload450 TEXT, payload451 TEXT, payload452 TEXT, payload453 TEXT, payload454 TEXT, payload455 TEXT, payload456 TEXT, payload457 TEXT, payload458 TEXT, payload459 TEXT, payload460 TEXT, payload461 TEXT, payload462 TEXT, payload463 TEXT, payload464 TEXT, payload465 TEXT, payload466 TEXT, payload467 TEXT, payload468 TEXT, payload469 TEXT, payload470 TEXT, payload471 TEXT, payload472 TEXT, payload473 TEXT, payload474 TEXT, payload475 TEXT, payload476 TEXT, payload477 TEXT, payload478 TEXT, payload479 TEXT, payload480 TEXT, payload481 TEXT, payload482 TEXT, payload483 TEXT, payload484 TEXT, payload485 TEXT, payload486 TEXT, payload487 TEXT, payload488 TEXT, payload489 TEXT, payload490 TEXT, payload491 TEXT, payload492 TEXT, payload493 TEXT, payload494 TEXT, payload495 TEXT, payload496 TEXT, payload497 TEXT, payload498 TEXT, payload499 TEXT, payload500 TEXT, payload501 TEXT, payload502 TEXT, payload503 TEXT, payload504 TEXT, payload505 TEXT, payload506 TEXT, payload507 TEXT, payload508 TEXT, payload509 TEXT, payload510 TEXT, payload511 TEXT, payload512 TEXT, payload513 TEXT, payload514 TEXT, payload515 TEXT, payload516 TEXT, payload517 TEXT, payload518 TEXT, payload519 TEXT, payload520 TEXT, payload521 TEXT, payload522 TEXT, payload523 TEXT, payload524 TEXT, payload525 TEXT, payload526 TEXT, payload527 TEXT, payload528 TEXT, payload529 TEXT, payload530 TEXT, payload531 TEXT, payload532 TEXT, payload533 TEXT, payload534 TEXT, payload535 TEXT, payload536 TEXT, payload537 TEXT, payload538 TEXT, payload539 TEXT, payload540 TEXT, payload541 TEXT, payload542 TEXT, payload543 TEXT, payload544 TEXT, payload545 TEXT, payload546 TEXT, payload547 TEXT, payload548 TEXT, payload549 TEXT, payload550 TEXT, payload551 TEXT, payload552 TEXT, payload553 TEXT, payload554 TEXT, payload555 TEXT, payload556 TEXT, payload557 TEXT, payload558 TEXT, payload559 TEXT, payload560 TEXT, payload561 TEXT, payload562 TEXT, payload563 TEXT, payload564 TEXT, payload565 TEXT, payload566 TEXT, payload567 TEXT, payload568 TEXT, payload569 TEXT, payload570 TEXT, payload571 TEXT, payload572 TEXT, payload573 TEXT, payload574 TEXT, payload575 TEXT, payload576 TEXT, payload577 TEXT, payload578 TEXT, payload579 TEXT, payload580 TEXT, payload581 TEXT, payload582 TEXT, payload583 TEXT, payload584 TEXT, payload585 TEXT, payload586 TEXT, payload587 TEXT, payload588 TEXT, payload589 TEXT, payload590 TEXT, payload591 TEXT, payload592 TEXT, payload593 TEXT, payload594 TEXT, payload595 TEXT, payload596 TEXT, payload597 TEXT, payload598 TEXT, payload599 TEXT, payload600 TEXT, payload601 TEXT, payload602 TEXT, payload603 TEXT, payload604 TEXT, payload605 TEXT, payload606 TEXT, payload607 TEXT, payload608 TEXT, payload609 TEXT, payload610 TEXT, payload611 TEXT, payload612 TEXT, payload613 TEXT, payload614 TEXT, payload615 TEXT, payload616 TEXT, payload617 TEXT, payload618 TEXT, payload619 TEXT, payload620 TEXT, payload621 TEXT, payload622 TEXT, payload623 TEXT, payload624 TEXT, payload625 TEXT, payload626 TEXT, payload627 TEXT, payload628 TEXT, payload629 TEXT, payload630 TEXT, payload631 TEXT, payload632 TEXT, payload633 TEXT, payload634 TEXT, payload635 TEXT, payload636 TEXT, payload637 TEXT, payload638 TEXT, payload639 TEXT, payload640 TEXT, payload641 TEXT, payload642 TEXT, payload643 TEXT, payload644 TEXT, payload645 TEXT, payload646 TEXT, payload647 TEXT, payload648 TEXT, payload649 TEXT, payload650 TEXT, payload651 TEXT, payload652 TEXT, payload653 TEXT, payload654 TEXT, payload655 TEXT, payload656 TEXT, payload657 TEXT, payload658 TEXT, payload659 TEXT, payload660 TEXT, payload661 TEXT, payload662 TEXT, payload663 TEXT, payload664 TEXT, payload665 TEXT, payload666 TEXT, payload667 TEXT, payload668 TEXT, payload669 TEXT, payload670 TEXT, payload671 TEXT, payload672 TEXT, payload673 TEXT, payload674 TEXT, payload675 TEXT, payload676 TEXT, payload677 TEXT, payload678 TEXT, payload679 TEXT, payload680 TEXT, payload681 TEXT, payload682 TEXT, payload683 TEXT, payload684 TEXT, payload685 TEXT, payload686 TEXT, payload687 TEXT, payload688 TEXT, payload689 TEXT, payload690 TEXT, payload691 TEXT, payload692 TEXT, payload693 TEXT, payload694 TEXT, payload695 TEXT, payload696 TEXT, payload697 TEXT, payload698 TEXT, payload699 TEXT, payload700 TEXT, payload701 TEXT, payload702 TEXT, payload703 TEXT, payload704 TEXT, payload705 TEXT, payload706 TEXT, payload707 TEXT, payload708 TEXT, payload709 TEXT, payload710 TEXT, payload711 TEXT, payload712 TEXT, payload713 TEXT, payload714 TEXT, payload715 TEXT, payload716 TEXT, payload717 TEXT, payload718 TEXT, payload719 TEXT, payload720 TEXT, payload721 TEXT, payload722 TEXT, payload723 TEXT, payload724 TEXT, payload725 TEXT, payload726 TEXT, payload727 TEXT, payload728 TEXT, payload729 TEXT, payload730 TEXT, payload731 TEXT, payload732 TEXT, payload733 TEXT, payload734 TEXT, payload735 TEXT, payload736 TEXT, payload737 TEXT, payload738 TEXT, payload739 TEXT, payload740 TEXT, payload741 TEXT, payload742 TEXT, payload743 TEXT, payload744 TEXT, payload745 TEXT, payload746 TEXT, payload747 TEXT, payload748 TEXT, payload749 TEXT, payload750 TEXT, payload751 TEXT, payload752 TEXT, payload753 TEXT, payload754 TEXT, payload755 TEXT, payload756 TEXT, payload757 TEXT, payload758 TEXT, payload759 TEXT, payload760 TEXT, payload761 TEXT, payload762 TEXT, payload763 TEXT, payload764 TEXT, payload765 TEXT, payload766 TEXT, payload767 TEXT, payload768 TEXT, payload769 TEXT, payload770 TEXT, payload771 TEXT, payload772 TEXT, payload773 TEXT, payload774 TEXT, payload775 TEXT, payload776 TEXT, payload777 TEXT, payload778 TEXT, payload779 TEXT, payload780 TEXT, payload781 TEXT, payload782 TEXT, payload783 TEXT, payload784 TEXT, payload785 TEXT, payload786 TEXT, payload787 TEXT, payload788 TEXT, payload789 TEXT, payload790 TEXT, payload791 TEXT, payload792 TEXT, payload793 TEXT, payload794 TEXT, payload795 TEXT, payload796 TEXT, payload797 TEXT, payload798 TEXT, payload799 TEXT, payload800 TEXT, payload801 TEXT, payload802 TEXT, payload803 TEXT, payload804 TEXT, payload805 TEXT, payload806 TEXT, payload807 TEXT, payload808 TEXT, payload809 TEXT, payload810 TEXT, payload811 TEXT, payload812 TEXT, payload813 TEXT, payload814 TEXT, payload815 TEXT, payload816 TEXT, payload817 TEXT, payload818 TEXT, payload819 TEXT, payload820 TEXT, payload821 TEXT, payload822 TEXT, payload823 TEXT, payload824 TEXT, payload825 TEXT, payload826 TEXT, payload827 TEXT, payload828 TEXT, payload829 TEXT, payload830 TEXT, payload831 TEXT, payload832 TEXT, payload833 TEXT, payload834 TEXT, payload835 TEXT, payload836 TEXT, payload837 TEXT, payload838 TEXT, payload839 TEXT, payload840 TEXT, payload841 TEXT, payload842 TEXT, payload843 TEXT, payload844 TEXT, payload845 TEXT, payload846 TEXT, payload847 TEXT, payload848 TEXT, payload849 TEXT, payload850 TEXT, payload851 TEXT, payload852 TEXT, payload853 TEXT, payload854 TEXT, payload855 TEXT, payload856 TEXT, payload857 TEXT, payload858 TEXT, payload859 TEXT, payload860 TEXT, payload861 TEXT, payload862 TEXT, payload863 TEXT, payload864 TEXT, payload865 TEXT, payload866 TEXT, payload867 TEXT, payload868 TEXT, payload869 TEXT, payload870 TEXT, payload871 TEXT, payload872 TEXT, payload873 TEXT, payload874 TEXT, payload875 TEXT, payload876 TEXT, payload877 TEXT, payload878 TEXT, payload879 TEXT, payload880 TEXT, payload881 TEXT, payload882 TEXT, payload883 TEXT, payload884 TEXT, payload885 TEXT, payload886 TEXT, payload887 TEXT, payload888 TEXT, payload889 TEXT, payload890 TEXT, payload891 TEXT, payload892 TEXT, payload893 TEXT, payload894 TEXT, payload895 TEXT, payload896 TEXT, payload897 TEXT, payload898 TEXT, payload899 TEXT, payload900 TEXT, payload901 TEXT, payload902 TEXT, payload903 TEXT, payload904 TEXT, payload905 TEXT, payload906 TEXT, payload907 TEXT, payload908 TEXT, payload909 TEXT, payload910 TEXT, payload911 TEXT, payload912 TEXT, payload913 TEXT, payload914 TEXT, payload915 TEXT, payload916 TEXT, payload917 TEXT, payload918 TEXT, payload919 TEXT, payload920 TEXT, payload921 TEXT, payload922 TEXT, payload923 TEXT, payload924 TEXT, payload925 TEXT, payload926 TEXT, payload927 TEXT, payload928 TEXT, payload929 TEXT, payload930 TEXT, payload931 TEXT, payload932 TEXT, payload933 TEXT, payload934 TEXT, payload935 TEXT, payload936 TEXT, payload937 TEXT, payload938 TEXT, payload939 TEXT, payload940 TEXT, payload941 TEXT, payload942 TEXT, payload943 TEXT, payload944 TEXT, payload945 TEXT, payload946 TEXT, payload947 TEXT, payload948 TEXT, payload949 TEXT, payload950 TEXT, payload951 TEXT, payload952 TEXT, payload953 TEXT, payload954 TEXT, payload955 TEXT, payload956 TEXT, payload957 TEXT, payload958 TEXT, payload959 TEXT, payload960 TEXT, payload961 TEXT, payload962 TEXT, payload963 TEXT, payload964 TEXT, payload965 TEXT, payload966 TEXT, payload967 TEXT, payload968 TEXT, payload969 TEXT, payload970 TEXT, payload971 TEXT, payload972 TEXT, payload973 TEXT, payload974 TEXT, payload975 TEXT, payload976 TEXT, payload977 TEXT, payload978 TEXT, payload979 TEXT, payload980 TEXT, payload981 TEXT, payload982 TEXT, payload983 TEXT, payload984 TEXT, payload985 TEXT, payload986 TEXT, payload987 TEXT, payload988 TEXT, payload989 TEXT, payload990 TEXT, payload991 TEXT, payload992 TEXT, payload993 TEXT, payload994 TEXT, payload995 TEXT, payload996 TEXT, payload997 TEXT, payload998 TEXT, payload999 TEXT, payload1000 TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_1k_cols;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_in_1k_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 1000
+ util: RandomAString
+ params: [1, 1]
+ executeRules:
+ - workload: THRPT_seek_1K_col_pk_in_1K_values
+ run:
+ - name: THRPT_seek_1K_col_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_1k_cols WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 1000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_cols/THRPT_seek_500_col_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_cols/THRPT_seek_500_col_pk_in_1K_values.yaml
new file mode 100644
index 000000000..217e465b7
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_cols/THRPT_seek_500_col_pk_in_1K_values.yaml
@@ -0,0 +1,66 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_500_cols;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_in_500_cols (id INT, c1 int, c2 int, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, payload101 TEXT, payload102 TEXT, payload103 TEXT, payload104 TEXT, payload105 TEXT, payload106 TEXT, payload107 TEXT, payload108 TEXT, payload109 TEXT, payload110 TEXT, payload111 TEXT, payload112 TEXT, payload113 TEXT, payload114 TEXT, payload115 TEXT, payload116 TEXT, payload117 TEXT, payload118 TEXT, payload119 TEXT, payload120 TEXT, payload121 TEXT, payload122 TEXT, payload123 TEXT, payload124 TEXT, payload125 TEXT, payload126 TEXT, payload127 TEXT, payload128 TEXT, payload129 TEXT, payload130 TEXT, payload131 TEXT, payload132 TEXT, payload133 TEXT, payload134 TEXT, payload135 TEXT, payload136 TEXT, payload137 TEXT, payload138 TEXT, payload139 TEXT, payload140 TEXT, payload141 TEXT, payload142 TEXT, payload143 TEXT, payload144 TEXT, payload145 TEXT, payload146 TEXT, payload147 TEXT, payload148 TEXT, payload149 TEXT, payload150 TEXT, payload151 TEXT, payload152 TEXT, payload153 TEXT, payload154 TEXT, payload155 TEXT, payload156 TEXT, payload157 TEXT, payload158 TEXT, payload159 TEXT, payload160 TEXT, payload161 TEXT, payload162 TEXT, payload163 TEXT, payload164 TEXT, payload165 TEXT, payload166 TEXT, payload167 TEXT, payload168 TEXT, payload169 TEXT, payload170 TEXT, payload171 TEXT, payload172 TEXT, payload173 TEXT, payload174 TEXT, payload175 TEXT, payload176 TEXT, payload177 TEXT, payload178 TEXT, payload179 TEXT, payload180 TEXT, payload181 TEXT, payload182 TEXT, payload183 TEXT, payload184 TEXT, payload185 TEXT, payload186 TEXT, payload187 TEXT, payload188 TEXT, payload189 TEXT, payload190 TEXT, payload191 TEXT, payload192 TEXT, payload193 TEXT, payload194 TEXT, payload195 TEXT, payload196 TEXT, payload197 TEXT, payload198 TEXT, payload199 TEXT, payload200 TEXT, payload201 TEXT, payload202 TEXT, payload203 TEXT, payload204 TEXT, payload205 TEXT, payload206 TEXT, payload207 TEXT, payload208 TEXT, payload209 TEXT, payload210 TEXT, payload211 TEXT, payload212 TEXT, payload213 TEXT, payload214 TEXT, payload215 TEXT, payload216 TEXT, payload217 TEXT, payload218 TEXT, payload219 TEXT, payload220 TEXT, payload221 TEXT, payload222 TEXT, payload223 TEXT, payload224 TEXT, payload225 TEXT, payload226 TEXT, payload227 TEXT, payload228 TEXT, payload229 TEXT, payload230 TEXT, payload231 TEXT, payload232 TEXT, payload233 TEXT, payload234 TEXT, payload235 TEXT, payload236 TEXT, payload237 TEXT, payload238 TEXT, payload239 TEXT, payload240 TEXT, payload241 TEXT, payload242 TEXT, payload243 TEXT, payload244 TEXT, payload245 TEXT, payload246 TEXT, payload247 TEXT, payload248 TEXT, payload249 TEXT, payload250 TEXT, payload251 TEXT, payload252 TEXT, payload253 TEXT, payload254 TEXT, payload255 TEXT, payload256 TEXT, payload257 TEXT, payload258 TEXT, payload259 TEXT, payload260 TEXT, payload261 TEXT, payload262 TEXT, payload263 TEXT, payload264 TEXT, payload265 TEXT, payload266 TEXT, payload267 TEXT, payload268 TEXT, payload269 TEXT, payload270 TEXT, payload271 TEXT, payload272 TEXT, payload273 TEXT, payload274 TEXT, payload275 TEXT, payload276 TEXT, payload277 TEXT, payload278 TEXT, payload279 TEXT, payload280 TEXT, payload281 TEXT, payload282 TEXT, payload283 TEXT, payload284 TEXT, payload285 TEXT, payload286 TEXT, payload287 TEXT, payload288 TEXT, payload289 TEXT, payload290 TEXT, payload291 TEXT, payload292 TEXT, payload293 TEXT, payload294 TEXT, payload295 TEXT, payload296 TEXT, payload297 TEXT, payload298 TEXT, payload299 TEXT, payload300 TEXT, payload301 TEXT, payload302 TEXT, payload303 TEXT, payload304 TEXT, payload305 TEXT, payload306 TEXT, payload307 TEXT, payload308 TEXT, payload309 TEXT, payload310 TEXT, payload311 TEXT, payload312 TEXT, payload313 TEXT, payload314 TEXT, payload315 TEXT, payload316 TEXT, payload317 TEXT, payload318 TEXT, payload319 TEXT, payload320 TEXT, payload321 TEXT, payload322 TEXT, payload323 TEXT, payload324 TEXT, payload325 TEXT, payload326 TEXT, payload327 TEXT, payload328 TEXT, payload329 TEXT, payload330 TEXT, payload331 TEXT, payload332 TEXT, payload333 TEXT, payload334 TEXT, payload335 TEXT, payload336 TEXT, payload337 TEXT, payload338 TEXT, payload339 TEXT, payload340 TEXT, payload341 TEXT, payload342 TEXT, payload343 TEXT, payload344 TEXT, payload345 TEXT, payload346 TEXT, payload347 TEXT, payload348 TEXT, payload349 TEXT, payload350 TEXT, payload351 TEXT, payload352 TEXT, payload353 TEXT, payload354 TEXT, payload355 TEXT, payload356 TEXT, payload357 TEXT, payload358 TEXT, payload359 TEXT, payload360 TEXT, payload361 TEXT, payload362 TEXT, payload363 TEXT, payload364 TEXT, payload365 TEXT, payload366 TEXT, payload367 TEXT, payload368 TEXT, payload369 TEXT, payload370 TEXT, payload371 TEXT, payload372 TEXT, payload373 TEXT, payload374 TEXT, payload375 TEXT, payload376 TEXT, payload377 TEXT, payload378 TEXT, payload379 TEXT, payload380 TEXT, payload381 TEXT, payload382 TEXT, payload383 TEXT, payload384 TEXT, payload385 TEXT, payload386 TEXT, payload387 TEXT, payload388 TEXT, payload389 TEXT, payload390 TEXT, payload391 TEXT, payload392 TEXT, payload393 TEXT, payload394 TEXT, payload395 TEXT, payload396 TEXT, payload397 TEXT, payload398 TEXT, payload399 TEXT, payload400 TEXT, payload401 TEXT, payload402 TEXT, payload403 TEXT, payload404 TEXT, payload405 TEXT, payload406 TEXT, payload407 TEXT, payload408 TEXT, payload409 TEXT, payload410 TEXT, payload411 TEXT, payload412 TEXT, payload413 TEXT, payload414 TEXT, payload415 TEXT, payload416 TEXT, payload417 TEXT, payload418 TEXT, payload419 TEXT, payload420 TEXT, payload421 TEXT, payload422 TEXT, payload423 TEXT, payload424 TEXT, payload425 TEXT, payload426 TEXT, payload427 TEXT, payload428 TEXT, payload429 TEXT, payload430 TEXT, payload431 TEXT, payload432 TEXT, payload433 TEXT, payload434 TEXT, payload435 TEXT, payload436 TEXT, payload437 TEXT, payload438 TEXT, payload439 TEXT, payload440 TEXT, payload441 TEXT, payload442 TEXT, payload443 TEXT, payload444 TEXT, payload445 TEXT, payload446 TEXT, payload447 TEXT, payload448 TEXT, payload449 TEXT, payload450 TEXT, payload451 TEXT, payload452 TEXT, payload453 TEXT, payload454 TEXT, payload455 TEXT, payload456 TEXT, payload457 TEXT, payload458 TEXT, payload459 TEXT, payload460 TEXT, payload461 TEXT, payload462 TEXT, payload463 TEXT, payload464 TEXT, payload465 TEXT, payload466 TEXT, payload467 TEXT, payload468 TEXT, payload469 TEXT, payload470 TEXT, payload471 TEXT, payload472 TEXT, payload473 TEXT, payload474 TEXT, payload475 TEXT, payload476 TEXT, payload477 TEXT, payload478 TEXT, payload479 TEXT, payload480 TEXT, payload481 TEXT, payload482 TEXT, payload483 TEXT, payload484 TEXT, payload485 TEXT, payload486 TEXT, payload487 TEXT, payload488 TEXT, payload489 TEXT, payload490 TEXT, payload491 TEXT, payload492 TEXT, payload493 TEXT, payload494 TEXT, payload495 TEXT, payload496 TEXT, payload497 TEXT, payload498 TEXT, payload499 TEXT, payload500 TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_500_cols;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_in_500_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 500
+ util: RandomAString
+ params: [2, 2]
+ executeRules:
+ - workload: THRPT_seek_500_col_pk_in_1K_values
+ run:
+ - name: THRPT_seek_500_col_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_500_cols WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 1000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_100_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_100_values.yaml
new file mode 100644
index 000000000..77d36110f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_100_values.yaml
@@ -0,0 +1,61 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_100_options;
+ - CREATE TABLE THRPT_in_100_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_100_options;
+
+ loadRules:
+ - table: THRPT_in_100_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_pk_in_100_values
+ run:
+ - name: THRPT_seek_pk_in_100_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_100_options WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_10_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_10_values.yaml
new file mode 100644
index 000000000..6c78dd243
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_10_values.yaml
@@ -0,0 +1,61 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_10_options;
+ - CREATE TABLE THRPT_in_10_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_10_options;
+
+ loadRules:
+ - table: THRPT_in_10_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_pk_in_10_values
+ run:
+ - name: THRPT_seek_pk_in_10_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_10_options WHERE id IN (?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 10
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_10k_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_10k_values.yaml
new file mode 100644
index 000000000..9a3a6b76f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_10k_values.yaml
@@ -0,0 +1,65 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_10k_options;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_in_10k_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_10k_options;
+ - ALTER DATABASE postgres SET enable_seqscan=on;
+ - ALTER DATABASE postgres SET enable_bitmapscan=on;
+
+ loadRules:
+ - table: THRPT_in_10k_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_pk_in_10k_values
+ run:
+ - name: THRPT_seek_pk_in_10k_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_10k_options WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 10000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_1_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_1_values.yaml
new file mode 100644
index 000000000..15f5da69f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_1_values.yaml
@@ -0,0 +1,61 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_1_option;
+ - CREATE TABLE THRPT_in_1_option (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_1_option;
+
+ loadRules:
+ - table: THRPT_in_1_option
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_pk_in_1_values
+ run:
+ - name: THRPT_seek_pk_in_1_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_1_option WHERE id IN (?);
+ bindings:
+ - util: RandomNumber
+ count: 1
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_1k_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_1k_values.yaml
new file mode 100644
index 000000000..02439632f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_options/THRPT_seek_pk_in_1k_values.yaml
@@ -0,0 +1,65 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_1k_options;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_in_1k_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_1k_options;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_in_1k_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_pk_in_1k_values
+ run:
+ - name: THRPT_seek_pk_in_1k_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_1k_options WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 1000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_row_size/THRPT_seek_1col_100KB_row_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_row_size/THRPT_seek_1col_100KB_row_pk_in_1K_values.yaml
new file mode 100644
index 000000000..a6ce49f8d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_row_size/THRPT_seek_1col_100KB_row_pk_in_1K_values.yaml
@@ -0,0 +1,62 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_100kb_row;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_in_100kb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_100kb_row;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_in_100kb_row
+ rows: 100000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: payload
+ util: RandomAString
+ params: [102400, 102400]
+ executeRules:
+ - workload: THRPT_seek_1col_100KB_row_pk_in_1K_values
+ run:
+ - name: THRPT_seek_1col_100KB_row_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_100kb_row WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 100000]
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_row_size/THRPT_seek_1col_10KB_row_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_row_size/THRPT_seek_1col_10KB_row_pk_in_1K_values.yaml
new file mode 100644
index 000000000..d02ad78b0
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_row_size/THRPT_seek_1col_10KB_row_pk_in_1K_values.yaml
@@ -0,0 +1,62 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_10kb_row;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_in_10kb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_10kb_row;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_in_10kb_row
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [10240, 10240]
+ executeRules:
+ - workload: THRPT_seek_1col_10KB_row_pk_in_1K_values
+ run:
+ - name: THRPT_seek_1col_10KB_row_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_10kb_row WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_row_size/THRPT_seek_1col_1KB_row_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_row_size/THRPT_seek_1col_1KB_row_pk_in_1K_values.yaml
new file mode 100644
index 000000000..e22081a70
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_row_size/THRPT_seek_1col_1KB_row_pk_in_1K_values.yaml
@@ -0,0 +1,62 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_1kb_row;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_in_1kb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_1kb_row;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_in_1kb_row
+ rows: 10000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 10000000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 10000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_1col_1KB_row_pk_in_1K_values
+ run:
+ - name: THRPT_seek_1col_1KB_row_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_1kb_row WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 10000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_row_size/THRPT_seek_1col_1MB_row_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_row_size/THRPT_seek_1col_1MB_row_pk_in_1K_values.yaml
new file mode 100644
index 000000000..313b9a65b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_varying_row_size/THRPT_seek_1col_1MB_row_pk_in_1K_values.yaml
@@ -0,0 +1,62 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_1mb_row;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_in_1mb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_1mb_row;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_in_1mb_row
+ rows: 10000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: payload
+ util: RandomAString
+ params: [1048576, 1048576]
+ executeRules:
+ - workload: THRPT_seek_1col_1MB_row_pk_in_1K_values
+ run:
+ - name: THRPT_seek_1col_1MB_row_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_1mb_row WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 10000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_100KB_row_in_100_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_100KB_row_in_100_values.yaml
new file mode 100644
index 000000000..1f13ede95
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_100KB_row_in_100_values.yaml
@@ -0,0 +1,63 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_wide_in_100kb;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_wide_in_100kb (id INT, lookup_key INT, c1 TEXT, c2 TEXT, c3 TEXT, c4 TEXT, c5 TEXT, c6 TEXT, c7 TEXT, c8 TEXT, c9 TEXT, c10 TEXT, c11 TEXT, c12 TEXT, c13 TEXT, c14 TEXT, c15 TEXT, c16 TEXT, c17 TEXT, c18 TEXT, c19 TEXT, c20 TEXT, c21 TEXT, c22 TEXT, c23 TEXT, c24 TEXT, c25 TEXT, c26 TEXT, c27 TEXT, c28 TEXT, c29 TEXT, c30 TEXT, c31 TEXT, c32 TEXT, c33 TEXT, c34 TEXT, c35 TEXT, c36 TEXT, c37 TEXT, c38 TEXT, c39 TEXT, c40 TEXT, c41 TEXT, c42 TEXT, c43 TEXT, c44 TEXT, c45 TEXT, c46 TEXT, c47 TEXT, c48 TEXT, c49 TEXT, c50 TEXT, c51 TEXT, c52 TEXT, c53 TEXT, c54 TEXT, c55 TEXT, c56 TEXT, c57 TEXT, c58 TEXT, c59 TEXT, c60 TEXT, c61 TEXT, c62 TEXT, c63 TEXT, c64 TEXT, c65 TEXT, c66 TEXT, c67 TEXT, c68 TEXT, c69 TEXT, c70 TEXT, c71 TEXT, c72 TEXT, c73 TEXT, c74 TEXT, c75 TEXT, c76 TEXT, c77 TEXT, c78 TEXT, c79 TEXT, c80 TEXT, c81 TEXT, c82 TEXT, c83 TEXT, c84 TEXT, c85 TEXT, c86 TEXT, c87 TEXT, c88 TEXT, c89 TEXT, c90 TEXT, c91 TEXT, c92 TEXT, c93 TEXT, c94 TEXT, c95 TEXT, c96 TEXT, c97 TEXT, c98 TEXT, c99 TEXT, c100 TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_wide_in_100kb;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_wide_in_100kb
+ rows: 100000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: c
+ count: 100
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_100col_100KB_row_in_100_values
+ run:
+ - name: THRPT_seek_100col_100KB_row_in_100_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_wide_in_100kb WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 100000]
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_10KB_row_in_100_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_10KB_row_in_100_values.yaml
new file mode 100644
index 000000000..81ceafc63
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_10KB_row_in_100_values.yaml
@@ -0,0 +1,63 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_wide_in_10kb;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_wide_in_10kb (id INT, lookup_key INT, c1 TEXT, c2 TEXT, c3 TEXT, c4 TEXT, c5 TEXT, c6 TEXT, c7 TEXT, c8 TEXT, c9 TEXT, c10 TEXT, c11 TEXT, c12 TEXT, c13 TEXT, c14 TEXT, c15 TEXT, c16 TEXT, c17 TEXT, c18 TEXT, c19 TEXT, c20 TEXT, c21 TEXT, c22 TEXT, c23 TEXT, c24 TEXT, c25 TEXT, c26 TEXT, c27 TEXT, c28 TEXT, c29 TEXT, c30 TEXT, c31 TEXT, c32 TEXT, c33 TEXT, c34 TEXT, c35 TEXT, c36 TEXT, c37 TEXT, c38 TEXT, c39 TEXT, c40 TEXT, c41 TEXT, c42 TEXT, c43 TEXT, c44 TEXT, c45 TEXT, c46 TEXT, c47 TEXT, c48 TEXT, c49 TEXT, c50 TEXT, c51 TEXT, c52 TEXT, c53 TEXT, c54 TEXT, c55 TEXT, c56 TEXT, c57 TEXT, c58 TEXT, c59 TEXT, c60 TEXT, c61 TEXT, c62 TEXT, c63 TEXT, c64 TEXT, c65 TEXT, c66 TEXT, c67 TEXT, c68 TEXT, c69 TEXT, c70 TEXT, c71 TEXT, c72 TEXT, c73 TEXT, c74 TEXT, c75 TEXT, c76 TEXT, c77 TEXT, c78 TEXT, c79 TEXT, c80 TEXT, c81 TEXT, c82 TEXT, c83 TEXT, c84 TEXT, c85 TEXT, c86 TEXT, c87 TEXT, c88 TEXT, c89 TEXT, c90 TEXT, c91 TEXT, c92 TEXT, c93 TEXT, c94 TEXT, c95 TEXT, c96 TEXT, c97 TEXT, c98 TEXT, c99 TEXT, c100 TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_wide_in_10kb;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_wide_in_10kb
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c
+ count: 100
+ util: RandomAString
+ params: [102, 102]
+ executeRules:
+ - workload: THRPT_seek_100col_10KB_row_in_100_values
+ run:
+ - name: THRPT_seek_100col_10KB_row_in_100_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_wide_in_10kb WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 1000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_1MB_row_in_100_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_1MB_row_in_100_values.yaml
new file mode 100644
index 000000000..689b480a5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/postgres/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_1MB_row_in_100_values.yaml
@@ -0,0 +1,63 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+flatMaxScalingSteps: 2
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_wide_in_1mb;
+ - ALTER DATABASE postgres SET enable_seqscan=off;
+ - ALTER DATABASE postgres SET enable_bitmapscan=off;
+ - CREATE TABLE THRPT_wide_in_1mb (id INT, lookup_key INT, c1 TEXT, c2 TEXT, c3 TEXT, c4 TEXT, c5 TEXT, c6 TEXT, c7 TEXT, c8 TEXT, c9 TEXT, c10 TEXT, c11 TEXT, c12 TEXT, c13 TEXT, c14 TEXT, c15 TEXT, c16 TEXT, c17 TEXT, c18 TEXT, c19 TEXT, c20 TEXT, c21 TEXT, c22 TEXT, c23 TEXT, c24 TEXT, c25 TEXT, c26 TEXT, c27 TEXT, c28 TEXT, c29 TEXT, c30 TEXT, c31 TEXT, c32 TEXT, c33 TEXT, c34 TEXT, c35 TEXT, c36 TEXT, c37 TEXT, c38 TEXT, c39 TEXT, c40 TEXT, c41 TEXT, c42 TEXT, c43 TEXT, c44 TEXT, c45 TEXT, c46 TEXT, c47 TEXT, c48 TEXT, c49 TEXT, c50 TEXT, c51 TEXT, c52 TEXT, c53 TEXT, c54 TEXT, c55 TEXT, c56 TEXT, c57 TEXT, c58 TEXT, c59 TEXT, c60 TEXT, c61 TEXT, c62 TEXT, c63 TEXT, c64 TEXT, c65 TEXT, c66 TEXT, c67 TEXT, c68 TEXT, c69 TEXT, c70 TEXT, c71 TEXT, c72 TEXT, c73 TEXT, c74 TEXT, c75 TEXT, c76 TEXT, c77 TEXT, c78 TEXT, c79 TEXT, c80 TEXT, c81 TEXT, c82 TEXT, c83 TEXT, c84 TEXT, c85 TEXT, c86 TEXT, c87 TEXT, c88 TEXT, c89 TEXT, c90 TEXT, c91 TEXT, c92 TEXT, c93 TEXT, c94 TEXT, c95 TEXT, c96 TEXT, c97 TEXT, c98 TEXT, c99 TEXT, c100 TEXT, PRIMARY KEY(id));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_wide_in_1mb;
+ - ALTER DATABASE postgres SET enable_seqscan TO DEFAULT;
+ - ALTER DATABASE postgres SET enable_bitmapscan TO DEFAULT;
+
+ loadRules:
+ - table: THRPT_wide_in_1mb
+ rows: 10000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: c
+ count: 100
+ util: RandomAString
+ params: [10485, 10485]
+ executeRules:
+ - workload: THRPT_seek_100col_1MB_row_in_100_values
+ run:
+ - name: THRPT_seek_100col_1MB_row_in_100_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_wide_in_1mb WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 10000]
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_100_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_100_values.yaml
new file mode 100644
index 000000000..9ae99a953
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_100_values.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_100_options;
+ - CREATE TABLE THRPT_sec_idx_in_100_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_in_100_options (c2 asc) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_100_options;
+
+ loadRules:
+ - table: THRPT_sec_idx_in_100_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_sec_idx_in_100_values
+ run:
+ - name: THRPT_seek_sec_idx_in_100_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_in_100_options WHERE c2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_10_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_10_values.yaml
new file mode 100644
index 000000000..9aee9ce02
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_10_values.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_10_options;
+ - CREATE TABLE THRPT_sec_idx_in_10_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_in_10_options (c2 asc) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_10_options;
+
+ loadRules:
+ - table: THRPT_sec_idx_in_10_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_sec_idx_in_10_values
+ run:
+ - name: THRPT_seek_sec_idx_in_10_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_in_10_options WHERE c2 IN (?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 10
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_10k_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_10k_values.yaml
new file mode 100644
index 000000000..ca8e91906
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_10k_values.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_10k_options;
+ - CREATE TABLE THRPT_sec_idx_in_10k_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_in_10k_options (c2 asc) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_10k_options;
+
+ loadRules:
+ - table: THRPT_sec_idx_in_10k_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_sec_idx_in_10k_values
+ run:
+ - name: THRPT_seek_sec_idx_in_10k_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_in_10k_options WHERE c2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 10000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_1_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_1_values.yaml
new file mode 100644
index 000000000..f590b71c6
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_1_values.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_1_option;
+ - CREATE TABLE THRPT_sec_idx_in_1_option (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_in_1_option (c2 asc) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_1_option;
+
+ loadRules:
+ - table: THRPT_sec_idx_in_1_option
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_sec_idx_in_1_values
+ run:
+ - name: THRPT_seek_sec_idx_in_1_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_in_1_option WHERE c2 IN (?);
+ bindings:
+ - util: RandomNumber
+ count: 1
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_1k_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_1k_values.yaml
new file mode 100644
index 000000000..cf48b8274
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_sec_idx_varying_options/THRPT_seek_sec_idx_in_1k_values.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_1k_options;
+ - CREATE TABLE THRPT_sec_idx_in_1k_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+ - CREATE INDEX idx_c2 ON THRPT_sec_idx_in_1k_options (c2 asc) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_sec_idx_in_1k_options;
+
+ loadRules:
+ - table: THRPT_sec_idx_in_1k_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_sec_idx_in_1k_values
+ run:
+ - name: THRPT_seek_sec_idx_in_1k_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_sec_idx_in_1k_options WHERE c2 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 1000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_cols/THRPT_seek_100_col_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_cols/THRPT_seek_100_col_pk_in_1K_values.yaml
new file mode 100644
index 000000000..c68cb3a7f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_cols/THRPT_seek_100_col_pk_in_1K_values.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_100_cols;
+ - CREATE TABLE THRPT_in_100_cols (id INT, c1 int, c2 int, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_100_cols;
+
+ loadRules:
+ - table: THRPT_in_100_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 100
+ util: RandomAString
+ params: [10, 10]
+ executeRules:
+ - workload: THRPT_seek_100_col_pk_in_1K_values
+ run:
+ - name: THRPT_seek_100_col_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_100_cols WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 1000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_cols/THRPT_seek_10_col_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_cols/THRPT_seek_10_col_pk_in_1K_values.yaml
new file mode 100644
index 000000000..a88d92898
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_cols/THRPT_seek_10_col_pk_in_1K_values.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_10_cols;
+ - CREATE TABLE THRPT_in_10_cols (id INT, c1 int, c2 int, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_10_cols;
+
+ loadRules:
+ - table: THRPT_in_10_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 10
+ util: RandomAString
+ params: [100, 100]
+ executeRules:
+ - workload: THRPT_seek_10_col_pk_in_1K_values
+ run:
+ - name: THRPT_seek_10_col_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_10_cols WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 1000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_cols/THRPT_seek_1K_col_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_cols/THRPT_seek_1K_col_pk_in_1K_values.yaml
new file mode 100644
index 000000000..89f2c7fe7
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_cols/THRPT_seek_1K_col_pk_in_1K_values.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_1k_cols;
+ - CREATE TABLE THRPT_in_1k_cols (id INT, c1 int, c2 int, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, payload101 TEXT, payload102 TEXT, payload103 TEXT, payload104 TEXT, payload105 TEXT, payload106 TEXT, payload107 TEXT, payload108 TEXT, payload109 TEXT, payload110 TEXT, payload111 TEXT, payload112 TEXT, payload113 TEXT, payload114 TEXT, payload115 TEXT, payload116 TEXT, payload117 TEXT, payload118 TEXT, payload119 TEXT, payload120 TEXT, payload121 TEXT, payload122 TEXT, payload123 TEXT, payload124 TEXT, payload125 TEXT, payload126 TEXT, payload127 TEXT, payload128 TEXT, payload129 TEXT, payload130 TEXT, payload131 TEXT, payload132 TEXT, payload133 TEXT, payload134 TEXT, payload135 TEXT, payload136 TEXT, payload137 TEXT, payload138 TEXT, payload139 TEXT, payload140 TEXT, payload141 TEXT, payload142 TEXT, payload143 TEXT, payload144 TEXT, payload145 TEXT, payload146 TEXT, payload147 TEXT, payload148 TEXT, payload149 TEXT, payload150 TEXT, payload151 TEXT, payload152 TEXT, payload153 TEXT, payload154 TEXT, payload155 TEXT, payload156 TEXT, payload157 TEXT, payload158 TEXT, payload159 TEXT, payload160 TEXT, payload161 TEXT, payload162 TEXT, payload163 TEXT, payload164 TEXT, payload165 TEXT, payload166 TEXT, payload167 TEXT, payload168 TEXT, payload169 TEXT, payload170 TEXT, payload171 TEXT, payload172 TEXT, payload173 TEXT, payload174 TEXT, payload175 TEXT, payload176 TEXT, payload177 TEXT, payload178 TEXT, payload179 TEXT, payload180 TEXT, payload181 TEXT, payload182 TEXT, payload183 TEXT, payload184 TEXT, payload185 TEXT, payload186 TEXT, payload187 TEXT, payload188 TEXT, payload189 TEXT, payload190 TEXT, payload191 TEXT, payload192 TEXT, payload193 TEXT, payload194 TEXT, payload195 TEXT, payload196 TEXT, payload197 TEXT, payload198 TEXT, payload199 TEXT, payload200 TEXT, payload201 TEXT, payload202 TEXT, payload203 TEXT, payload204 TEXT, payload205 TEXT, payload206 TEXT, payload207 TEXT, payload208 TEXT, payload209 TEXT, payload210 TEXT, payload211 TEXT, payload212 TEXT, payload213 TEXT, payload214 TEXT, payload215 TEXT, payload216 TEXT, payload217 TEXT, payload218 TEXT, payload219 TEXT, payload220 TEXT, payload221 TEXT, payload222 TEXT, payload223 TEXT, payload224 TEXT, payload225 TEXT, payload226 TEXT, payload227 TEXT, payload228 TEXT, payload229 TEXT, payload230 TEXT, payload231 TEXT, payload232 TEXT, payload233 TEXT, payload234 TEXT, payload235 TEXT, payload236 TEXT, payload237 TEXT, payload238 TEXT, payload239 TEXT, payload240 TEXT, payload241 TEXT, payload242 TEXT, payload243 TEXT, payload244 TEXT, payload245 TEXT, payload246 TEXT, payload247 TEXT, payload248 TEXT, payload249 TEXT, payload250 TEXT, payload251 TEXT, payload252 TEXT, payload253 TEXT, payload254 TEXT, payload255 TEXT, payload256 TEXT, payload257 TEXT, payload258 TEXT, payload259 TEXT, payload260 TEXT, payload261 TEXT, payload262 TEXT, payload263 TEXT, payload264 TEXT, payload265 TEXT, payload266 TEXT, payload267 TEXT, payload268 TEXT, payload269 TEXT, payload270 TEXT, payload271 TEXT, payload272 TEXT, payload273 TEXT, payload274 TEXT, payload275 TEXT, payload276 TEXT, payload277 TEXT, payload278 TEXT, payload279 TEXT, payload280 TEXT, payload281 TEXT, payload282 TEXT, payload283 TEXT, payload284 TEXT, payload285 TEXT, payload286 TEXT, payload287 TEXT, payload288 TEXT, payload289 TEXT, payload290 TEXT, payload291 TEXT, payload292 TEXT, payload293 TEXT, payload294 TEXT, payload295 TEXT, payload296 TEXT, payload297 TEXT, payload298 TEXT, payload299 TEXT, payload300 TEXT, payload301 TEXT, payload302 TEXT, payload303 TEXT, payload304 TEXT, payload305 TEXT, payload306 TEXT, payload307 TEXT, payload308 TEXT, payload309 TEXT, payload310 TEXT, payload311 TEXT, payload312 TEXT, payload313 TEXT, payload314 TEXT, payload315 TEXT, payload316 TEXT, payload317 TEXT, payload318 TEXT, payload319 TEXT, payload320 TEXT, payload321 TEXT, payload322 TEXT, payload323 TEXT, payload324 TEXT, payload325 TEXT, payload326 TEXT, payload327 TEXT, payload328 TEXT, payload329 TEXT, payload330 TEXT, payload331 TEXT, payload332 TEXT, payload333 TEXT, payload334 TEXT, payload335 TEXT, payload336 TEXT, payload337 TEXT, payload338 TEXT, payload339 TEXT, payload340 TEXT, payload341 TEXT, payload342 TEXT, payload343 TEXT, payload344 TEXT, payload345 TEXT, payload346 TEXT, payload347 TEXT, payload348 TEXT, payload349 TEXT, payload350 TEXT, payload351 TEXT, payload352 TEXT, payload353 TEXT, payload354 TEXT, payload355 TEXT, payload356 TEXT, payload357 TEXT, payload358 TEXT, payload359 TEXT, payload360 TEXT, payload361 TEXT, payload362 TEXT, payload363 TEXT, payload364 TEXT, payload365 TEXT, payload366 TEXT, payload367 TEXT, payload368 TEXT, payload369 TEXT, payload370 TEXT, payload371 TEXT, payload372 TEXT, payload373 TEXT, payload374 TEXT, payload375 TEXT, payload376 TEXT, payload377 TEXT, payload378 TEXT, payload379 TEXT, payload380 TEXT, payload381 TEXT, payload382 TEXT, payload383 TEXT, payload384 TEXT, payload385 TEXT, payload386 TEXT, payload387 TEXT, payload388 TEXT, payload389 TEXT, payload390 TEXT, payload391 TEXT, payload392 TEXT, payload393 TEXT, payload394 TEXT, payload395 TEXT, payload396 TEXT, payload397 TEXT, payload398 TEXT, payload399 TEXT, payload400 TEXT, payload401 TEXT, payload402 TEXT, payload403 TEXT, payload404 TEXT, payload405 TEXT, payload406 TEXT, payload407 TEXT, payload408 TEXT, payload409 TEXT, payload410 TEXT, payload411 TEXT, payload412 TEXT, payload413 TEXT, payload414 TEXT, payload415 TEXT, payload416 TEXT, payload417 TEXT, payload418 TEXT, payload419 TEXT, payload420 TEXT, payload421 TEXT, payload422 TEXT, payload423 TEXT, payload424 TEXT, payload425 TEXT, payload426 TEXT, payload427 TEXT, payload428 TEXT, payload429 TEXT, payload430 TEXT, payload431 TEXT, payload432 TEXT, payload433 TEXT, payload434 TEXT, payload435 TEXT, payload436 TEXT, payload437 TEXT, payload438 TEXT, payload439 TEXT, payload440 TEXT, payload441 TEXT, payload442 TEXT, payload443 TEXT, payload444 TEXT, payload445 TEXT, payload446 TEXT, payload447 TEXT, payload448 TEXT, payload449 TEXT, payload450 TEXT, payload451 TEXT, payload452 TEXT, payload453 TEXT, payload454 TEXT, payload455 TEXT, payload456 TEXT, payload457 TEXT, payload458 TEXT, payload459 TEXT, payload460 TEXT, payload461 TEXT, payload462 TEXT, payload463 TEXT, payload464 TEXT, payload465 TEXT, payload466 TEXT, payload467 TEXT, payload468 TEXT, payload469 TEXT, payload470 TEXT, payload471 TEXT, payload472 TEXT, payload473 TEXT, payload474 TEXT, payload475 TEXT, payload476 TEXT, payload477 TEXT, payload478 TEXT, payload479 TEXT, payload480 TEXT, payload481 TEXT, payload482 TEXT, payload483 TEXT, payload484 TEXT, payload485 TEXT, payload486 TEXT, payload487 TEXT, payload488 TEXT, payload489 TEXT, payload490 TEXT, payload491 TEXT, payload492 TEXT, payload493 TEXT, payload494 TEXT, payload495 TEXT, payload496 TEXT, payload497 TEXT, payload498 TEXT, payload499 TEXT, payload500 TEXT, payload501 TEXT, payload502 TEXT, payload503 TEXT, payload504 TEXT, payload505 TEXT, payload506 TEXT, payload507 TEXT, payload508 TEXT, payload509 TEXT, payload510 TEXT, payload511 TEXT, payload512 TEXT, payload513 TEXT, payload514 TEXT, payload515 TEXT, payload516 TEXT, payload517 TEXT, payload518 TEXT, payload519 TEXT, payload520 TEXT, payload521 TEXT, payload522 TEXT, payload523 TEXT, payload524 TEXT, payload525 TEXT, payload526 TEXT, payload527 TEXT, payload528 TEXT, payload529 TEXT, payload530 TEXT, payload531 TEXT, payload532 TEXT, payload533 TEXT, payload534 TEXT, payload535 TEXT, payload536 TEXT, payload537 TEXT, payload538 TEXT, payload539 TEXT, payload540 TEXT, payload541 TEXT, payload542 TEXT, payload543 TEXT, payload544 TEXT, payload545 TEXT, payload546 TEXT, payload547 TEXT, payload548 TEXT, payload549 TEXT, payload550 TEXT, payload551 TEXT, payload552 TEXT, payload553 TEXT, payload554 TEXT, payload555 TEXT, payload556 TEXT, payload557 TEXT, payload558 TEXT, payload559 TEXT, payload560 TEXT, payload561 TEXT, payload562 TEXT, payload563 TEXT, payload564 TEXT, payload565 TEXT, payload566 TEXT, payload567 TEXT, payload568 TEXT, payload569 TEXT, payload570 TEXT, payload571 TEXT, payload572 TEXT, payload573 TEXT, payload574 TEXT, payload575 TEXT, payload576 TEXT, payload577 TEXT, payload578 TEXT, payload579 TEXT, payload580 TEXT, payload581 TEXT, payload582 TEXT, payload583 TEXT, payload584 TEXT, payload585 TEXT, payload586 TEXT, payload587 TEXT, payload588 TEXT, payload589 TEXT, payload590 TEXT, payload591 TEXT, payload592 TEXT, payload593 TEXT, payload594 TEXT, payload595 TEXT, payload596 TEXT, payload597 TEXT, payload598 TEXT, payload599 TEXT, payload600 TEXT, payload601 TEXT, payload602 TEXT, payload603 TEXT, payload604 TEXT, payload605 TEXT, payload606 TEXT, payload607 TEXT, payload608 TEXT, payload609 TEXT, payload610 TEXT, payload611 TEXT, payload612 TEXT, payload613 TEXT, payload614 TEXT, payload615 TEXT, payload616 TEXT, payload617 TEXT, payload618 TEXT, payload619 TEXT, payload620 TEXT, payload621 TEXT, payload622 TEXT, payload623 TEXT, payload624 TEXT, payload625 TEXT, payload626 TEXT, payload627 TEXT, payload628 TEXT, payload629 TEXT, payload630 TEXT, payload631 TEXT, payload632 TEXT, payload633 TEXT, payload634 TEXT, payload635 TEXT, payload636 TEXT, payload637 TEXT, payload638 TEXT, payload639 TEXT, payload640 TEXT, payload641 TEXT, payload642 TEXT, payload643 TEXT, payload644 TEXT, payload645 TEXT, payload646 TEXT, payload647 TEXT, payload648 TEXT, payload649 TEXT, payload650 TEXT, payload651 TEXT, payload652 TEXT, payload653 TEXT, payload654 TEXT, payload655 TEXT, payload656 TEXT, payload657 TEXT, payload658 TEXT, payload659 TEXT, payload660 TEXT, payload661 TEXT, payload662 TEXT, payload663 TEXT, payload664 TEXT, payload665 TEXT, payload666 TEXT, payload667 TEXT, payload668 TEXT, payload669 TEXT, payload670 TEXT, payload671 TEXT, payload672 TEXT, payload673 TEXT, payload674 TEXT, payload675 TEXT, payload676 TEXT, payload677 TEXT, payload678 TEXT, payload679 TEXT, payload680 TEXT, payload681 TEXT, payload682 TEXT, payload683 TEXT, payload684 TEXT, payload685 TEXT, payload686 TEXT, payload687 TEXT, payload688 TEXT, payload689 TEXT, payload690 TEXT, payload691 TEXT, payload692 TEXT, payload693 TEXT, payload694 TEXT, payload695 TEXT, payload696 TEXT, payload697 TEXT, payload698 TEXT, payload699 TEXT, payload700 TEXT, payload701 TEXT, payload702 TEXT, payload703 TEXT, payload704 TEXT, payload705 TEXT, payload706 TEXT, payload707 TEXT, payload708 TEXT, payload709 TEXT, payload710 TEXT, payload711 TEXT, payload712 TEXT, payload713 TEXT, payload714 TEXT, payload715 TEXT, payload716 TEXT, payload717 TEXT, payload718 TEXT, payload719 TEXT, payload720 TEXT, payload721 TEXT, payload722 TEXT, payload723 TEXT, payload724 TEXT, payload725 TEXT, payload726 TEXT, payload727 TEXT, payload728 TEXT, payload729 TEXT, payload730 TEXT, payload731 TEXT, payload732 TEXT, payload733 TEXT, payload734 TEXT, payload735 TEXT, payload736 TEXT, payload737 TEXT, payload738 TEXT, payload739 TEXT, payload740 TEXT, payload741 TEXT, payload742 TEXT, payload743 TEXT, payload744 TEXT, payload745 TEXT, payload746 TEXT, payload747 TEXT, payload748 TEXT, payload749 TEXT, payload750 TEXT, payload751 TEXT, payload752 TEXT, payload753 TEXT, payload754 TEXT, payload755 TEXT, payload756 TEXT, payload757 TEXT, payload758 TEXT, payload759 TEXT, payload760 TEXT, payload761 TEXT, payload762 TEXT, payload763 TEXT, payload764 TEXT, payload765 TEXT, payload766 TEXT, payload767 TEXT, payload768 TEXT, payload769 TEXT, payload770 TEXT, payload771 TEXT, payload772 TEXT, payload773 TEXT, payload774 TEXT, payload775 TEXT, payload776 TEXT, payload777 TEXT, payload778 TEXT, payload779 TEXT, payload780 TEXT, payload781 TEXT, payload782 TEXT, payload783 TEXT, payload784 TEXT, payload785 TEXT, payload786 TEXT, payload787 TEXT, payload788 TEXT, payload789 TEXT, payload790 TEXT, payload791 TEXT, payload792 TEXT, payload793 TEXT, payload794 TEXT, payload795 TEXT, payload796 TEXT, payload797 TEXT, payload798 TEXT, payload799 TEXT, payload800 TEXT, payload801 TEXT, payload802 TEXT, payload803 TEXT, payload804 TEXT, payload805 TEXT, payload806 TEXT, payload807 TEXT, payload808 TEXT, payload809 TEXT, payload810 TEXT, payload811 TEXT, payload812 TEXT, payload813 TEXT, payload814 TEXT, payload815 TEXT, payload816 TEXT, payload817 TEXT, payload818 TEXT, payload819 TEXT, payload820 TEXT, payload821 TEXT, payload822 TEXT, payload823 TEXT, payload824 TEXT, payload825 TEXT, payload826 TEXT, payload827 TEXT, payload828 TEXT, payload829 TEXT, payload830 TEXT, payload831 TEXT, payload832 TEXT, payload833 TEXT, payload834 TEXT, payload835 TEXT, payload836 TEXT, payload837 TEXT, payload838 TEXT, payload839 TEXT, payload840 TEXT, payload841 TEXT, payload842 TEXT, payload843 TEXT, payload844 TEXT, payload845 TEXT, payload846 TEXT, payload847 TEXT, payload848 TEXT, payload849 TEXT, payload850 TEXT, payload851 TEXT, payload852 TEXT, payload853 TEXT, payload854 TEXT, payload855 TEXT, payload856 TEXT, payload857 TEXT, payload858 TEXT, payload859 TEXT, payload860 TEXT, payload861 TEXT, payload862 TEXT, payload863 TEXT, payload864 TEXT, payload865 TEXT, payload866 TEXT, payload867 TEXT, payload868 TEXT, payload869 TEXT, payload870 TEXT, payload871 TEXT, payload872 TEXT, payload873 TEXT, payload874 TEXT, payload875 TEXT, payload876 TEXT, payload877 TEXT, payload878 TEXT, payload879 TEXT, payload880 TEXT, payload881 TEXT, payload882 TEXT, payload883 TEXT, payload884 TEXT, payload885 TEXT, payload886 TEXT, payload887 TEXT, payload888 TEXT, payload889 TEXT, payload890 TEXT, payload891 TEXT, payload892 TEXT, payload893 TEXT, payload894 TEXT, payload895 TEXT, payload896 TEXT, payload897 TEXT, payload898 TEXT, payload899 TEXT, payload900 TEXT, payload901 TEXT, payload902 TEXT, payload903 TEXT, payload904 TEXT, payload905 TEXT, payload906 TEXT, payload907 TEXT, payload908 TEXT, payload909 TEXT, payload910 TEXT, payload911 TEXT, payload912 TEXT, payload913 TEXT, payload914 TEXT, payload915 TEXT, payload916 TEXT, payload917 TEXT, payload918 TEXT, payload919 TEXT, payload920 TEXT, payload921 TEXT, payload922 TEXT, payload923 TEXT, payload924 TEXT, payload925 TEXT, payload926 TEXT, payload927 TEXT, payload928 TEXT, payload929 TEXT, payload930 TEXT, payload931 TEXT, payload932 TEXT, payload933 TEXT, payload934 TEXT, payload935 TEXT, payload936 TEXT, payload937 TEXT, payload938 TEXT, payload939 TEXT, payload940 TEXT, payload941 TEXT, payload942 TEXT, payload943 TEXT, payload944 TEXT, payload945 TEXT, payload946 TEXT, payload947 TEXT, payload948 TEXT, payload949 TEXT, payload950 TEXT, payload951 TEXT, payload952 TEXT, payload953 TEXT, payload954 TEXT, payload955 TEXT, payload956 TEXT, payload957 TEXT, payload958 TEXT, payload959 TEXT, payload960 TEXT, payload961 TEXT, payload962 TEXT, payload963 TEXT, payload964 TEXT, payload965 TEXT, payload966 TEXT, payload967 TEXT, payload968 TEXT, payload969 TEXT, payload970 TEXT, payload971 TEXT, payload972 TEXT, payload973 TEXT, payload974 TEXT, payload975 TEXT, payload976 TEXT, payload977 TEXT, payload978 TEXT, payload979 TEXT, payload980 TEXT, payload981 TEXT, payload982 TEXT, payload983 TEXT, payload984 TEXT, payload985 TEXT, payload986 TEXT, payload987 TEXT, payload988 TEXT, payload989 TEXT, payload990 TEXT, payload991 TEXT, payload992 TEXT, payload993 TEXT, payload994 TEXT, payload995 TEXT, payload996 TEXT, payload997 TEXT, payload998 TEXT, payload999 TEXT, payload1000 TEXT, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_1k_cols;
+
+ loadRules:
+ - table: THRPT_in_1k_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 1000
+ util: RandomAString
+ params: [1, 1]
+ executeRules:
+ - workload: THRPT_seek_1K_col_pk_in_1K_values
+ run:
+ - name: THRPT_seek_1K_col_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_1k_cols WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 1000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_cols/THRPT_seek_500_col_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_cols/THRPT_seek_500_col_pk_in_1K_values.yaml
new file mode 100644
index 000000000..158798624
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_cols/THRPT_seek_500_col_pk_in_1K_values.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_500_cols;
+ - CREATE TABLE THRPT_in_500_cols (id INT, c1 int, c2 int, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, payload101 TEXT, payload102 TEXT, payload103 TEXT, payload104 TEXT, payload105 TEXT, payload106 TEXT, payload107 TEXT, payload108 TEXT, payload109 TEXT, payload110 TEXT, payload111 TEXT, payload112 TEXT, payload113 TEXT, payload114 TEXT, payload115 TEXT, payload116 TEXT, payload117 TEXT, payload118 TEXT, payload119 TEXT, payload120 TEXT, payload121 TEXT, payload122 TEXT, payload123 TEXT, payload124 TEXT, payload125 TEXT, payload126 TEXT, payload127 TEXT, payload128 TEXT, payload129 TEXT, payload130 TEXT, payload131 TEXT, payload132 TEXT, payload133 TEXT, payload134 TEXT, payload135 TEXT, payload136 TEXT, payload137 TEXT, payload138 TEXT, payload139 TEXT, payload140 TEXT, payload141 TEXT, payload142 TEXT, payload143 TEXT, payload144 TEXT, payload145 TEXT, payload146 TEXT, payload147 TEXT, payload148 TEXT, payload149 TEXT, payload150 TEXT, payload151 TEXT, payload152 TEXT, payload153 TEXT, payload154 TEXT, payload155 TEXT, payload156 TEXT, payload157 TEXT, payload158 TEXT, payload159 TEXT, payload160 TEXT, payload161 TEXT, payload162 TEXT, payload163 TEXT, payload164 TEXT, payload165 TEXT, payload166 TEXT, payload167 TEXT, payload168 TEXT, payload169 TEXT, payload170 TEXT, payload171 TEXT, payload172 TEXT, payload173 TEXT, payload174 TEXT, payload175 TEXT, payload176 TEXT, payload177 TEXT, payload178 TEXT, payload179 TEXT, payload180 TEXT, payload181 TEXT, payload182 TEXT, payload183 TEXT, payload184 TEXT, payload185 TEXT, payload186 TEXT, payload187 TEXT, payload188 TEXT, payload189 TEXT, payload190 TEXT, payload191 TEXT, payload192 TEXT, payload193 TEXT, payload194 TEXT, payload195 TEXT, payload196 TEXT, payload197 TEXT, payload198 TEXT, payload199 TEXT, payload200 TEXT, payload201 TEXT, payload202 TEXT, payload203 TEXT, payload204 TEXT, payload205 TEXT, payload206 TEXT, payload207 TEXT, payload208 TEXT, payload209 TEXT, payload210 TEXT, payload211 TEXT, payload212 TEXT, payload213 TEXT, payload214 TEXT, payload215 TEXT, payload216 TEXT, payload217 TEXT, payload218 TEXT, payload219 TEXT, payload220 TEXT, payload221 TEXT, payload222 TEXT, payload223 TEXT, payload224 TEXT, payload225 TEXT, payload226 TEXT, payload227 TEXT, payload228 TEXT, payload229 TEXT, payload230 TEXT, payload231 TEXT, payload232 TEXT, payload233 TEXT, payload234 TEXT, payload235 TEXT, payload236 TEXT, payload237 TEXT, payload238 TEXT, payload239 TEXT, payload240 TEXT, payload241 TEXT, payload242 TEXT, payload243 TEXT, payload244 TEXT, payload245 TEXT, payload246 TEXT, payload247 TEXT, payload248 TEXT, payload249 TEXT, payload250 TEXT, payload251 TEXT, payload252 TEXT, payload253 TEXT, payload254 TEXT, payload255 TEXT, payload256 TEXT, payload257 TEXT, payload258 TEXT, payload259 TEXT, payload260 TEXT, payload261 TEXT, payload262 TEXT, payload263 TEXT, payload264 TEXT, payload265 TEXT, payload266 TEXT, payload267 TEXT, payload268 TEXT, payload269 TEXT, payload270 TEXT, payload271 TEXT, payload272 TEXT, payload273 TEXT, payload274 TEXT, payload275 TEXT, payload276 TEXT, payload277 TEXT, payload278 TEXT, payload279 TEXT, payload280 TEXT, payload281 TEXT, payload282 TEXT, payload283 TEXT, payload284 TEXT, payload285 TEXT, payload286 TEXT, payload287 TEXT, payload288 TEXT, payload289 TEXT, payload290 TEXT, payload291 TEXT, payload292 TEXT, payload293 TEXT, payload294 TEXT, payload295 TEXT, payload296 TEXT, payload297 TEXT, payload298 TEXT, payload299 TEXT, payload300 TEXT, payload301 TEXT, payload302 TEXT, payload303 TEXT, payload304 TEXT, payload305 TEXT, payload306 TEXT, payload307 TEXT, payload308 TEXT, payload309 TEXT, payload310 TEXT, payload311 TEXT, payload312 TEXT, payload313 TEXT, payload314 TEXT, payload315 TEXT, payload316 TEXT, payload317 TEXT, payload318 TEXT, payload319 TEXT, payload320 TEXT, payload321 TEXT, payload322 TEXT, payload323 TEXT, payload324 TEXT, payload325 TEXT, payload326 TEXT, payload327 TEXT, payload328 TEXT, payload329 TEXT, payload330 TEXT, payload331 TEXT, payload332 TEXT, payload333 TEXT, payload334 TEXT, payload335 TEXT, payload336 TEXT, payload337 TEXT, payload338 TEXT, payload339 TEXT, payload340 TEXT, payload341 TEXT, payload342 TEXT, payload343 TEXT, payload344 TEXT, payload345 TEXT, payload346 TEXT, payload347 TEXT, payload348 TEXT, payload349 TEXT, payload350 TEXT, payload351 TEXT, payload352 TEXT, payload353 TEXT, payload354 TEXT, payload355 TEXT, payload356 TEXT, payload357 TEXT, payload358 TEXT, payload359 TEXT, payload360 TEXT, payload361 TEXT, payload362 TEXT, payload363 TEXT, payload364 TEXT, payload365 TEXT, payload366 TEXT, payload367 TEXT, payload368 TEXT, payload369 TEXT, payload370 TEXT, payload371 TEXT, payload372 TEXT, payload373 TEXT, payload374 TEXT, payload375 TEXT, payload376 TEXT, payload377 TEXT, payload378 TEXT, payload379 TEXT, payload380 TEXT, payload381 TEXT, payload382 TEXT, payload383 TEXT, payload384 TEXT, payload385 TEXT, payload386 TEXT, payload387 TEXT, payload388 TEXT, payload389 TEXT, payload390 TEXT, payload391 TEXT, payload392 TEXT, payload393 TEXT, payload394 TEXT, payload395 TEXT, payload396 TEXT, payload397 TEXT, payload398 TEXT, payload399 TEXT, payload400 TEXT, payload401 TEXT, payload402 TEXT, payload403 TEXT, payload404 TEXT, payload405 TEXT, payload406 TEXT, payload407 TEXT, payload408 TEXT, payload409 TEXT, payload410 TEXT, payload411 TEXT, payload412 TEXT, payload413 TEXT, payload414 TEXT, payload415 TEXT, payload416 TEXT, payload417 TEXT, payload418 TEXT, payload419 TEXT, payload420 TEXT, payload421 TEXT, payload422 TEXT, payload423 TEXT, payload424 TEXT, payload425 TEXT, payload426 TEXT, payload427 TEXT, payload428 TEXT, payload429 TEXT, payload430 TEXT, payload431 TEXT, payload432 TEXT, payload433 TEXT, payload434 TEXT, payload435 TEXT, payload436 TEXT, payload437 TEXT, payload438 TEXT, payload439 TEXT, payload440 TEXT, payload441 TEXT, payload442 TEXT, payload443 TEXT, payload444 TEXT, payload445 TEXT, payload446 TEXT, payload447 TEXT, payload448 TEXT, payload449 TEXT, payload450 TEXT, payload451 TEXT, payload452 TEXT, payload453 TEXT, payload454 TEXT, payload455 TEXT, payload456 TEXT, payload457 TEXT, payload458 TEXT, payload459 TEXT, payload460 TEXT, payload461 TEXT, payload462 TEXT, payload463 TEXT, payload464 TEXT, payload465 TEXT, payload466 TEXT, payload467 TEXT, payload468 TEXT, payload469 TEXT, payload470 TEXT, payload471 TEXT, payload472 TEXT, payload473 TEXT, payload474 TEXT, payload475 TEXT, payload476 TEXT, payload477 TEXT, payload478 TEXT, payload479 TEXT, payload480 TEXT, payload481 TEXT, payload482 TEXT, payload483 TEXT, payload484 TEXT, payload485 TEXT, payload486 TEXT, payload487 TEXT, payload488 TEXT, payload489 TEXT, payload490 TEXT, payload491 TEXT, payload492 TEXT, payload493 TEXT, payload494 TEXT, payload495 TEXT, payload496 TEXT, payload497 TEXT, payload498 TEXT, payload499 TEXT, payload500 TEXT, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_500_cols;
+
+ loadRules:
+ - table: THRPT_in_500_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ count: 500
+ util: RandomAString
+ params: [2, 2]
+ executeRules:
+ - workload: THRPT_seek_500_col_pk_in_1K_values
+ run:
+ - name: THRPT_seek_500_col_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_500_cols WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 1000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_100_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_100_values.yaml
new file mode 100644
index 000000000..4b4d9b780
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_100_values.yaml
@@ -0,0 +1,61 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_100_options;
+ - CREATE TABLE THRPT_in_100_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_100_options;
+
+ loadRules:
+ - table: THRPT_in_100_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_pk_in_100_values
+ run:
+ - name: THRPT_seek_pk_in_100_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_100_options WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_10_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_10_values.yaml
new file mode 100644
index 000000000..0a79da750
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_10_values.yaml
@@ -0,0 +1,61 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_10_options;
+ - CREATE TABLE THRPT_in_10_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_10_options;
+
+ loadRules:
+ - table: THRPT_in_10_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_pk_in_10_values
+ run:
+ - name: THRPT_seek_pk_in_10_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_10_options WHERE id IN (?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 10
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_10k_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_10k_values.yaml
new file mode 100644
index 000000000..e3a603963
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_10k_values.yaml
@@ -0,0 +1,61 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_10k_options;
+ - CREATE TABLE THRPT_in_10k_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_10k_options;
+
+ loadRules:
+ - table: THRPT_in_10k_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_pk_in_10k_values
+ run:
+ - name: THRPT_seek_pk_in_10k_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_10k_options WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 10000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_1_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_1_values.yaml
new file mode 100644
index 000000000..d563c7890
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_1_values.yaml
@@ -0,0 +1,61 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_1_option;
+ - CREATE TABLE THRPT_in_1_option (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_1_option;
+
+ loadRules:
+ - table: THRPT_in_1_option
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_pk_in_1_values
+ run:
+ - name: THRPT_seek_pk_in_1_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_1_option WHERE id IN (?);
+ bindings:
+ - util: RandomNumber
+ count: 1
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_1k_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_1k_values.yaml
new file mode 100644
index 000000000..8f0b095fb
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_options/THRPT_seek_pk_in_1k_values.yaml
@@ -0,0 +1,61 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_1k_options;
+ - CREATE TABLE THRPT_in_1k_options (id INT, c1 int, c2 int, payload text, PRIMARY KEY(id asc)) split at values ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_1k_options;
+
+ loadRules:
+ - table: THRPT_in_1k_options
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c1
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c2
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_pk_in_1k_values
+ run:
+ - name: THRPT_seek_pk_in_1k_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_1k_options WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 1000
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_row_size/THRPT_seek_1col_100KB_row_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_row_size/THRPT_seek_1col_100KB_row_pk_in_1K_values.yaml
new file mode 100644
index 000000000..60560e76f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_row_size/THRPT_seek_1col_100KB_row_pk_in_1K_values.yaml
@@ -0,0 +1,58 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_100kb_row;
+ - CREATE TABLE THRPT_in_100kb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id asc)) SPLIT AT VALUES ((33333), (66666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_100kb_row;
+
+ loadRules:
+ - table: THRPT_in_100kb_row
+ rows: 100000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: payload
+ util: RandomAString
+ params: [102400, 102400]
+ executeRules:
+ - workload: THRPT_seek_1col_100KB_row_pk_in_1K_values
+ run:
+ - name: THRPT_seek_1col_100KB_row_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_100kb_row WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 100000]
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_row_size/THRPT_seek_1col_10KB_row_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_row_size/THRPT_seek_1col_10KB_row_pk_in_1K_values.yaml
new file mode 100644
index 000000000..96ba6ada4
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_row_size/THRPT_seek_1col_10KB_row_pk_in_1K_values.yaml
@@ -0,0 +1,58 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_10kb_row;
+ - CREATE TABLE THRPT_in_10kb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id asc)) SPLIT AT VALUES ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_10kb_row;
+
+ loadRules:
+ - table: THRPT_in_10kb_row
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: payload
+ util: RandomAString
+ params: [10240, 10240]
+ executeRules:
+ - workload: THRPT_seek_1col_10KB_row_pk_in_1K_values
+ run:
+ - name: THRPT_seek_1col_10KB_row_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_10kb_row WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 1000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_row_size/THRPT_seek_1col_1KB_row_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_row_size/THRPT_seek_1col_1KB_row_pk_in_1K_values.yaml
new file mode 100644
index 000000000..fbcd48b4e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_row_size/THRPT_seek_1col_1KB_row_pk_in_1K_values.yaml
@@ -0,0 +1,58 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_1kb_row;
+ - CREATE TABLE THRPT_in_1kb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id asc)) SPLIT AT VALUES ((3333333), (6666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_1kb_row;
+
+ loadRules:
+ - table: THRPT_in_1kb_row
+ rows: 10000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 10000000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 10000000]
+ - name: payload
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_1col_1KB_row_pk_in_1K_values
+ run:
+ - name: THRPT_seek_1col_1KB_row_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_1kb_row WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 10000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_row_size/THRPT_seek_1col_1MB_row_pk_in_1K_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_row_size/THRPT_seek_1col_1MB_row_pk_in_1K_values.yaml
new file mode 100644
index 000000000..1821aee89
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_varying_row_size/THRPT_seek_1col_1MB_row_pk_in_1K_values.yaml
@@ -0,0 +1,58 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_in_1mb_row;
+ - CREATE TABLE THRPT_in_1mb_row (id INT, lookup_key INT, payload TEXT, PRIMARY KEY(id asc)) SPLIT AT VALUES ((3333), (6666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_in_1mb_row;
+
+ loadRules:
+ - table: THRPT_in_1mb_row
+ rows: 10000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: payload
+ util: RandomAString
+ params: [1048576, 1048576]
+ executeRules:
+ - workload: THRPT_seek_1col_1MB_row_pk_in_1K_values
+ run:
+ - name: THRPT_seek_1col_1MB_row_pk_in_1K_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_in_1mb_row WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 10000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_100KB_row_in_100_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_100KB_row_in_100_values.yaml
new file mode 100644
index 000000000..bae1af3c9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_100KB_row_in_100_values.yaml
@@ -0,0 +1,59 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_wide_in_100kb;
+ - CREATE TABLE THRPT_wide_in_100kb (id INT, lookup_key INT, c1 TEXT, c2 TEXT, c3 TEXT, c4 TEXT, c5 TEXT, c6 TEXT, c7 TEXT, c8 TEXT, c9 TEXT, c10 TEXT, c11 TEXT, c12 TEXT, c13 TEXT, c14 TEXT, c15 TEXT, c16 TEXT, c17 TEXT, c18 TEXT, c19 TEXT, c20 TEXT, c21 TEXT, c22 TEXT, c23 TEXT, c24 TEXT, c25 TEXT, c26 TEXT, c27 TEXT, c28 TEXT, c29 TEXT, c30 TEXT, c31 TEXT, c32 TEXT, c33 TEXT, c34 TEXT, c35 TEXT, c36 TEXT, c37 TEXT, c38 TEXT, c39 TEXT, c40 TEXT, c41 TEXT, c42 TEXT, c43 TEXT, c44 TEXT, c45 TEXT, c46 TEXT, c47 TEXT, c48 TEXT, c49 TEXT, c50 TEXT, c51 TEXT, c52 TEXT, c53 TEXT, c54 TEXT, c55 TEXT, c56 TEXT, c57 TEXT, c58 TEXT, c59 TEXT, c60 TEXT, c61 TEXT, c62 TEXT, c63 TEXT, c64 TEXT, c65 TEXT, c66 TEXT, c67 TEXT, c68 TEXT, c69 TEXT, c70 TEXT, c71 TEXT, c72 TEXT, c73 TEXT, c74 TEXT, c75 TEXT, c76 TEXT, c77 TEXT, c78 TEXT, c79 TEXT, c80 TEXT, c81 TEXT, c82 TEXT, c83 TEXT, c84 TEXT, c85 TEXT, c86 TEXT, c87 TEXT, c88 TEXT, c89 TEXT, c90 TEXT, c91 TEXT, c92 TEXT, c93 TEXT, c94 TEXT, c95 TEXT, c96 TEXT, c97 TEXT, c98 TEXT, c99 TEXT, c100 TEXT, PRIMARY KEY(id asc)) SPLIT AT VALUES ((33333), (66666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_wide_in_100kb;
+
+ loadRules:
+ - table: THRPT_wide_in_100kb
+ rows: 100000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 100000]
+ - name: c
+ count: 100
+ util: RandomAString
+ params: [1024, 1024]
+ executeRules:
+ - workload: THRPT_seek_100col_100KB_row_in_100_values
+ run:
+ - name: THRPT_seek_100col_100KB_row_in_100_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_wide_in_100kb WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 100000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_10KB_row_in_100_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_10KB_row_in_100_values.yaml
new file mode 100644
index 000000000..d83681a68
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_10KB_row_in_100_values.yaml
@@ -0,0 +1,59 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_wide_in_10kb;
+ - CREATE TABLE THRPT_wide_in_10kb (id INT, lookup_key INT, c1 TEXT, c2 TEXT, c3 TEXT, c4 TEXT, c5 TEXT, c6 TEXT, c7 TEXT, c8 TEXT, c9 TEXT, c10 TEXT, c11 TEXT, c12 TEXT, c13 TEXT, c14 TEXT, c15 TEXT, c16 TEXT, c17 TEXT, c18 TEXT, c19 TEXT, c20 TEXT, c21 TEXT, c22 TEXT, c23 TEXT, c24 TEXT, c25 TEXT, c26 TEXT, c27 TEXT, c28 TEXT, c29 TEXT, c30 TEXT, c31 TEXT, c32 TEXT, c33 TEXT, c34 TEXT, c35 TEXT, c36 TEXT, c37 TEXT, c38 TEXT, c39 TEXT, c40 TEXT, c41 TEXT, c42 TEXT, c43 TEXT, c44 TEXT, c45 TEXT, c46 TEXT, c47 TEXT, c48 TEXT, c49 TEXT, c50 TEXT, c51 TEXT, c52 TEXT, c53 TEXT, c54 TEXT, c55 TEXT, c56 TEXT, c57 TEXT, c58 TEXT, c59 TEXT, c60 TEXT, c61 TEXT, c62 TEXT, c63 TEXT, c64 TEXT, c65 TEXT, c66 TEXT, c67 TEXT, c68 TEXT, c69 TEXT, c70 TEXT, c71 TEXT, c72 TEXT, c73 TEXT, c74 TEXT, c75 TEXT, c76 TEXT, c77 TEXT, c78 TEXT, c79 TEXT, c80 TEXT, c81 TEXT, c82 TEXT, c83 TEXT, c84 TEXT, c85 TEXT, c86 TEXT, c87 TEXT, c88 TEXT, c89 TEXT, c90 TEXT, c91 TEXT, c92 TEXT, c93 TEXT, c94 TEXT, c95 TEXT, c96 TEXT, c97 TEXT, c98 TEXT, c99 TEXT, c100 TEXT, PRIMARY KEY(id asc)) SPLIT AT VALUES ((333333), (666666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_wide_in_10kb;
+
+ loadRules:
+ - table: THRPT_wide_in_10kb
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: c
+ count: 100
+ util: RandomAString
+ params: [102, 102]
+ executeRules:
+ - workload: THRPT_seek_100col_10KB_row_in_100_values
+ run:
+ - name: THRPT_seek_100col_10KB_row_in_100_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_wide_in_10kb WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 1000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_1MB_row_in_100_values.yaml b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_1MB_row_in_100_values.yaml
new file mode 100644
index 000000000..da89781d6
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_seek_workloads/yugabyte/THRPT_seek_wide_table_varying_row_size/THRPT_seek_100col_1MB_row_in_100_values.yaml
@@ -0,0 +1,59 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 1
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 75
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 120
+time: 600
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_wide_in_1mb;
+ - CREATE TABLE THRPT_wide_in_1mb (id INT, lookup_key INT, c1 TEXT, c2 TEXT, c3 TEXT, c4 TEXT, c5 TEXT, c6 TEXT, c7 TEXT, c8 TEXT, c9 TEXT, c10 TEXT, c11 TEXT, c12 TEXT, c13 TEXT, c14 TEXT, c15 TEXT, c16 TEXT, c17 TEXT, c18 TEXT, c19 TEXT, c20 TEXT, c21 TEXT, c22 TEXT, c23 TEXT, c24 TEXT, c25 TEXT, c26 TEXT, c27 TEXT, c28 TEXT, c29 TEXT, c30 TEXT, c31 TEXT, c32 TEXT, c33 TEXT, c34 TEXT, c35 TEXT, c36 TEXT, c37 TEXT, c38 TEXT, c39 TEXT, c40 TEXT, c41 TEXT, c42 TEXT, c43 TEXT, c44 TEXT, c45 TEXT, c46 TEXT, c47 TEXT, c48 TEXT, c49 TEXT, c50 TEXT, c51 TEXT, c52 TEXT, c53 TEXT, c54 TEXT, c55 TEXT, c56 TEXT, c57 TEXT, c58 TEXT, c59 TEXT, c60 TEXT, c61 TEXT, c62 TEXT, c63 TEXT, c64 TEXT, c65 TEXT, c66 TEXT, c67 TEXT, c68 TEXT, c69 TEXT, c70 TEXT, c71 TEXT, c72 TEXT, c73 TEXT, c74 TEXT, c75 TEXT, c76 TEXT, c77 TEXT, c78 TEXT, c79 TEXT, c80 TEXT, c81 TEXT, c82 TEXT, c83 TEXT, c84 TEXT, c85 TEXT, c86 TEXT, c87 TEXT, c88 TEXT, c89 TEXT, c90 TEXT, c91 TEXT, c92 TEXT, c93 TEXT, c94 TEXT, c95 TEXT, c96 TEXT, c97 TEXT, c98 TEXT, c99 TEXT, c100 TEXT, PRIMARY KEY(id asc)) SPLIT AT VALUES ((3333), (6666));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_wide_in_1mb;
+
+ loadRules:
+ - table: THRPT_wide_in_1mb
+ rows: 10000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: lookup_key
+ util: RandomUniqueIntGen
+ params: [1, 10000]
+ - name: c
+ count: 100
+ util: RandomAString
+ params: [10485, 10485]
+ executeRules:
+ - workload: THRPT_seek_100col_1MB_row_in_100_values
+ run:
+ - name: THRPT_seek_100col_1MB_row_in_100_values
+ weight: 100
+ queries:
+ - query: SELECT * FROM THRPT_wide_in_1mb WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
+ bindings:
+ - util: RandomNumber
+ count: 100
+ params: [1, 10000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_100row.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_100row.yaml
new file mode 100644
index 000000000..77fc1c5af
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_100row.yaml
@@ -0,0 +1,99 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_100;
+ - CREATE TABLE THRPT_MVI_100 (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_100;
+
+ loadRules:
+ - table: THRPT_MVI_100
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_100row
+ run:
+ - name: THRPT_multivalue_insert_100row
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_100 VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 100
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_10row.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_10row.yaml
new file mode 100644
index 000000000..94b7831c3
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_10row.yaml
@@ -0,0 +1,99 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_10;
+ - CREATE TABLE THRPT_MVI_10 (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_10;
+
+ loadRules:
+ - table: THRPT_MVI_10
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_10row
+ run:
+ - name: THRPT_multivalue_insert_10row
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_10 VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_1krow.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_1krow.yaml
new file mode 100644
index 000000000..6793d733b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_1krow.yaml
@@ -0,0 +1,99 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_1k;
+ - CREATE TABLE THRPT_MVI_1k (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_1k;
+
+ loadRules:
+ - table: THRPT_MVI_1k
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_1krow
+ run:
+ - name: THRPT_multivalue_insert_1krow
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_1k VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 1000
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_1row.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_1row.yaml
new file mode 100644
index 000000000..acbedfe74
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_1row.yaml
@@ -0,0 +1,99 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_1;
+ - CREATE TABLE THRPT_MVI_1 (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_1;
+
+ loadRules:
+ - table: THRPT_MVI_1
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_1row
+ run:
+ - name: THRPT_multivalue_insert_1row
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_1 VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 1
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_5krow.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_5krow.yaml
new file mode 100644
index 000000000..b10f8ce3b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_5krow.yaml
@@ -0,0 +1,99 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_5k;
+ - CREATE TABLE THRPT_MVI_5k (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_5k;
+
+ loadRules:
+ - table: THRPT_MVI_5k
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_5krow
+ run:
+ - name: THRPT_multivalue_insert_5krow
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_5k VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 5000
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_100cols.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_100cols.yaml
new file mode 100644
index 000000000..ce1310d50
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_100cols.yaml
@@ -0,0 +1,63 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_100_col;
+ - CREATE TABLE THRPT_MVI_100_col (dept_id INT, emp_id INT, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, PRIMARY KEY(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_100_col;
+
+ loadRules:
+ - table: THRPT_MVI_100_col
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: payload
+ count: 100
+ util: RandomAString
+ params: [10, 10]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_100cols
+ run:
+ - name: THRPT_multivalue_insert_100cols
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_100_col VALUES [(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ count: 100
+ params: [10, 10]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_10cols.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_10cols.yaml
new file mode 100644
index 000000000..57e5c9b0d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_10cols.yaml
@@ -0,0 +1,63 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_10_col;
+ - CREATE TABLE THRPT_MVI_10_col (dept_id INT, emp_id INT, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, PRIMARY KEY(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_10_col;
+
+ loadRules:
+ - table: THRPT_MVI_10_col
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: payload
+ count: 10
+ util: RandomAString
+ params: [100, 100]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_10cols
+ run:
+ - name: THRPT_multivalue_insert_10cols
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_10_col VALUES [(?,?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ count: 10
+ params: [100, 100]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_1Kcols.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_1Kcols.yaml
new file mode 100644
index 000000000..fbab30ca5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_1Kcols.yaml
@@ -0,0 +1,63 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 16
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_1k_col;
+ - CREATE TABLE THRPT_MVI_1k_col (dept_id INT, emp_id INT, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, payload101 TEXT, payload102 TEXT, payload103 TEXT, payload104 TEXT, payload105 TEXT, payload106 TEXT, payload107 TEXT, payload108 TEXT, payload109 TEXT, payload110 TEXT, payload111 TEXT, payload112 TEXT, payload113 TEXT, payload114 TEXT, payload115 TEXT, payload116 TEXT, payload117 TEXT, payload118 TEXT, payload119 TEXT, payload120 TEXT, payload121 TEXT, payload122 TEXT, payload123 TEXT, payload124 TEXT, payload125 TEXT, payload126 TEXT, payload127 TEXT, payload128 TEXT, payload129 TEXT, payload130 TEXT, payload131 TEXT, payload132 TEXT, payload133 TEXT, payload134 TEXT, payload135 TEXT, payload136 TEXT, payload137 TEXT, payload138 TEXT, payload139 TEXT, payload140 TEXT, payload141 TEXT, payload142 TEXT, payload143 TEXT, payload144 TEXT, payload145 TEXT, payload146 TEXT, payload147 TEXT, payload148 TEXT, payload149 TEXT, payload150 TEXT, payload151 TEXT, payload152 TEXT, payload153 TEXT, payload154 TEXT, payload155 TEXT, payload156 TEXT, payload157 TEXT, payload158 TEXT, payload159 TEXT, payload160 TEXT, payload161 TEXT, payload162 TEXT, payload163 TEXT, payload164 TEXT, payload165 TEXT, payload166 TEXT, payload167 TEXT, payload168 TEXT, payload169 TEXT, payload170 TEXT, payload171 TEXT, payload172 TEXT, payload173 TEXT, payload174 TEXT, payload175 TEXT, payload176 TEXT, payload177 TEXT, payload178 TEXT, payload179 TEXT, payload180 TEXT, payload181 TEXT, payload182 TEXT, payload183 TEXT, payload184 TEXT, payload185 TEXT, payload186 TEXT, payload187 TEXT, payload188 TEXT, payload189 TEXT, payload190 TEXT, payload191 TEXT, payload192 TEXT, payload193 TEXT, payload194 TEXT, payload195 TEXT, payload196 TEXT, payload197 TEXT, payload198 TEXT, payload199 TEXT, payload200 TEXT, payload201 TEXT, payload202 TEXT, payload203 TEXT, payload204 TEXT, payload205 TEXT, payload206 TEXT, payload207 TEXT, payload208 TEXT, payload209 TEXT, payload210 TEXT, payload211 TEXT, payload212 TEXT, payload213 TEXT, payload214 TEXT, payload215 TEXT, payload216 TEXT, payload217 TEXT, payload218 TEXT, payload219 TEXT, payload220 TEXT, payload221 TEXT, payload222 TEXT, payload223 TEXT, payload224 TEXT, payload225 TEXT, payload226 TEXT, payload227 TEXT, payload228 TEXT, payload229 TEXT, payload230 TEXT, payload231 TEXT, payload232 TEXT, payload233 TEXT, payload234 TEXT, payload235 TEXT, payload236 TEXT, payload237 TEXT, payload238 TEXT, payload239 TEXT, payload240 TEXT, payload241 TEXT, payload242 TEXT, payload243 TEXT, payload244 TEXT, payload245 TEXT, payload246 TEXT, payload247 TEXT, payload248 TEXT, payload249 TEXT, payload250 TEXT, payload251 TEXT, payload252 TEXT, payload253 TEXT, payload254 TEXT, payload255 TEXT, payload256 TEXT, payload257 TEXT, payload258 TEXT, payload259 TEXT, payload260 TEXT, payload261 TEXT, payload262 TEXT, payload263 TEXT, payload264 TEXT, payload265 TEXT, payload266 TEXT, payload267 TEXT, payload268 TEXT, payload269 TEXT, payload270 TEXT, payload271 TEXT, payload272 TEXT, payload273 TEXT, payload274 TEXT, payload275 TEXT, payload276 TEXT, payload277 TEXT, payload278 TEXT, payload279 TEXT, payload280 TEXT, payload281 TEXT, payload282 TEXT, payload283 TEXT, payload284 TEXT, payload285 TEXT, payload286 TEXT, payload287 TEXT, payload288 TEXT, payload289 TEXT, payload290 TEXT, payload291 TEXT, payload292 TEXT, payload293 TEXT, payload294 TEXT, payload295 TEXT, payload296 TEXT, payload297 TEXT, payload298 TEXT, payload299 TEXT, payload300 TEXT, payload301 TEXT, payload302 TEXT, payload303 TEXT, payload304 TEXT, payload305 TEXT, payload306 TEXT, payload307 TEXT, payload308 TEXT, payload309 TEXT, payload310 TEXT, payload311 TEXT, payload312 TEXT, payload313 TEXT, payload314 TEXT, payload315 TEXT, payload316 TEXT, payload317 TEXT, payload318 TEXT, payload319 TEXT, payload320 TEXT, payload321 TEXT, payload322 TEXT, payload323 TEXT, payload324 TEXT, payload325 TEXT, payload326 TEXT, payload327 TEXT, payload328 TEXT, payload329 TEXT, payload330 TEXT, payload331 TEXT, payload332 TEXT, payload333 TEXT, payload334 TEXT, payload335 TEXT, payload336 TEXT, payload337 TEXT, payload338 TEXT, payload339 TEXT, payload340 TEXT, payload341 TEXT, payload342 TEXT, payload343 TEXT, payload344 TEXT, payload345 TEXT, payload346 TEXT, payload347 TEXT, payload348 TEXT, payload349 TEXT, payload350 TEXT, payload351 TEXT, payload352 TEXT, payload353 TEXT, payload354 TEXT, payload355 TEXT, payload356 TEXT, payload357 TEXT, payload358 TEXT, payload359 TEXT, payload360 TEXT, payload361 TEXT, payload362 TEXT, payload363 TEXT, payload364 TEXT, payload365 TEXT, payload366 TEXT, payload367 TEXT, payload368 TEXT, payload369 TEXT, payload370 TEXT, payload371 TEXT, payload372 TEXT, payload373 TEXT, payload374 TEXT, payload375 TEXT, payload376 TEXT, payload377 TEXT, payload378 TEXT, payload379 TEXT, payload380 TEXT, payload381 TEXT, payload382 TEXT, payload383 TEXT, payload384 TEXT, payload385 TEXT, payload386 TEXT, payload387 TEXT, payload388 TEXT, payload389 TEXT, payload390 TEXT, payload391 TEXT, payload392 TEXT, payload393 TEXT, payload394 TEXT, payload395 TEXT, payload396 TEXT, payload397 TEXT, payload398 TEXT, payload399 TEXT, payload400 TEXT, payload401 TEXT, payload402 TEXT, payload403 TEXT, payload404 TEXT, payload405 TEXT, payload406 TEXT, payload407 TEXT, payload408 TEXT, payload409 TEXT, payload410 TEXT, payload411 TEXT, payload412 TEXT, payload413 TEXT, payload414 TEXT, payload415 TEXT, payload416 TEXT, payload417 TEXT, payload418 TEXT, payload419 TEXT, payload420 TEXT, payload421 TEXT, payload422 TEXT, payload423 TEXT, payload424 TEXT, payload425 TEXT, payload426 TEXT, payload427 TEXT, payload428 TEXT, payload429 TEXT, payload430 TEXT, payload431 TEXT, payload432 TEXT, payload433 TEXT, payload434 TEXT, payload435 TEXT, payload436 TEXT, payload437 TEXT, payload438 TEXT, payload439 TEXT, payload440 TEXT, payload441 TEXT, payload442 TEXT, payload443 TEXT, payload444 TEXT, payload445 TEXT, payload446 TEXT, payload447 TEXT, payload448 TEXT, payload449 TEXT, payload450 TEXT, payload451 TEXT, payload452 TEXT, payload453 TEXT, payload454 TEXT, payload455 TEXT, payload456 TEXT, payload457 TEXT, payload458 TEXT, payload459 TEXT, payload460 TEXT, payload461 TEXT, payload462 TEXT, payload463 TEXT, payload464 TEXT, payload465 TEXT, payload466 TEXT, payload467 TEXT, payload468 TEXT, payload469 TEXT, payload470 TEXT, payload471 TEXT, payload472 TEXT, payload473 TEXT, payload474 TEXT, payload475 TEXT, payload476 TEXT, payload477 TEXT, payload478 TEXT, payload479 TEXT, payload480 TEXT, payload481 TEXT, payload482 TEXT, payload483 TEXT, payload484 TEXT, payload485 TEXT, payload486 TEXT, payload487 TEXT, payload488 TEXT, payload489 TEXT, payload490 TEXT, payload491 TEXT, payload492 TEXT, payload493 TEXT, payload494 TEXT, payload495 TEXT, payload496 TEXT, payload497 TEXT, payload498 TEXT, payload499 TEXT, payload500 TEXT, payload501 TEXT, payload502 TEXT, payload503 TEXT, payload504 TEXT, payload505 TEXT, payload506 TEXT, payload507 TEXT, payload508 TEXT, payload509 TEXT, payload510 TEXT, payload511 TEXT, payload512 TEXT, payload513 TEXT, payload514 TEXT, payload515 TEXT, payload516 TEXT, payload517 TEXT, payload518 TEXT, payload519 TEXT, payload520 TEXT, payload521 TEXT, payload522 TEXT, payload523 TEXT, payload524 TEXT, payload525 TEXT, payload526 TEXT, payload527 TEXT, payload528 TEXT, payload529 TEXT, payload530 TEXT, payload531 TEXT, payload532 TEXT, payload533 TEXT, payload534 TEXT, payload535 TEXT, payload536 TEXT, payload537 TEXT, payload538 TEXT, payload539 TEXT, payload540 TEXT, payload541 TEXT, payload542 TEXT, payload543 TEXT, payload544 TEXT, payload545 TEXT, payload546 TEXT, payload547 TEXT, payload548 TEXT, payload549 TEXT, payload550 TEXT, payload551 TEXT, payload552 TEXT, payload553 TEXT, payload554 TEXT, payload555 TEXT, payload556 TEXT, payload557 TEXT, payload558 TEXT, payload559 TEXT, payload560 TEXT, payload561 TEXT, payload562 TEXT, payload563 TEXT, payload564 TEXT, payload565 TEXT, payload566 TEXT, payload567 TEXT, payload568 TEXT, payload569 TEXT, payload570 TEXT, payload571 TEXT, payload572 TEXT, payload573 TEXT, payload574 TEXT, payload575 TEXT, payload576 TEXT, payload577 TEXT, payload578 TEXT, payload579 TEXT, payload580 TEXT, payload581 TEXT, payload582 TEXT, payload583 TEXT, payload584 TEXT, payload585 TEXT, payload586 TEXT, payload587 TEXT, payload588 TEXT, payload589 TEXT, payload590 TEXT, payload591 TEXT, payload592 TEXT, payload593 TEXT, payload594 TEXT, payload595 TEXT, payload596 TEXT, payload597 TEXT, payload598 TEXT, payload599 TEXT, payload600 TEXT, payload601 TEXT, payload602 TEXT, payload603 TEXT, payload604 TEXT, payload605 TEXT, payload606 TEXT, payload607 TEXT, payload608 TEXT, payload609 TEXT, payload610 TEXT, payload611 TEXT, payload612 TEXT, payload613 TEXT, payload614 TEXT, payload615 TEXT, payload616 TEXT, payload617 TEXT, payload618 TEXT, payload619 TEXT, payload620 TEXT, payload621 TEXT, payload622 TEXT, payload623 TEXT, payload624 TEXT, payload625 TEXT, payload626 TEXT, payload627 TEXT, payload628 TEXT, payload629 TEXT, payload630 TEXT, payload631 TEXT, payload632 TEXT, payload633 TEXT, payload634 TEXT, payload635 TEXT, payload636 TEXT, payload637 TEXT, payload638 TEXT, payload639 TEXT, payload640 TEXT, payload641 TEXT, payload642 TEXT, payload643 TEXT, payload644 TEXT, payload645 TEXT, payload646 TEXT, payload647 TEXT, payload648 TEXT, payload649 TEXT, payload650 TEXT, payload651 TEXT, payload652 TEXT, payload653 TEXT, payload654 TEXT, payload655 TEXT, payload656 TEXT, payload657 TEXT, payload658 TEXT, payload659 TEXT, payload660 TEXT, payload661 TEXT, payload662 TEXT, payload663 TEXT, payload664 TEXT, payload665 TEXT, payload666 TEXT, payload667 TEXT, payload668 TEXT, payload669 TEXT, payload670 TEXT, payload671 TEXT, payload672 TEXT, payload673 TEXT, payload674 TEXT, payload675 TEXT, payload676 TEXT, payload677 TEXT, payload678 TEXT, payload679 TEXT, payload680 TEXT, payload681 TEXT, payload682 TEXT, payload683 TEXT, payload684 TEXT, payload685 TEXT, payload686 TEXT, payload687 TEXT, payload688 TEXT, payload689 TEXT, payload690 TEXT, payload691 TEXT, payload692 TEXT, payload693 TEXT, payload694 TEXT, payload695 TEXT, payload696 TEXT, payload697 TEXT, payload698 TEXT, payload699 TEXT, payload700 TEXT, payload701 TEXT, payload702 TEXT, payload703 TEXT, payload704 TEXT, payload705 TEXT, payload706 TEXT, payload707 TEXT, payload708 TEXT, payload709 TEXT, payload710 TEXT, payload711 TEXT, payload712 TEXT, payload713 TEXT, payload714 TEXT, payload715 TEXT, payload716 TEXT, payload717 TEXT, payload718 TEXT, payload719 TEXT, payload720 TEXT, payload721 TEXT, payload722 TEXT, payload723 TEXT, payload724 TEXT, payload725 TEXT, payload726 TEXT, payload727 TEXT, payload728 TEXT, payload729 TEXT, payload730 TEXT, payload731 TEXT, payload732 TEXT, payload733 TEXT, payload734 TEXT, payload735 TEXT, payload736 TEXT, payload737 TEXT, payload738 TEXT, payload739 TEXT, payload740 TEXT, payload741 TEXT, payload742 TEXT, payload743 TEXT, payload744 TEXT, payload745 TEXT, payload746 TEXT, payload747 TEXT, payload748 TEXT, payload749 TEXT, payload750 TEXT, payload751 TEXT, payload752 TEXT, payload753 TEXT, payload754 TEXT, payload755 TEXT, payload756 TEXT, payload757 TEXT, payload758 TEXT, payload759 TEXT, payload760 TEXT, payload761 TEXT, payload762 TEXT, payload763 TEXT, payload764 TEXT, payload765 TEXT, payload766 TEXT, payload767 TEXT, payload768 TEXT, payload769 TEXT, payload770 TEXT, payload771 TEXT, payload772 TEXT, payload773 TEXT, payload774 TEXT, payload775 TEXT, payload776 TEXT, payload777 TEXT, payload778 TEXT, payload779 TEXT, payload780 TEXT, payload781 TEXT, payload782 TEXT, payload783 TEXT, payload784 TEXT, payload785 TEXT, payload786 TEXT, payload787 TEXT, payload788 TEXT, payload789 TEXT, payload790 TEXT, payload791 TEXT, payload792 TEXT, payload793 TEXT, payload794 TEXT, payload795 TEXT, payload796 TEXT, payload797 TEXT, payload798 TEXT, payload799 TEXT, payload800 TEXT, payload801 TEXT, payload802 TEXT, payload803 TEXT, payload804 TEXT, payload805 TEXT, payload806 TEXT, payload807 TEXT, payload808 TEXT, payload809 TEXT, payload810 TEXT, payload811 TEXT, payload812 TEXT, payload813 TEXT, payload814 TEXT, payload815 TEXT, payload816 TEXT, payload817 TEXT, payload818 TEXT, payload819 TEXT, payload820 TEXT, payload821 TEXT, payload822 TEXT, payload823 TEXT, payload824 TEXT, payload825 TEXT, payload826 TEXT, payload827 TEXT, payload828 TEXT, payload829 TEXT, payload830 TEXT, payload831 TEXT, payload832 TEXT, payload833 TEXT, payload834 TEXT, payload835 TEXT, payload836 TEXT, payload837 TEXT, payload838 TEXT, payload839 TEXT, payload840 TEXT, payload841 TEXT, payload842 TEXT, payload843 TEXT, payload844 TEXT, payload845 TEXT, payload846 TEXT, payload847 TEXT, payload848 TEXT, payload849 TEXT, payload850 TEXT, payload851 TEXT, payload852 TEXT, payload853 TEXT, payload854 TEXT, payload855 TEXT, payload856 TEXT, payload857 TEXT, payload858 TEXT, payload859 TEXT, payload860 TEXT, payload861 TEXT, payload862 TEXT, payload863 TEXT, payload864 TEXT, payload865 TEXT, payload866 TEXT, payload867 TEXT, payload868 TEXT, payload869 TEXT, payload870 TEXT, payload871 TEXT, payload872 TEXT, payload873 TEXT, payload874 TEXT, payload875 TEXT, payload876 TEXT, payload877 TEXT, payload878 TEXT, payload879 TEXT, payload880 TEXT, payload881 TEXT, payload882 TEXT, payload883 TEXT, payload884 TEXT, payload885 TEXT, payload886 TEXT, payload887 TEXT, payload888 TEXT, payload889 TEXT, payload890 TEXT, payload891 TEXT, payload892 TEXT, payload893 TEXT, payload894 TEXT, payload895 TEXT, payload896 TEXT, payload897 TEXT, payload898 TEXT, payload899 TEXT, payload900 TEXT, payload901 TEXT, payload902 TEXT, payload903 TEXT, payload904 TEXT, payload905 TEXT, payload906 TEXT, payload907 TEXT, payload908 TEXT, payload909 TEXT, payload910 TEXT, payload911 TEXT, payload912 TEXT, payload913 TEXT, payload914 TEXT, payload915 TEXT, payload916 TEXT, payload917 TEXT, payload918 TEXT, payload919 TEXT, payload920 TEXT, payload921 TEXT, payload922 TEXT, payload923 TEXT, payload924 TEXT, payload925 TEXT, payload926 TEXT, payload927 TEXT, payload928 TEXT, payload929 TEXT, payload930 TEXT, payload931 TEXT, payload932 TEXT, payload933 TEXT, payload934 TEXT, payload935 TEXT, payload936 TEXT, payload937 TEXT, payload938 TEXT, payload939 TEXT, payload940 TEXT, payload941 TEXT, payload942 TEXT, payload943 TEXT, payload944 TEXT, payload945 TEXT, payload946 TEXT, payload947 TEXT, payload948 TEXT, payload949 TEXT, payload950 TEXT, payload951 TEXT, payload952 TEXT, payload953 TEXT, payload954 TEXT, payload955 TEXT, payload956 TEXT, payload957 TEXT, payload958 TEXT, payload959 TEXT, payload960 TEXT, payload961 TEXT, payload962 TEXT, payload963 TEXT, payload964 TEXT, payload965 TEXT, payload966 TEXT, payload967 TEXT, payload968 TEXT, payload969 TEXT, payload970 TEXT, payload971 TEXT, payload972 TEXT, payload973 TEXT, payload974 TEXT, payload975 TEXT, payload976 TEXT, payload977 TEXT, payload978 TEXT, payload979 TEXT, payload980 TEXT, payload981 TEXT, payload982 TEXT, payload983 TEXT, payload984 TEXT, payload985 TEXT, payload986 TEXT, payload987 TEXT, payload988 TEXT, payload989 TEXT, payload990 TEXT, payload991 TEXT, payload992 TEXT, payload993 TEXT, payload994 TEXT, payload995 TEXT, payload996 TEXT, payload997 TEXT, payload998 TEXT, payload999 TEXT, payload1000 TEXT, PRIMARY KEY(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_1k_col;
+
+ loadRules:
+ - table: THRPT_MVI_1k_col
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: payload
+ count: 1000
+ util: RandomAString
+ params: [1, 1]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_1Kcols
+ run:
+ - name: THRPT_multivalue_insert_1Kcols
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_1k_col VALUES [(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ count: 1000
+ params: [1, 1]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_1cols.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_1cols.yaml
new file mode 100644
index 000000000..e7e0b908e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_1cols.yaml
@@ -0,0 +1,61 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_1_col;
+ - CREATE TABLE THRPT_MVI_1_col (dept_id INT, emp_id INT, payload TEXT, primary key(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_1_col;
+
+ loadRules:
+ - table: THRPT_MVI_1_col
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: payload
+ util: RandomAString
+ params: [1000, 1000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_1cols
+ run:
+ - name: THRPT_multivalue_insert_1cols
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_1_col VALUES [(?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [1000, 1000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_500cols.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_500cols.yaml
new file mode 100644
index 000000000..ebc13816b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_cols/THRPT_multivalue_insert_500cols.yaml
@@ -0,0 +1,63 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 32
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_500_col;
+ - CREATE TABLE THRPT_MVI_500_col (dept_id INT, emp_id INT, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, payload101 TEXT, payload102 TEXT, payload103 TEXT, payload104 TEXT, payload105 TEXT, payload106 TEXT, payload107 TEXT, payload108 TEXT, payload109 TEXT, payload110 TEXT, payload111 TEXT, payload112 TEXT, payload113 TEXT, payload114 TEXT, payload115 TEXT, payload116 TEXT, payload117 TEXT, payload118 TEXT, payload119 TEXT, payload120 TEXT, payload121 TEXT, payload122 TEXT, payload123 TEXT, payload124 TEXT, payload125 TEXT, payload126 TEXT, payload127 TEXT, payload128 TEXT, payload129 TEXT, payload130 TEXT, payload131 TEXT, payload132 TEXT, payload133 TEXT, payload134 TEXT, payload135 TEXT, payload136 TEXT, payload137 TEXT, payload138 TEXT, payload139 TEXT, payload140 TEXT, payload141 TEXT, payload142 TEXT, payload143 TEXT, payload144 TEXT, payload145 TEXT, payload146 TEXT, payload147 TEXT, payload148 TEXT, payload149 TEXT, payload150 TEXT, payload151 TEXT, payload152 TEXT, payload153 TEXT, payload154 TEXT, payload155 TEXT, payload156 TEXT, payload157 TEXT, payload158 TEXT, payload159 TEXT, payload160 TEXT, payload161 TEXT, payload162 TEXT, payload163 TEXT, payload164 TEXT, payload165 TEXT, payload166 TEXT, payload167 TEXT, payload168 TEXT, payload169 TEXT, payload170 TEXT, payload171 TEXT, payload172 TEXT, payload173 TEXT, payload174 TEXT, payload175 TEXT, payload176 TEXT, payload177 TEXT, payload178 TEXT, payload179 TEXT, payload180 TEXT, payload181 TEXT, payload182 TEXT, payload183 TEXT, payload184 TEXT, payload185 TEXT, payload186 TEXT, payload187 TEXT, payload188 TEXT, payload189 TEXT, payload190 TEXT, payload191 TEXT, payload192 TEXT, payload193 TEXT, payload194 TEXT, payload195 TEXT, payload196 TEXT, payload197 TEXT, payload198 TEXT, payload199 TEXT, payload200 TEXT, payload201 TEXT, payload202 TEXT, payload203 TEXT, payload204 TEXT, payload205 TEXT, payload206 TEXT, payload207 TEXT, payload208 TEXT, payload209 TEXT, payload210 TEXT, payload211 TEXT, payload212 TEXT, payload213 TEXT, payload214 TEXT, payload215 TEXT, payload216 TEXT, payload217 TEXT, payload218 TEXT, payload219 TEXT, payload220 TEXT, payload221 TEXT, payload222 TEXT, payload223 TEXT, payload224 TEXT, payload225 TEXT, payload226 TEXT, payload227 TEXT, payload228 TEXT, payload229 TEXT, payload230 TEXT, payload231 TEXT, payload232 TEXT, payload233 TEXT, payload234 TEXT, payload235 TEXT, payload236 TEXT, payload237 TEXT, payload238 TEXT, payload239 TEXT, payload240 TEXT, payload241 TEXT, payload242 TEXT, payload243 TEXT, payload244 TEXT, payload245 TEXT, payload246 TEXT, payload247 TEXT, payload248 TEXT, payload249 TEXT, payload250 TEXT, payload251 TEXT, payload252 TEXT, payload253 TEXT, payload254 TEXT, payload255 TEXT, payload256 TEXT, payload257 TEXT, payload258 TEXT, payload259 TEXT, payload260 TEXT, payload261 TEXT, payload262 TEXT, payload263 TEXT, payload264 TEXT, payload265 TEXT, payload266 TEXT, payload267 TEXT, payload268 TEXT, payload269 TEXT, payload270 TEXT, payload271 TEXT, payload272 TEXT, payload273 TEXT, payload274 TEXT, payload275 TEXT, payload276 TEXT, payload277 TEXT, payload278 TEXT, payload279 TEXT, payload280 TEXT, payload281 TEXT, payload282 TEXT, payload283 TEXT, payload284 TEXT, payload285 TEXT, payload286 TEXT, payload287 TEXT, payload288 TEXT, payload289 TEXT, payload290 TEXT, payload291 TEXT, payload292 TEXT, payload293 TEXT, payload294 TEXT, payload295 TEXT, payload296 TEXT, payload297 TEXT, payload298 TEXT, payload299 TEXT, payload300 TEXT, payload301 TEXT, payload302 TEXT, payload303 TEXT, payload304 TEXT, payload305 TEXT, payload306 TEXT, payload307 TEXT, payload308 TEXT, payload309 TEXT, payload310 TEXT, payload311 TEXT, payload312 TEXT, payload313 TEXT, payload314 TEXT, payload315 TEXT, payload316 TEXT, payload317 TEXT, payload318 TEXT, payload319 TEXT, payload320 TEXT, payload321 TEXT, payload322 TEXT, payload323 TEXT, payload324 TEXT, payload325 TEXT, payload326 TEXT, payload327 TEXT, payload328 TEXT, payload329 TEXT, payload330 TEXT, payload331 TEXT, payload332 TEXT, payload333 TEXT, payload334 TEXT, payload335 TEXT, payload336 TEXT, payload337 TEXT, payload338 TEXT, payload339 TEXT, payload340 TEXT, payload341 TEXT, payload342 TEXT, payload343 TEXT, payload344 TEXT, payload345 TEXT, payload346 TEXT, payload347 TEXT, payload348 TEXT, payload349 TEXT, payload350 TEXT, payload351 TEXT, payload352 TEXT, payload353 TEXT, payload354 TEXT, payload355 TEXT, payload356 TEXT, payload357 TEXT, payload358 TEXT, payload359 TEXT, payload360 TEXT, payload361 TEXT, payload362 TEXT, payload363 TEXT, payload364 TEXT, payload365 TEXT, payload366 TEXT, payload367 TEXT, payload368 TEXT, payload369 TEXT, payload370 TEXT, payload371 TEXT, payload372 TEXT, payload373 TEXT, payload374 TEXT, payload375 TEXT, payload376 TEXT, payload377 TEXT, payload378 TEXT, payload379 TEXT, payload380 TEXT, payload381 TEXT, payload382 TEXT, payload383 TEXT, payload384 TEXT, payload385 TEXT, payload386 TEXT, payload387 TEXT, payload388 TEXT, payload389 TEXT, payload390 TEXT, payload391 TEXT, payload392 TEXT, payload393 TEXT, payload394 TEXT, payload395 TEXT, payload396 TEXT, payload397 TEXT, payload398 TEXT, payload399 TEXT, payload400 TEXT, payload401 TEXT, payload402 TEXT, payload403 TEXT, payload404 TEXT, payload405 TEXT, payload406 TEXT, payload407 TEXT, payload408 TEXT, payload409 TEXT, payload410 TEXT, payload411 TEXT, payload412 TEXT, payload413 TEXT, payload414 TEXT, payload415 TEXT, payload416 TEXT, payload417 TEXT, payload418 TEXT, payload419 TEXT, payload420 TEXT, payload421 TEXT, payload422 TEXT, payload423 TEXT, payload424 TEXT, payload425 TEXT, payload426 TEXT, payload427 TEXT, payload428 TEXT, payload429 TEXT, payload430 TEXT, payload431 TEXT, payload432 TEXT, payload433 TEXT, payload434 TEXT, payload435 TEXT, payload436 TEXT, payload437 TEXT, payload438 TEXT, payload439 TEXT, payload440 TEXT, payload441 TEXT, payload442 TEXT, payload443 TEXT, payload444 TEXT, payload445 TEXT, payload446 TEXT, payload447 TEXT, payload448 TEXT, payload449 TEXT, payload450 TEXT, payload451 TEXT, payload452 TEXT, payload453 TEXT, payload454 TEXT, payload455 TEXT, payload456 TEXT, payload457 TEXT, payload458 TEXT, payload459 TEXT, payload460 TEXT, payload461 TEXT, payload462 TEXT, payload463 TEXT, payload464 TEXT, payload465 TEXT, payload466 TEXT, payload467 TEXT, payload468 TEXT, payload469 TEXT, payload470 TEXT, payload471 TEXT, payload472 TEXT, payload473 TEXT, payload474 TEXT, payload475 TEXT, payload476 TEXT, payload477 TEXT, payload478 TEXT, payload479 TEXT, payload480 TEXT, payload481 TEXT, payload482 TEXT, payload483 TEXT, payload484 TEXT, payload485 TEXT, payload486 TEXT, payload487 TEXT, payload488 TEXT, payload489 TEXT, payload490 TEXT, payload491 TEXT, payload492 TEXT, payload493 TEXT, payload494 TEXT, payload495 TEXT, payload496 TEXT, payload497 TEXT, payload498 TEXT, payload499 TEXT, payload500 TEXT, PRIMARY KEY(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_500_col;
+
+ loadRules:
+ - table: THRPT_MVI_500_col
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: payload
+ count: 500
+ util: RandomAString
+ params: [2, 2]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_500cols
+ run:
+ - name: THRPT_multivalue_insert_500cols
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_500_col VALUES [(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ count: 500
+ params: [2, 2]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_100KB_row.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_100KB_row.yaml
new file mode 100644
index 000000000..71a536b20
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_100KB_row.yaml
@@ -0,0 +1,99 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 64
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_100KB_row_size;
+ - CREATE TABLE THRPT_MVI_100KB_row_size (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_100KB_row_size;
+
+ loadRules:
+ - table: THRPT_MVI_100KB_row_size
+ rows: 100000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [51200, 51200]
+ - name: details
+ util: RandomAString
+ params: [51200, 51200]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_100KB_row
+ run:
+ - name: THRPT_multivalue_insert_100KB_row
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_100KB_row_size VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [100001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [51200, 51200]
+ - util: RandomAString
+ params: [51200, 51200]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_10KB_row.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_10KB_row.yaml
new file mode 100644
index 000000000..12bda45cc
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_10KB_row.yaml
@@ -0,0 +1,99 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_10KB_row_size;
+ - CREATE TABLE THRPT_MVI_10KB_row_size (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_10KB_row_size;
+
+ loadRules:
+ - table: THRPT_MVI_10KB_row_size
+ rows: 1000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [5120, 5120]
+ - name: details
+ util: RandomAString
+ params: [5120, 5120]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_10KB_row
+ run:
+ - name: THRPT_multivalue_insert_10KB_row
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_10KB_row_size VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [1000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [5120, 5120]
+ - util: RandomAString
+ params: [5120, 5120]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_1MB_row.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_1MB_row.yaml
new file mode 100644
index 000000000..f0ae3ebf3
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_1MB_row.yaml
@@ -0,0 +1,99 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 8
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_1MB_row_size;
+ - CREATE TABLE THRPT_MVI_1MB_row_size (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_1MB_row_size;
+
+ loadRules:
+ - table: THRPT_MVI_1MB_row_size
+ rows: 10000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512000, 512000]
+ - name: details
+ util: RandomAString
+ params: [512000, 512000]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_1MB_row
+ run:
+ - name: THRPT_multivalue_insert_1MB_row
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_1MB_row_size VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512000, 512000]
+ - util: RandomAString
+ params: [512000, 512000]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_100_rows.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_100_rows.yaml
new file mode 100644
index 000000000..d2a7440c6
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_100_rows.yaml
@@ -0,0 +1,99 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS THRPT_100_single_inserts;
+ - CREATE TABLE THRPT_100_single_inserts (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_100_single_inserts;
+
+ loadRules:
+ - table: THRPT_100_single_inserts
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_single_inserts_100_rows
+ run:
+ - name: THRPT_single_inserts_100_rows
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_100_single_inserts VALUES (?,?,?,?,?,?,?,?,?,?,?);
+ count: 100
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_10_rows.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_10_rows.yaml
new file mode 100644
index 000000000..ce8cd5f0b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_10_rows.yaml
@@ -0,0 +1,99 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS THRPT_10_single_inserts;
+ - CREATE TABLE THRPT_10_single_inserts (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_10_single_inserts;
+
+ loadRules:
+ - table: THRPT_10_single_inserts
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_single_inserts_10_rows
+ run:
+ - name: THRPT_single_inserts_10_rows
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_10_single_inserts VALUES (?,?,?,?,?,?,?,?,?,?,?);
+ count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_1K_rows.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_1K_rows.yaml
new file mode 100644
index 000000000..b676697a2
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/postgres/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_1K_rows.yaml
@@ -0,0 +1,99 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS THRPT_1K_single_inserts;
+ - CREATE TABLE THRPT_1K_single_inserts (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id, emp_id));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_1K_single_inserts;
+
+ loadRules:
+ - table: THRPT_1K_single_inserts
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_single_inserts_1K_rows
+ run:
+ - name: THRPT_single_inserts_1K_rows
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_1K_single_inserts VALUES (?,?,?,?,?,?,?,?,?,?,?);
+ count: 1000
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_100row.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_100row.yaml
new file mode 100644
index 000000000..4f17ff617
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_100row.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_100;
+ - CREATE TABLE THRPT_MVI_100 (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id asc, emp_id asc)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_100;
+
+ loadRules:
+ - table: THRPT_MVI_100
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_100row
+ run:
+ - name: THRPT_multivalue_insert_100row
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_100 VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 100
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_10row.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_10row.yaml
new file mode 100644
index 000000000..e75d1cd81
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_10row.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_10;
+ - CREATE TABLE THRPT_MVI_10 (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id asc, emp_id asc)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_10;
+
+ loadRules:
+ - table: THRPT_MVI_10
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_10row
+ run:
+ - name: THRPT_multivalue_insert_10row
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_10 VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_1krow.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_1krow.yaml
new file mode 100644
index 000000000..29d785868
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_1krow.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_1k;
+ - CREATE TABLE THRPT_MVI_1k (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id asc, emp_id asc)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_1k;
+
+ loadRules:
+ - table: THRPT_MVI_1k
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_1krow
+ run:
+ - name: THRPT_multivalue_insert_1krow
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_1k VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 1000
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_1row.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_1row.yaml
new file mode 100644
index 000000000..5094f6606
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_1row.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_1;
+ - CREATE TABLE THRPT_MVI_1 (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id asc, emp_id asc)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_1;
+
+ loadRules:
+ - table: THRPT_MVI_1
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_1row
+ run:
+ - name: THRPT_multivalue_insert_1row
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_1 VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 1
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_5krow.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_5krow.yaml
new file mode 100644
index 000000000..58b5b2774
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_batchSize/THRPT_multivalue_insert_5krow.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_5k;
+ - CREATE TABLE THRPT_MVI_5k (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id asc, emp_id asc)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_5k;
+
+ loadRules:
+ - table: THRPT_MVI_5k
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_5krow
+ run:
+ - name: THRPT_multivalue_insert_5krow
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_5k VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 5000
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_100cols.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_100cols.yaml
new file mode 100644
index 000000000..7a5301e58
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_100cols.yaml
@@ -0,0 +1,64 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_100_col;
+ - CREATE TABLE THRPT_MVI_100_col (dept_id INT, emp_id INT, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, PRIMARY KEY(dept_id ASC, emp_id ASC)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_100_col;
+
+ loadRules:
+ - table: THRPT_MVI_100_col
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: payload
+ count: 100
+ util: RandomAString
+ params: [10, 10]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_100cols
+ run:
+ - name: THRPT_multivalue_insert_100cols
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_100_col VALUES [(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ count: 100
+ params: [10, 10]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_10cols.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_10cols.yaml
new file mode 100644
index 000000000..587e82e45
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_10cols.yaml
@@ -0,0 +1,64 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_10_col;
+ - CREATE TABLE THRPT_MVI_10_col (dept_id INT, emp_id INT, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, PRIMARY KEY(dept_id ASC, emp_id ASC)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_10_col;
+
+ loadRules:
+ - table: THRPT_MVI_10_col
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: payload
+ count: 10
+ util: RandomAString
+ params: [100, 100]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_10cols
+ run:
+ - name: THRPT_multivalue_insert_10cols
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_10_col VALUES [(?,?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ count: 10
+ params: [100, 100]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_1Kcols.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_1Kcols.yaml
new file mode 100644
index 000000000..d250d9082
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_1Kcols.yaml
@@ -0,0 +1,64 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 16
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_1k_col;
+ - CREATE TABLE THRPT_MVI_1k_col (dept_id INT, emp_id INT, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, payload101 TEXT, payload102 TEXT, payload103 TEXT, payload104 TEXT, payload105 TEXT, payload106 TEXT, payload107 TEXT, payload108 TEXT, payload109 TEXT, payload110 TEXT, payload111 TEXT, payload112 TEXT, payload113 TEXT, payload114 TEXT, payload115 TEXT, payload116 TEXT, payload117 TEXT, payload118 TEXT, payload119 TEXT, payload120 TEXT, payload121 TEXT, payload122 TEXT, payload123 TEXT, payload124 TEXT, payload125 TEXT, payload126 TEXT, payload127 TEXT, payload128 TEXT, payload129 TEXT, payload130 TEXT, payload131 TEXT, payload132 TEXT, payload133 TEXT, payload134 TEXT, payload135 TEXT, payload136 TEXT, payload137 TEXT, payload138 TEXT, payload139 TEXT, payload140 TEXT, payload141 TEXT, payload142 TEXT, payload143 TEXT, payload144 TEXT, payload145 TEXT, payload146 TEXT, payload147 TEXT, payload148 TEXT, payload149 TEXT, payload150 TEXT, payload151 TEXT, payload152 TEXT, payload153 TEXT, payload154 TEXT, payload155 TEXT, payload156 TEXT, payload157 TEXT, payload158 TEXT, payload159 TEXT, payload160 TEXT, payload161 TEXT, payload162 TEXT, payload163 TEXT, payload164 TEXT, payload165 TEXT, payload166 TEXT, payload167 TEXT, payload168 TEXT, payload169 TEXT, payload170 TEXT, payload171 TEXT, payload172 TEXT, payload173 TEXT, payload174 TEXT, payload175 TEXT, payload176 TEXT, payload177 TEXT, payload178 TEXT, payload179 TEXT, payload180 TEXT, payload181 TEXT, payload182 TEXT, payload183 TEXT, payload184 TEXT, payload185 TEXT, payload186 TEXT, payload187 TEXT, payload188 TEXT, payload189 TEXT, payload190 TEXT, payload191 TEXT, payload192 TEXT, payload193 TEXT, payload194 TEXT, payload195 TEXT, payload196 TEXT, payload197 TEXT, payload198 TEXT, payload199 TEXT, payload200 TEXT, payload201 TEXT, payload202 TEXT, payload203 TEXT, payload204 TEXT, payload205 TEXT, payload206 TEXT, payload207 TEXT, payload208 TEXT, payload209 TEXT, payload210 TEXT, payload211 TEXT, payload212 TEXT, payload213 TEXT, payload214 TEXT, payload215 TEXT, payload216 TEXT, payload217 TEXT, payload218 TEXT, payload219 TEXT, payload220 TEXT, payload221 TEXT, payload222 TEXT, payload223 TEXT, payload224 TEXT, payload225 TEXT, payload226 TEXT, payload227 TEXT, payload228 TEXT, payload229 TEXT, payload230 TEXT, payload231 TEXT, payload232 TEXT, payload233 TEXT, payload234 TEXT, payload235 TEXT, payload236 TEXT, payload237 TEXT, payload238 TEXT, payload239 TEXT, payload240 TEXT, payload241 TEXT, payload242 TEXT, payload243 TEXT, payload244 TEXT, payload245 TEXT, payload246 TEXT, payload247 TEXT, payload248 TEXT, payload249 TEXT, payload250 TEXT, payload251 TEXT, payload252 TEXT, payload253 TEXT, payload254 TEXT, payload255 TEXT, payload256 TEXT, payload257 TEXT, payload258 TEXT, payload259 TEXT, payload260 TEXT, payload261 TEXT, payload262 TEXT, payload263 TEXT, payload264 TEXT, payload265 TEXT, payload266 TEXT, payload267 TEXT, payload268 TEXT, payload269 TEXT, payload270 TEXT, payload271 TEXT, payload272 TEXT, payload273 TEXT, payload274 TEXT, payload275 TEXT, payload276 TEXT, payload277 TEXT, payload278 TEXT, payload279 TEXT, payload280 TEXT, payload281 TEXT, payload282 TEXT, payload283 TEXT, payload284 TEXT, payload285 TEXT, payload286 TEXT, payload287 TEXT, payload288 TEXT, payload289 TEXT, payload290 TEXT, payload291 TEXT, payload292 TEXT, payload293 TEXT, payload294 TEXT, payload295 TEXT, payload296 TEXT, payload297 TEXT, payload298 TEXT, payload299 TEXT, payload300 TEXT, payload301 TEXT, payload302 TEXT, payload303 TEXT, payload304 TEXT, payload305 TEXT, payload306 TEXT, payload307 TEXT, payload308 TEXT, payload309 TEXT, payload310 TEXT, payload311 TEXT, payload312 TEXT, payload313 TEXT, payload314 TEXT, payload315 TEXT, payload316 TEXT, payload317 TEXT, payload318 TEXT, payload319 TEXT, payload320 TEXT, payload321 TEXT, payload322 TEXT, payload323 TEXT, payload324 TEXT, payload325 TEXT, payload326 TEXT, payload327 TEXT, payload328 TEXT, payload329 TEXT, payload330 TEXT, payload331 TEXT, payload332 TEXT, payload333 TEXT, payload334 TEXT, payload335 TEXT, payload336 TEXT, payload337 TEXT, payload338 TEXT, payload339 TEXT, payload340 TEXT, payload341 TEXT, payload342 TEXT, payload343 TEXT, payload344 TEXT, payload345 TEXT, payload346 TEXT, payload347 TEXT, payload348 TEXT, payload349 TEXT, payload350 TEXT, payload351 TEXT, payload352 TEXT, payload353 TEXT, payload354 TEXT, payload355 TEXT, payload356 TEXT, payload357 TEXT, payload358 TEXT, payload359 TEXT, payload360 TEXT, payload361 TEXT, payload362 TEXT, payload363 TEXT, payload364 TEXT, payload365 TEXT, payload366 TEXT, payload367 TEXT, payload368 TEXT, payload369 TEXT, payload370 TEXT, payload371 TEXT, payload372 TEXT, payload373 TEXT, payload374 TEXT, payload375 TEXT, payload376 TEXT, payload377 TEXT, payload378 TEXT, payload379 TEXT, payload380 TEXT, payload381 TEXT, payload382 TEXT, payload383 TEXT, payload384 TEXT, payload385 TEXT, payload386 TEXT, payload387 TEXT, payload388 TEXT, payload389 TEXT, payload390 TEXT, payload391 TEXT, payload392 TEXT, payload393 TEXT, payload394 TEXT, payload395 TEXT, payload396 TEXT, payload397 TEXT, payload398 TEXT, payload399 TEXT, payload400 TEXT, payload401 TEXT, payload402 TEXT, payload403 TEXT, payload404 TEXT, payload405 TEXT, payload406 TEXT, payload407 TEXT, payload408 TEXT, payload409 TEXT, payload410 TEXT, payload411 TEXT, payload412 TEXT, payload413 TEXT, payload414 TEXT, payload415 TEXT, payload416 TEXT, payload417 TEXT, payload418 TEXT, payload419 TEXT, payload420 TEXT, payload421 TEXT, payload422 TEXT, payload423 TEXT, payload424 TEXT, payload425 TEXT, payload426 TEXT, payload427 TEXT, payload428 TEXT, payload429 TEXT, payload430 TEXT, payload431 TEXT, payload432 TEXT, payload433 TEXT, payload434 TEXT, payload435 TEXT, payload436 TEXT, payload437 TEXT, payload438 TEXT, payload439 TEXT, payload440 TEXT, payload441 TEXT, payload442 TEXT, payload443 TEXT, payload444 TEXT, payload445 TEXT, payload446 TEXT, payload447 TEXT, payload448 TEXT, payload449 TEXT, payload450 TEXT, payload451 TEXT, payload452 TEXT, payload453 TEXT, payload454 TEXT, payload455 TEXT, payload456 TEXT, payload457 TEXT, payload458 TEXT, payload459 TEXT, payload460 TEXT, payload461 TEXT, payload462 TEXT, payload463 TEXT, payload464 TEXT, payload465 TEXT, payload466 TEXT, payload467 TEXT, payload468 TEXT, payload469 TEXT, payload470 TEXT, payload471 TEXT, payload472 TEXT, payload473 TEXT, payload474 TEXT, payload475 TEXT, payload476 TEXT, payload477 TEXT, payload478 TEXT, payload479 TEXT, payload480 TEXT, payload481 TEXT, payload482 TEXT, payload483 TEXT, payload484 TEXT, payload485 TEXT, payload486 TEXT, payload487 TEXT, payload488 TEXT, payload489 TEXT, payload490 TEXT, payload491 TEXT, payload492 TEXT, payload493 TEXT, payload494 TEXT, payload495 TEXT, payload496 TEXT, payload497 TEXT, payload498 TEXT, payload499 TEXT, payload500 TEXT, payload501 TEXT, payload502 TEXT, payload503 TEXT, payload504 TEXT, payload505 TEXT, payload506 TEXT, payload507 TEXT, payload508 TEXT, payload509 TEXT, payload510 TEXT, payload511 TEXT, payload512 TEXT, payload513 TEXT, payload514 TEXT, payload515 TEXT, payload516 TEXT, payload517 TEXT, payload518 TEXT, payload519 TEXT, payload520 TEXT, payload521 TEXT, payload522 TEXT, payload523 TEXT, payload524 TEXT, payload525 TEXT, payload526 TEXT, payload527 TEXT, payload528 TEXT, payload529 TEXT, payload530 TEXT, payload531 TEXT, payload532 TEXT, payload533 TEXT, payload534 TEXT, payload535 TEXT, payload536 TEXT, payload537 TEXT, payload538 TEXT, payload539 TEXT, payload540 TEXT, payload541 TEXT, payload542 TEXT, payload543 TEXT, payload544 TEXT, payload545 TEXT, payload546 TEXT, payload547 TEXT, payload548 TEXT, payload549 TEXT, payload550 TEXT, payload551 TEXT, payload552 TEXT, payload553 TEXT, payload554 TEXT, payload555 TEXT, payload556 TEXT, payload557 TEXT, payload558 TEXT, payload559 TEXT, payload560 TEXT, payload561 TEXT, payload562 TEXT, payload563 TEXT, payload564 TEXT, payload565 TEXT, payload566 TEXT, payload567 TEXT, payload568 TEXT, payload569 TEXT, payload570 TEXT, payload571 TEXT, payload572 TEXT, payload573 TEXT, payload574 TEXT, payload575 TEXT, payload576 TEXT, payload577 TEXT, payload578 TEXT, payload579 TEXT, payload580 TEXT, payload581 TEXT, payload582 TEXT, payload583 TEXT, payload584 TEXT, payload585 TEXT, payload586 TEXT, payload587 TEXT, payload588 TEXT, payload589 TEXT, payload590 TEXT, payload591 TEXT, payload592 TEXT, payload593 TEXT, payload594 TEXT, payload595 TEXT, payload596 TEXT, payload597 TEXT, payload598 TEXT, payload599 TEXT, payload600 TEXT, payload601 TEXT, payload602 TEXT, payload603 TEXT, payload604 TEXT, payload605 TEXT, payload606 TEXT, payload607 TEXT, payload608 TEXT, payload609 TEXT, payload610 TEXT, payload611 TEXT, payload612 TEXT, payload613 TEXT, payload614 TEXT, payload615 TEXT, payload616 TEXT, payload617 TEXT, payload618 TEXT, payload619 TEXT, payload620 TEXT, payload621 TEXT, payload622 TEXT, payload623 TEXT, payload624 TEXT, payload625 TEXT, payload626 TEXT, payload627 TEXT, payload628 TEXT, payload629 TEXT, payload630 TEXT, payload631 TEXT, payload632 TEXT, payload633 TEXT, payload634 TEXT, payload635 TEXT, payload636 TEXT, payload637 TEXT, payload638 TEXT, payload639 TEXT, payload640 TEXT, payload641 TEXT, payload642 TEXT, payload643 TEXT, payload644 TEXT, payload645 TEXT, payload646 TEXT, payload647 TEXT, payload648 TEXT, payload649 TEXT, payload650 TEXT, payload651 TEXT, payload652 TEXT, payload653 TEXT, payload654 TEXT, payload655 TEXT, payload656 TEXT, payload657 TEXT, payload658 TEXT, payload659 TEXT, payload660 TEXT, payload661 TEXT, payload662 TEXT, payload663 TEXT, payload664 TEXT, payload665 TEXT, payload666 TEXT, payload667 TEXT, payload668 TEXT, payload669 TEXT, payload670 TEXT, payload671 TEXT, payload672 TEXT, payload673 TEXT, payload674 TEXT, payload675 TEXT, payload676 TEXT, payload677 TEXT, payload678 TEXT, payload679 TEXT, payload680 TEXT, payload681 TEXT, payload682 TEXT, payload683 TEXT, payload684 TEXT, payload685 TEXT, payload686 TEXT, payload687 TEXT, payload688 TEXT, payload689 TEXT, payload690 TEXT, payload691 TEXT, payload692 TEXT, payload693 TEXT, payload694 TEXT, payload695 TEXT, payload696 TEXT, payload697 TEXT, payload698 TEXT, payload699 TEXT, payload700 TEXT, payload701 TEXT, payload702 TEXT, payload703 TEXT, payload704 TEXT, payload705 TEXT, payload706 TEXT, payload707 TEXT, payload708 TEXT, payload709 TEXT, payload710 TEXT, payload711 TEXT, payload712 TEXT, payload713 TEXT, payload714 TEXT, payload715 TEXT, payload716 TEXT, payload717 TEXT, payload718 TEXT, payload719 TEXT, payload720 TEXT, payload721 TEXT, payload722 TEXT, payload723 TEXT, payload724 TEXT, payload725 TEXT, payload726 TEXT, payload727 TEXT, payload728 TEXT, payload729 TEXT, payload730 TEXT, payload731 TEXT, payload732 TEXT, payload733 TEXT, payload734 TEXT, payload735 TEXT, payload736 TEXT, payload737 TEXT, payload738 TEXT, payload739 TEXT, payload740 TEXT, payload741 TEXT, payload742 TEXT, payload743 TEXT, payload744 TEXT, payload745 TEXT, payload746 TEXT, payload747 TEXT, payload748 TEXT, payload749 TEXT, payload750 TEXT, payload751 TEXT, payload752 TEXT, payload753 TEXT, payload754 TEXT, payload755 TEXT, payload756 TEXT, payload757 TEXT, payload758 TEXT, payload759 TEXT, payload760 TEXT, payload761 TEXT, payload762 TEXT, payload763 TEXT, payload764 TEXT, payload765 TEXT, payload766 TEXT, payload767 TEXT, payload768 TEXT, payload769 TEXT, payload770 TEXT, payload771 TEXT, payload772 TEXT, payload773 TEXT, payload774 TEXT, payload775 TEXT, payload776 TEXT, payload777 TEXT, payload778 TEXT, payload779 TEXT, payload780 TEXT, payload781 TEXT, payload782 TEXT, payload783 TEXT, payload784 TEXT, payload785 TEXT, payload786 TEXT, payload787 TEXT, payload788 TEXT, payload789 TEXT, payload790 TEXT, payload791 TEXT, payload792 TEXT, payload793 TEXT, payload794 TEXT, payload795 TEXT, payload796 TEXT, payload797 TEXT, payload798 TEXT, payload799 TEXT, payload800 TEXT, payload801 TEXT, payload802 TEXT, payload803 TEXT, payload804 TEXT, payload805 TEXT, payload806 TEXT, payload807 TEXT, payload808 TEXT, payload809 TEXT, payload810 TEXT, payload811 TEXT, payload812 TEXT, payload813 TEXT, payload814 TEXT, payload815 TEXT, payload816 TEXT, payload817 TEXT, payload818 TEXT, payload819 TEXT, payload820 TEXT, payload821 TEXT, payload822 TEXT, payload823 TEXT, payload824 TEXT, payload825 TEXT, payload826 TEXT, payload827 TEXT, payload828 TEXT, payload829 TEXT, payload830 TEXT, payload831 TEXT, payload832 TEXT, payload833 TEXT, payload834 TEXT, payload835 TEXT, payload836 TEXT, payload837 TEXT, payload838 TEXT, payload839 TEXT, payload840 TEXT, payload841 TEXT, payload842 TEXT, payload843 TEXT, payload844 TEXT, payload845 TEXT, payload846 TEXT, payload847 TEXT, payload848 TEXT, payload849 TEXT, payload850 TEXT, payload851 TEXT, payload852 TEXT, payload853 TEXT, payload854 TEXT, payload855 TEXT, payload856 TEXT, payload857 TEXT, payload858 TEXT, payload859 TEXT, payload860 TEXT, payload861 TEXT, payload862 TEXT, payload863 TEXT, payload864 TEXT, payload865 TEXT, payload866 TEXT, payload867 TEXT, payload868 TEXT, payload869 TEXT, payload870 TEXT, payload871 TEXT, payload872 TEXT, payload873 TEXT, payload874 TEXT, payload875 TEXT, payload876 TEXT, payload877 TEXT, payload878 TEXT, payload879 TEXT, payload880 TEXT, payload881 TEXT, payload882 TEXT, payload883 TEXT, payload884 TEXT, payload885 TEXT, payload886 TEXT, payload887 TEXT, payload888 TEXT, payload889 TEXT, payload890 TEXT, payload891 TEXT, payload892 TEXT, payload893 TEXT, payload894 TEXT, payload895 TEXT, payload896 TEXT, payload897 TEXT, payload898 TEXT, payload899 TEXT, payload900 TEXT, payload901 TEXT, payload902 TEXT, payload903 TEXT, payload904 TEXT, payload905 TEXT, payload906 TEXT, payload907 TEXT, payload908 TEXT, payload909 TEXT, payload910 TEXT, payload911 TEXT, payload912 TEXT, payload913 TEXT, payload914 TEXT, payload915 TEXT, payload916 TEXT, payload917 TEXT, payload918 TEXT, payload919 TEXT, payload920 TEXT, payload921 TEXT, payload922 TEXT, payload923 TEXT, payload924 TEXT, payload925 TEXT, payload926 TEXT, payload927 TEXT, payload928 TEXT, payload929 TEXT, payload930 TEXT, payload931 TEXT, payload932 TEXT, payload933 TEXT, payload934 TEXT, payload935 TEXT, payload936 TEXT, payload937 TEXT, payload938 TEXT, payload939 TEXT, payload940 TEXT, payload941 TEXT, payload942 TEXT, payload943 TEXT, payload944 TEXT, payload945 TEXT, payload946 TEXT, payload947 TEXT, payload948 TEXT, payload949 TEXT, payload950 TEXT, payload951 TEXT, payload952 TEXT, payload953 TEXT, payload954 TEXT, payload955 TEXT, payload956 TEXT, payload957 TEXT, payload958 TEXT, payload959 TEXT, payload960 TEXT, payload961 TEXT, payload962 TEXT, payload963 TEXT, payload964 TEXT, payload965 TEXT, payload966 TEXT, payload967 TEXT, payload968 TEXT, payload969 TEXT, payload970 TEXT, payload971 TEXT, payload972 TEXT, payload973 TEXT, payload974 TEXT, payload975 TEXT, payload976 TEXT, payload977 TEXT, payload978 TEXT, payload979 TEXT, payload980 TEXT, payload981 TEXT, payload982 TEXT, payload983 TEXT, payload984 TEXT, payload985 TEXT, payload986 TEXT, payload987 TEXT, payload988 TEXT, payload989 TEXT, payload990 TEXT, payload991 TEXT, payload992 TEXT, payload993 TEXT, payload994 TEXT, payload995 TEXT, payload996 TEXT, payload997 TEXT, payload998 TEXT, payload999 TEXT, payload1000 TEXT, PRIMARY KEY(dept_id ASC, emp_id ASC)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_1k_col;
+
+ loadRules:
+ - table: THRPT_MVI_1k_col
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: payload
+ count: 1000
+ util: RandomAString
+ params: [1, 1]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_1Kcols
+ run:
+ - name: THRPT_multivalue_insert_1Kcols
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_1k_col VALUES [(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ count: 1000
+ params: [1, 1]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_1cols.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_1cols.yaml
new file mode 100644
index 000000000..6a088ff84
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_1cols.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_1_col;
+ - CREATE TABLE THRPT_MVI_1_col (dept_id INT, emp_id INT, payload TEXT, primary key(dept_id asc, emp_id asc)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_1_col;
+
+ loadRules:
+ - table: THRPT_MVI_1_col
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: payload
+ util: RandomAString
+ params: [1000, 1000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_1cols
+ run:
+ - name: THRPT_multivalue_insert_1cols
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_1_col VALUES [(?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [1000, 1000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_500cols.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_500cols.yaml
new file mode 100644
index 000000000..2656f2c26
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_cols/THRPT_multivalue_insert_500cols.yaml
@@ -0,0 +1,64 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 32
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_500_col;
+ - CREATE TABLE THRPT_MVI_500_col (dept_id INT, emp_id INT, payload1 TEXT, payload2 TEXT, payload3 TEXT, payload4 TEXT, payload5 TEXT, payload6 TEXT, payload7 TEXT, payload8 TEXT, payload9 TEXT, payload10 TEXT, payload11 TEXT, payload12 TEXT, payload13 TEXT, payload14 TEXT, payload15 TEXT, payload16 TEXT, payload17 TEXT, payload18 TEXT, payload19 TEXT, payload20 TEXT, payload21 TEXT, payload22 TEXT, payload23 TEXT, payload24 TEXT, payload25 TEXT, payload26 TEXT, payload27 TEXT, payload28 TEXT, payload29 TEXT, payload30 TEXT, payload31 TEXT, payload32 TEXT, payload33 TEXT, payload34 TEXT, payload35 TEXT, payload36 TEXT, payload37 TEXT, payload38 TEXT, payload39 TEXT, payload40 TEXT, payload41 TEXT, payload42 TEXT, payload43 TEXT, payload44 TEXT, payload45 TEXT, payload46 TEXT, payload47 TEXT, payload48 TEXT, payload49 TEXT, payload50 TEXT, payload51 TEXT, payload52 TEXT, payload53 TEXT, payload54 TEXT, payload55 TEXT, payload56 TEXT, payload57 TEXT, payload58 TEXT, payload59 TEXT, payload60 TEXT, payload61 TEXT, payload62 TEXT, payload63 TEXT, payload64 TEXT, payload65 TEXT, payload66 TEXT, payload67 TEXT, payload68 TEXT, payload69 TEXT, payload70 TEXT, payload71 TEXT, payload72 TEXT, payload73 TEXT, payload74 TEXT, payload75 TEXT, payload76 TEXT, payload77 TEXT, payload78 TEXT, payload79 TEXT, payload80 TEXT, payload81 TEXT, payload82 TEXT, payload83 TEXT, payload84 TEXT, payload85 TEXT, payload86 TEXT, payload87 TEXT, payload88 TEXT, payload89 TEXT, payload90 TEXT, payload91 TEXT, payload92 TEXT, payload93 TEXT, payload94 TEXT, payload95 TEXT, payload96 TEXT, payload97 TEXT, payload98 TEXT, payload99 TEXT, payload100 TEXT, payload101 TEXT, payload102 TEXT, payload103 TEXT, payload104 TEXT, payload105 TEXT, payload106 TEXT, payload107 TEXT, payload108 TEXT, payload109 TEXT, payload110 TEXT, payload111 TEXT, payload112 TEXT, payload113 TEXT, payload114 TEXT, payload115 TEXT, payload116 TEXT, payload117 TEXT, payload118 TEXT, payload119 TEXT, payload120 TEXT, payload121 TEXT, payload122 TEXT, payload123 TEXT, payload124 TEXT, payload125 TEXT, payload126 TEXT, payload127 TEXT, payload128 TEXT, payload129 TEXT, payload130 TEXT, payload131 TEXT, payload132 TEXT, payload133 TEXT, payload134 TEXT, payload135 TEXT, payload136 TEXT, payload137 TEXT, payload138 TEXT, payload139 TEXT, payload140 TEXT, payload141 TEXT, payload142 TEXT, payload143 TEXT, payload144 TEXT, payload145 TEXT, payload146 TEXT, payload147 TEXT, payload148 TEXT, payload149 TEXT, payload150 TEXT, payload151 TEXT, payload152 TEXT, payload153 TEXT, payload154 TEXT, payload155 TEXT, payload156 TEXT, payload157 TEXT, payload158 TEXT, payload159 TEXT, payload160 TEXT, payload161 TEXT, payload162 TEXT, payload163 TEXT, payload164 TEXT, payload165 TEXT, payload166 TEXT, payload167 TEXT, payload168 TEXT, payload169 TEXT, payload170 TEXT, payload171 TEXT, payload172 TEXT, payload173 TEXT, payload174 TEXT, payload175 TEXT, payload176 TEXT, payload177 TEXT, payload178 TEXT, payload179 TEXT, payload180 TEXT, payload181 TEXT, payload182 TEXT, payload183 TEXT, payload184 TEXT, payload185 TEXT, payload186 TEXT, payload187 TEXT, payload188 TEXT, payload189 TEXT, payload190 TEXT, payload191 TEXT, payload192 TEXT, payload193 TEXT, payload194 TEXT, payload195 TEXT, payload196 TEXT, payload197 TEXT, payload198 TEXT, payload199 TEXT, payload200 TEXT, payload201 TEXT, payload202 TEXT, payload203 TEXT, payload204 TEXT, payload205 TEXT, payload206 TEXT, payload207 TEXT, payload208 TEXT, payload209 TEXT, payload210 TEXT, payload211 TEXT, payload212 TEXT, payload213 TEXT, payload214 TEXT, payload215 TEXT, payload216 TEXT, payload217 TEXT, payload218 TEXT, payload219 TEXT, payload220 TEXT, payload221 TEXT, payload222 TEXT, payload223 TEXT, payload224 TEXT, payload225 TEXT, payload226 TEXT, payload227 TEXT, payload228 TEXT, payload229 TEXT, payload230 TEXT, payload231 TEXT, payload232 TEXT, payload233 TEXT, payload234 TEXT, payload235 TEXT, payload236 TEXT, payload237 TEXT, payload238 TEXT, payload239 TEXT, payload240 TEXT, payload241 TEXT, payload242 TEXT, payload243 TEXT, payload244 TEXT, payload245 TEXT, payload246 TEXT, payload247 TEXT, payload248 TEXT, payload249 TEXT, payload250 TEXT, payload251 TEXT, payload252 TEXT, payload253 TEXT, payload254 TEXT, payload255 TEXT, payload256 TEXT, payload257 TEXT, payload258 TEXT, payload259 TEXT, payload260 TEXT, payload261 TEXT, payload262 TEXT, payload263 TEXT, payload264 TEXT, payload265 TEXT, payload266 TEXT, payload267 TEXT, payload268 TEXT, payload269 TEXT, payload270 TEXT, payload271 TEXT, payload272 TEXT, payload273 TEXT, payload274 TEXT, payload275 TEXT, payload276 TEXT, payload277 TEXT, payload278 TEXT, payload279 TEXT, payload280 TEXT, payload281 TEXT, payload282 TEXT, payload283 TEXT, payload284 TEXT, payload285 TEXT, payload286 TEXT, payload287 TEXT, payload288 TEXT, payload289 TEXT, payload290 TEXT, payload291 TEXT, payload292 TEXT, payload293 TEXT, payload294 TEXT, payload295 TEXT, payload296 TEXT, payload297 TEXT, payload298 TEXT, payload299 TEXT, payload300 TEXT, payload301 TEXT, payload302 TEXT, payload303 TEXT, payload304 TEXT, payload305 TEXT, payload306 TEXT, payload307 TEXT, payload308 TEXT, payload309 TEXT, payload310 TEXT, payload311 TEXT, payload312 TEXT, payload313 TEXT, payload314 TEXT, payload315 TEXT, payload316 TEXT, payload317 TEXT, payload318 TEXT, payload319 TEXT, payload320 TEXT, payload321 TEXT, payload322 TEXT, payload323 TEXT, payload324 TEXT, payload325 TEXT, payload326 TEXT, payload327 TEXT, payload328 TEXT, payload329 TEXT, payload330 TEXT, payload331 TEXT, payload332 TEXT, payload333 TEXT, payload334 TEXT, payload335 TEXT, payload336 TEXT, payload337 TEXT, payload338 TEXT, payload339 TEXT, payload340 TEXT, payload341 TEXT, payload342 TEXT, payload343 TEXT, payload344 TEXT, payload345 TEXT, payload346 TEXT, payload347 TEXT, payload348 TEXT, payload349 TEXT, payload350 TEXT, payload351 TEXT, payload352 TEXT, payload353 TEXT, payload354 TEXT, payload355 TEXT, payload356 TEXT, payload357 TEXT, payload358 TEXT, payload359 TEXT, payload360 TEXT, payload361 TEXT, payload362 TEXT, payload363 TEXT, payload364 TEXT, payload365 TEXT, payload366 TEXT, payload367 TEXT, payload368 TEXT, payload369 TEXT, payload370 TEXT, payload371 TEXT, payload372 TEXT, payload373 TEXT, payload374 TEXT, payload375 TEXT, payload376 TEXT, payload377 TEXT, payload378 TEXT, payload379 TEXT, payload380 TEXT, payload381 TEXT, payload382 TEXT, payload383 TEXT, payload384 TEXT, payload385 TEXT, payload386 TEXT, payload387 TEXT, payload388 TEXT, payload389 TEXT, payload390 TEXT, payload391 TEXT, payload392 TEXT, payload393 TEXT, payload394 TEXT, payload395 TEXT, payload396 TEXT, payload397 TEXT, payload398 TEXT, payload399 TEXT, payload400 TEXT, payload401 TEXT, payload402 TEXT, payload403 TEXT, payload404 TEXT, payload405 TEXT, payload406 TEXT, payload407 TEXT, payload408 TEXT, payload409 TEXT, payload410 TEXT, payload411 TEXT, payload412 TEXT, payload413 TEXT, payload414 TEXT, payload415 TEXT, payload416 TEXT, payload417 TEXT, payload418 TEXT, payload419 TEXT, payload420 TEXT, payload421 TEXT, payload422 TEXT, payload423 TEXT, payload424 TEXT, payload425 TEXT, payload426 TEXT, payload427 TEXT, payload428 TEXT, payload429 TEXT, payload430 TEXT, payload431 TEXT, payload432 TEXT, payload433 TEXT, payload434 TEXT, payload435 TEXT, payload436 TEXT, payload437 TEXT, payload438 TEXT, payload439 TEXT, payload440 TEXT, payload441 TEXT, payload442 TEXT, payload443 TEXT, payload444 TEXT, payload445 TEXT, payload446 TEXT, payload447 TEXT, payload448 TEXT, payload449 TEXT, payload450 TEXT, payload451 TEXT, payload452 TEXT, payload453 TEXT, payload454 TEXT, payload455 TEXT, payload456 TEXT, payload457 TEXT, payload458 TEXT, payload459 TEXT, payload460 TEXT, payload461 TEXT, payload462 TEXT, payload463 TEXT, payload464 TEXT, payload465 TEXT, payload466 TEXT, payload467 TEXT, payload468 TEXT, payload469 TEXT, payload470 TEXT, payload471 TEXT, payload472 TEXT, payload473 TEXT, payload474 TEXT, payload475 TEXT, payload476 TEXT, payload477 TEXT, payload478 TEXT, payload479 TEXT, payload480 TEXT, payload481 TEXT, payload482 TEXT, payload483 TEXT, payload484 TEXT, payload485 TEXT, payload486 TEXT, payload487 TEXT, payload488 TEXT, payload489 TEXT, payload490 TEXT, payload491 TEXT, payload492 TEXT, payload493 TEXT, payload494 TEXT, payload495 TEXT, payload496 TEXT, payload497 TEXT, payload498 TEXT, payload499 TEXT, payload500 TEXT, PRIMARY KEY(dept_id ASC, emp_id ASC)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_500_col;
+
+ loadRules:
+ - table: THRPT_MVI_500_col
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: payload
+ count: 500
+ util: RandomAString
+ params: [2, 2]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_500cols
+ run:
+ - name: THRPT_multivalue_insert_500cols
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_500_col VALUES [(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ count: 500
+ params: [2, 2]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_100KB_row.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_100KB_row.yaml
new file mode 100644
index 000000000..9af63bab1
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_100KB_row.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 64
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_100KB_row_size;
+ - CREATE TABLE THRPT_MVI_100KB_row_size (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id asc, emp_id asc)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_100KB_row_size;
+
+ loadRules:
+ - table: THRPT_MVI_100KB_row_size
+ rows: 100000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 100000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [51200, 51200]
+ - name: details
+ util: RandomAString
+ params: [51200, 51200]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_100KB_row
+ run:
+ - name: THRPT_multivalue_insert_100KB_row
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_100KB_row_size VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [100001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [51200, 51200]
+ - util: RandomAString
+ params: [51200, 51200]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_10KB_row.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_10KB_row.yaml
new file mode 100644
index 000000000..b21855cb6
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_10KB_row.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_10KB_row_size;
+ - CREATE TABLE THRPT_MVI_10KB_row_size (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id asc, emp_id asc)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_10KB_row_size;
+
+ loadRules:
+ - table: THRPT_MVI_10KB_row_size
+ rows: 1000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 1000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [5120, 5120]
+ - name: details
+ util: RandomAString
+ params: [5120, 5120]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_10KB_row
+ run:
+ - name: THRPT_multivalue_insert_10KB_row
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_10KB_row_size VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [1000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [5120, 5120]
+ - util: RandomAString
+ params: [5120, 5120]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_1MB_row.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_1MB_row.yaml
new file mode 100644
index 000000000..899aacb92
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_MVI_varying_row_size/THRPT_multivalue_insert_1MB_row.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 8
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_MVI_1MB_row_size;
+ - CREATE TABLE THRPT_MVI_1MB_row_size (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id asc, emp_id asc)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_MVI_1MB_row_size;
+
+ loadRules:
+ - table: THRPT_MVI_1MB_row_size
+ rows: 10000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512000, 512000]
+ - name: details
+ util: RandomAString
+ params: [512000, 512000]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_multivalue_insert_1MB_row
+ run:
+ - name: THRPT_multivalue_insert_1MB_row
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_MVI_1MB_row_size VALUES [(?,?,?,?,?,?,?,?,?,?,?)][pattern_count]
+ pattern_count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512000, 512000]
+ - util: RandomAString
+ params: [512000, 512000]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_100_rows.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_100_rows.yaml
new file mode 100644
index 000000000..235721904
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_100_rows.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS THRPT_100_single_inserts;
+ - CREATE TABLE THRPT_100_single_inserts (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id asc, emp_id asc)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_100_single_inserts;
+
+ loadRules:
+ - table: THRPT_100_single_inserts
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_single_inserts_100_rows
+ run:
+ - name: THRPT_single_inserts_100_rows
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_100_single_inserts VALUES (?,?,?,?,?,?,?,?,?,?,?);
+ count: 100
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_10_rows.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_10_rows.yaml
new file mode 100644
index 000000000..9eb6c0e9c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_10_rows.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS THRPT_10_single_inserts;
+ - CREATE TABLE THRPT_10_single_inserts (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id asc, emp_id asc)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_10_single_inserts;
+
+ loadRules:
+ - table: THRPT_10_single_inserts
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_single_inserts_10_rows
+ run:
+ - name: THRPT_single_inserts_10_rows
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_10_single_inserts VALUES (?,?,?,?,?,?,?,?,?,?,?);
+ count: 10
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
diff --git a/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_1K_rows.yaml b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_1K_rows.yaml
new file mode 100644
index 000000000..8b43beb36
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/throughput_write_workloads/yugabyte/THRPT_single_insert_varying_txn_size/THRPT_single_inserts_1K_rows.yaml
@@ -0,0 +1,100 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+targetCPU: 80
+toleranceCPU: 5
+optimalThreads: true
+samplingTime: 180
+useThroughputThreshold: true
+restingTimeSecs: 360
+works:
+ work:
+ time_secs: 900
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS THRPT_1K_single_inserts;
+ - CREATE TABLE THRPT_1K_single_inserts (dept_id INT, emp_id INT, name VARCHAR(10), email VARCHAR(20), salary FLOAT, hire_date DATE, department VARCHAR(20), payload TEXT, details TEXT, is_active BOOLEAN, last_login TIMESTAMP, primary key(dept_id asc, emp_id asc)) SPLIT AT VALUES ((4), (7));
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_1K_single_inserts;
+
+ loadRules:
+ - table: THRPT_1K_single_inserts
+ rows: 10000000
+ columns:
+ - name: dept_id
+ util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - name: emp_id
+ util: PrimaryIntGenThroughput
+ params: [1, 10000000]
+ - name: name
+ util: RandomAString
+ params: [10, 10]
+ - name: email
+ util: RandomAString
+ params: [20, 20]
+ - name: salary
+ util: RandomFloat
+ params: [1, 100000, 2]
+ - name: hire_date
+ util: RandomDate
+ params: [2000, 2026]
+ - name: department
+ util: RandomAString
+ params: [20, 20]
+ - name: payload
+ util: RandomAString
+ params: [512, 512]
+ - name: details
+ util: RandomAString
+ params: [512, 512]
+ - name: is_active
+ util: RandomBoolean
+ - name: last_login
+ util: RandomTimestamp
+ params: [10000000]
+
+ executeRules:
+ - workload: THRPT_single_inserts_1K_rows
+ run:
+ - name: THRPT_single_inserts_1K_rows
+ weight: 100
+ queries:
+ - query: INSERT INTO THRPT_1K_single_inserts VALUES (?,?,?,?,?,?,?,?,?,?,?);
+ count: 1000
+ bindings:
+ - util: RandomUniqueCyclicIntGen
+ params: [1,9,1]
+ - util: PrimaryIntGenThroughput
+ params: [10000001, 2147483646]
+ - util: RandomAString
+ params: [10, 10]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomFloat
+ params: [1, 100000, 2]
+ - util: RandomDate
+ params: [2000, 2026]
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomAString
+ params: [512, 512]
+ - util: RandomBoolean
+ - util: RandomTimestamp
+ params: [10000000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/postgres/delete_1536d_single_indexed.yaml b/config/yugabyte/regression_pipelines/vector_workloads/postgres/delete_1536d_single_indexed.yaml
new file mode 100644
index 000000000..e49d4c0dc
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/postgres/delete_1536d_single_indexed.yaml
@@ -0,0 +1,56 @@
+# Vector Delete - 1536D, single row delete with HNSW index
+# Following VectorDBBench naming conventions
+# Configuration: dimension=1536, operation=delete, deletetype=single, indexed=true
+
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_delete_1536d_indexed;
+ - CREATE TABLE vector_delete_1536d_indexed (id bigint PRIMARY KEY, embedding vector(1536));
+ - CREATE INDEX ON vector_delete_1536d_indexed USING hnsw (embedding vector_ip_ops)
+ WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_delete_1536d_indexed;
+ loadRules:
+ - table: vector_delete_1536d_indexed
+ rows: 200000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 200000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 42]
+ executeRules:
+ - workload: delete_1536d_single_indexed
+ customTags: dim=1536,operation=delete,deletetype=single,indexed=true
+ run:
+ - name: delete_single_row
+ weight: 100
+ queries:
+ - query: DELETE FROM vector_delete_1536d_indexed WHERE id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [1, 200000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/postgres/delete_512d_single_indexed.yaml b/config/yugabyte/regression_pipelines/vector_workloads/postgres/delete_512d_single_indexed.yaml
new file mode 100644
index 000000000..07d5d7302
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/postgres/delete_512d_single_indexed.yaml
@@ -0,0 +1,55 @@
+# Vector Delete - 512D, single row delete with HNSW index
+# Following VectorDBBench naming conventions
+# Configuration: dimension=512, operation=delete, deletetype=single, indexed=true
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_delete_512d_indexed;
+ - CREATE TABLE vector_delete_512d_indexed (id bigint PRIMARY KEY, embedding vector(512));
+ - CREATE INDEX ON vector_delete_512d_indexed USING hnsw (embedding vector_l2_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_delete_512d_indexed;
+ loadRules:
+ - table: vector_delete_512d_indexed
+ rows: 200000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 200000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: delete_512d_single_indexed
+ customTags: dim=512,operation=delete,deletetype=single,indexed=true
+ run:
+ - name: delete_single_row
+ weight: 100
+ queries:
+ - query: DELETE FROM vector_delete_512d_indexed WHERE id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [1, 200000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/postgres/delete_768d_single_indexed.yaml b/config/yugabyte/regression_pipelines/vector_workloads/postgres/delete_768d_single_indexed.yaml
new file mode 100644
index 000000000..1e8f28505
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/postgres/delete_768d_single_indexed.yaml
@@ -0,0 +1,55 @@
+# Vector Delete - 768D, single row delete with HNSW index
+# Following VectorDBBench naming conventions
+# Configuration: dimension=768, operation=delete, deletetype=single, indexed=true
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_delete_768d_indexed;
+ - CREATE TABLE vector_delete_768d_indexed (id bigint PRIMARY KEY, embedding vector(768));
+ - CREATE INDEX ON vector_delete_768d_indexed USING hnsw (embedding vector_cosine_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_delete_768d_indexed;
+ loadRules:
+ - table: vector_delete_768d_indexed
+ rows: 200000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 200000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: delete_768d_single_indexed
+ customTags: dim=768,operation=delete,deletetype=single,indexed=true
+ run:
+ - name: delete_single_row
+ weight: 100
+ queries:
+ - query: DELETE FROM vector_delete_768d_indexed WHERE id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [1, 200000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/postgres/insert_1536d_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/postgres/insert_1536d_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..849f8ef49
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/postgres/insert_1536d_indexed_m16_ef200.yaml
@@ -0,0 +1,57 @@
+# Vector Insert - 1536D, with HNSW index (m=16, ef_construction=200), Inner Product distance
+# Following VectorDBBench naming conventions
+# Configuration: dimension=1536, operation=insert, indexed=true, m=16, ef_construction=200, distance=ip
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_insert_1536d_indexed;
+ - CREATE TABLE vector_insert_1536d_indexed (id bigint PRIMARY KEY, embedding vector(1536));
+ - CREATE INDEX ON vector_insert_1536d_indexed USING hnsw (embedding vector_ip_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_insert_1536d_indexed;
+ loadRules:
+ - table: vector_insert_1536d_indexed
+ rows: 50000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 50000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: insert_1536d_indexed_m16_ef200
+ customTags: dim=1536,operation=insert,indexed=true,m=16,ef_construction=200,distance=ip
+ run:
+ - name: insert_vector_with_index
+ weight: 100
+ queries:
+ - query: INSERT INTO vector_insert_1536d_indexed (id, embedding) VALUES (?, ?::vector(1536))
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [50001, 500000]
+ - util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 42]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/postgres/insert_512d_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/postgres/insert_512d_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..460b42b11
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/postgres/insert_512d_indexed_m16_ef200.yaml
@@ -0,0 +1,57 @@
+# Vector Insert - 512D, with HNSW index (m=16, ef_construction=200)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=512, operation=insert, indexed=true, m=16, ef_construction=200
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_insert_512d_indexed;
+ - CREATE TABLE vector_insert_512d_indexed (id bigint PRIMARY KEY, embedding vector(512));
+ - CREATE INDEX ON vector_insert_512d_indexed USING hnsw (embedding vector_l2_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_insert_512d_indexed;
+ loadRules:
+ - table: vector_insert_512d_indexed
+ rows: 50000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 50000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: insert_512d_indexed_m16_ef200
+ customTags: dim=512,operation=insert,indexed=true,m=16,ef_construction=200
+ run:
+ - name: insert_vector_with_index
+ weight: 100
+ queries:
+ - query: INSERT INTO vector_insert_512d_indexed (id, embedding) VALUES (?, ?::vector(512))
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [50001, 500000]
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 42]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/postgres/insert_768d_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/postgres/insert_768d_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..1c7ab6369
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/postgres/insert_768d_indexed_m16_ef200.yaml
@@ -0,0 +1,57 @@
+# Vector Insert - 768D, with HNSW index (m=16, ef_construction=200), Cosine distance
+# Following VectorDBBench naming conventions
+# Configuration: dimension=768, operation=insert, indexed=true, m=16, ef_construction=200, distance=cosine
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_insert_768d_indexed;
+ - CREATE TABLE vector_insert_768d_indexed (id bigint PRIMARY KEY, embedding vector(768));
+ - CREATE INDEX ON vector_insert_768d_indexed USING hnsw (embedding vector_cosine_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_insert_768d_indexed;
+ loadRules:
+ - table: vector_insert_768d_indexed
+ rows: 50000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 50000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: insert_768d_indexed_m16_ef200
+ customTags: dim=768,operation=insert,indexed=true,m=16,ef_construction=200,distance=cosine
+ run:
+ - name: insert_vector_with_index
+ weight: 100
+ queries:
+ - query: INSERT INTO vector_insert_768d_indexed (id, embedding) VALUES (?, ?::vector(768))
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [50001, 500000]
+ - util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 42]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/postgres/search_128d_100k_ip_allfilters.yaml b/config/yugabyte/regression_pipelines/vector_workloads/postgres/search_128d_100k_ip_allfilters.yaml
new file mode 100644
index 000000000..056ac0835
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/postgres/search_128d_100k_ip_allfilters.yaml
@@ -0,0 +1,100 @@
+# Vector Search - 128D, 100K vectors, Inner Product distance, All Filter Types
+# Following VectorDBBench naming conventions
+# Configuration: dimension=128, magnitude=100k, distance=ip, filters=all
+# Tests: nofilter, low_filter_1p (1% filtered out), high_filter_99p (99% filtered out)
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_search_128d_100k;
+ - CREATE TABLE vector_search_128d_100k (id bigint PRIMARY KEY, embedding vector(128), metadata text, category int);
+ - CREATE INDEX ON vector_search_128d_100k USING hnsw (embedding vector_ip_ops) WITH (m=16, ef_construction=200);
+ - CREATE INDEX ON vector_search_128d_100k (category);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_search_128d_100k;
+ loadRules:
+ - table: vector_search_128d_100k
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: RandomFloatArrayGen
+ params: [128, -1.0, 1.0]
+ - name: metadata
+ util: RandomAString
+ params: [50, 100]
+ - name: category
+ util: RandomNumber
+ params: [1, 100]
+
+ executeRules:
+ # Test 1: No Filter - Pure ANN search
+ - workload: search_128d_100k_ip_nofilter
+ customTags: dim=128,magnitude=100k,distance=ip,filter=none,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_ip_nofilter
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <#> ?::vector(128) as neg_inner_product FROM vector_search_128d_100k ORDER BY embedding <#> ?::vector(128) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+
+ # Test 2: Low Filter 1P - 1% of data filtered out (~99% eligible, easy search)
+ - workload: search_128d_100k_ip_low_filter_1p
+ customTags: dim=128,magnitude=100k,distance=ip,filter=low_1pct_out_1p,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_ip_low_filter_1p
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <#> ?::vector(128) as neg_inner_product FROM vector_search_128d_100k WHERE category <= ? ORDER BY embedding <#> ?::vector(128) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+ - util: SeededRandomNumber
+ params: [95, 100, 99999]
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+
+ # Test 3: High Filter 99P - 99% of data filtered out (~1% eligible, hard search)
+ - workload: search_128d_100k_ip_high_filter_99p
+ customTags: dim=128,magnitude=100k,distance=ip,filter=high_99pct_out_99p,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_ip_high_filter_99p
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <#> ?::vector(128) as neg_inner_product FROM vector_search_128d_100k WHERE category = ? ORDER BY embedding <#> ?::vector(128) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+ - util: RandomNumber
+ params: [1, 100]
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/postgres/search_1536d_50k_cosine_nofilter.yaml b/config/yugabyte/regression_pipelines/vector_workloads/postgres/search_1536d_50k_cosine_nofilter.yaml
new file mode 100644
index 000000000..ea4c977fd
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/postgres/search_1536d_50k_cosine_nofilter.yaml
@@ -0,0 +1,63 @@
+# Vector Search - 1536D, 50K vectors, Cosine distance, No Filter (OpenAI embeddings)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=1536, magnitude=50k, filter=none, distance=cosine, ef_construction=200, m=16
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_search_1536d_50k;
+ - CREATE TABLE vector_search_1536d_50k (id bigint PRIMARY KEY, embedding vector(1536), metadata text, category int);
+ - CREATE INDEX ON vector_search_1536d_50k USING hnsw (embedding vector_cosine_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_search_1536d_50k;
+ loadRules:
+ - table: vector_search_1536d_50k
+ rows: 50000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 50000]
+ - name: embedding
+ util: RandomFloatArrayGen
+ params: [1536, -1.0, 1.0]
+ - name: metadata
+ util: RandomAString
+ params: [50, 100]
+ - name: category
+ util: RandomNumber
+ params: [1, 10]
+
+ executeRules:
+ - workload: search_1536d_50k_cosine_nofilter
+ customTags: dim=1536,magnitude=50k,distance=cosine,filter=none,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_cosine
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, 1 - (embedding <=> ?::vector(1536)) as similarity FROM vector_search_1536d_50k ORDER BY embedding <=> ?::vector(1536) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 99999]
+ - util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 99999]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/postgres/search_512d_100k_l2_allfilters.yaml b/config/yugabyte/regression_pipelines/vector_workloads/postgres/search_512d_100k_l2_allfilters.yaml
new file mode 100644
index 000000000..132492c3e
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/postgres/search_512d_100k_l2_allfilters.yaml
@@ -0,0 +1,100 @@
+# Vector Search - 512D, 100K vectors, L2 distance, All Filter Types
+# Following VectorDBBench naming conventions
+# Configuration: dimension=512, magnitude=100k, distance=l2, filters=all
+# Tests: nofilter, low_filter_1p (1% filtered out), high_filter_99p (99% filtered out)
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_search_512d_100k;
+ - CREATE TABLE vector_search_512d_100k (id bigint PRIMARY KEY, embedding vector(512), metadata text, category int);
+ - CREATE INDEX ON vector_search_512d_100k USING hnsw (embedding vector_l2_ops) WITH (m=16, ef_construction=200);
+ - CREATE INDEX ON vector_search_512d_100k (category);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_search_512d_100k;
+ loadRules:
+ - table: vector_search_512d_100k
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: RandomFloatArrayGen
+ params: [512, -1.0, 1.0]
+ - name: metadata
+ util: RandomAString
+ params: [50, 100]
+ - name: category
+ util: RandomNumber
+ params: [1, 100]
+
+ executeRules:
+ # Test 1: No Filter - Pure ANN search
+ - workload: search_512d_100k_l2_nofilter
+ customTags: dim=512,magnitude=100k,distance=l2,filter=none,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_l2_nofilter
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <-> ?::vector(512) as distance FROM vector_search_512d_100k ORDER BY embedding <-> ?::vector(512) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+
+ # Test 2: Low Filter 1P - 1% of data filtered out (~99% eligible, easy search)
+ - workload: search_512d_100k_l2_low_filter_1p
+ customTags: dim=512,magnitude=100k,distance=l2,filter=low_1pct_out_1p,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_l2_low_filter_1p
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <-> ?::vector(512) as distance FROM vector_search_512d_100k WHERE category <= ? ORDER BY embedding <-> ?::vector(512) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+ - util: SeededRandomNumber
+ params: [95, 100, 99999]
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+
+ # Test 3: High Filter 99P - 99% of data filtered out (~1% eligible, hard search)
+ - workload: search_512d_100k_l2_high_filter_99p
+ customTags: dim=512,magnitude=100k,distance=l2,filter=high_99pct_out_99p,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_l2_high_filter_99p
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <-> ?::vector(512) as distance FROM vector_search_512d_100k WHERE category = ? ORDER BY embedding <-> ?::vector(512) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+ - util: RandomNumber
+ params: [1, 100]
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/postgres/update_1536d_embedding_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/postgres/update_1536d_embedding_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..d7354b234
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/postgres/update_1536d_embedding_indexed_m16_ef200.yaml
@@ -0,0 +1,57 @@
+# Vector Update - 1536D, update embedding with HNSW index (Inner Product distance)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=1536, operation=update, column=embedding, indexed=true, m=16, ef_construction=200, distance=ip
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_update_1536d_indexed;
+ - CREATE TABLE vector_update_1536d_indexed (id bigint PRIMARY KEY, embedding vector(1536));
+ - CREATE INDEX ON vector_update_1536d_indexed USING hnsw (embedding vector_ip_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_update_1536d_indexed;
+ loadRules:
+ - table: vector_update_1536d_indexed
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: update_1536d_embedding_indexed_m16_ef200
+ customTags: dim=1536,operation=update,column=embedding,indexed=true,m=16,ef_construction=200,distance=ip
+ run:
+ - name: update_vector_with_index
+ weight: 100
+ queries:
+ - query: UPDATE vector_update_1536d_indexed SET embedding = ?::vector(1536) WHERE id = ?
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 43]
+ - util: RandomNumber
+ params: [1, 100000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/postgres/update_512d_embedding_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/postgres/update_512d_embedding_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..6f44bc31b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/postgres/update_512d_embedding_indexed_m16_ef200.yaml
@@ -0,0 +1,57 @@
+# Vector Update - 512D, update embedding with HNSW index (L2 distance)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=512, operation=update, column=embedding, indexed=true, m=16, ef_construction=200, distance=l2
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_update_512d_indexed;
+ - CREATE TABLE vector_update_512d_indexed (id bigint PRIMARY KEY, embedding vector(512));
+ - CREATE INDEX ON vector_update_512d_indexed USING hnsw (embedding vector_l2_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_update_512d_indexed;
+ loadRules:
+ - table: vector_update_512d_indexed
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: update_512d_embedding_indexed_m16_ef200
+ customTags: dim=512,operation=update,column=embedding,indexed=true,m=16,ef_construction=200,distance=l2
+ run:
+ - name: update_vector_with_index
+ weight: 100
+ queries:
+ - query: UPDATE vector_update_512d_indexed SET embedding = ?::vector(512) WHERE id = ?
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 43]
+ - util: RandomNumber
+ params: [1, 100000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/postgres/update_768d_embedding_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/postgres/update_768d_embedding_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..8847af2c9
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/postgres/update_768d_embedding_indexed_m16_ef200.yaml
@@ -0,0 +1,57 @@
+# Vector Update - 768D, update embedding with HNSW index (Cosine distance)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=768, operation=update, column=embedding, indexed=true, m=16, ef_construction=200, distance=cosine
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_update_768d_indexed;
+ - CREATE TABLE vector_update_768d_indexed (id bigint PRIMARY KEY, embedding vector(768));
+ - CREATE INDEX ON vector_update_768d_indexed USING hnsw (embedding vector_cosine_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_update_768d_indexed;
+ loadRules:
+ - table: vector_update_768d_indexed
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: update_768d_embedding_indexed_m16_ef200
+ customTags: dim=768,operation=update,column=embedding,indexed=true,m=16,ef_construction=200,distance=cosine
+ run:
+ - name: update_vector_with_index
+ weight: 100
+ queries:
+ - query: UPDATE vector_update_768d_indexed SET embedding = ?::vector(768) WHERE id = ?
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 43]
+ - util: RandomNumber
+ params: [1, 100000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/delete_1536d_single_indexed.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/delete_1536d_single_indexed.yaml
new file mode 100644
index 000000000..ea21e5f3c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/delete_1536d_single_indexed.yaml
@@ -0,0 +1,56 @@
+# Vector Delete - 1536D, single row delete with HNSW index
+# Following VectorDBBench naming conventions
+# Configuration: dimension=1536, operation=delete, deletetype=single, indexed=true
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_delete_1536d_indexed;
+ - CREATE TABLE vector_delete_1536d_indexed (id bigint PRIMARY KEY, embedding vector(1536));
+ - CREATE INDEX ON vector_delete_1536d_indexed USING ybhnsw (embedding vector_ip_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_delete_1536d_indexed;
+ loadRules:
+ - table: vector_delete_1536d_indexed
+ rows: 200000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 200000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: delete_1536d_single_indexed
+ customTags: dim=1536,operation=delete,deletetype=single,indexed=true
+ run:
+ - name: delete_single_row
+ weight: 100
+ queries:
+ - query: DELETE FROM vector_delete_1536d_indexed WHERE id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [1, 200000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/delete_512d_single_indexed.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/delete_512d_single_indexed.yaml
new file mode 100644
index 000000000..728995291
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/delete_512d_single_indexed.yaml
@@ -0,0 +1,56 @@
+# Vector Delete - 512D, single row delete with HNSW index
+# Following VectorDBBench naming conventions
+# Configuration: dimension=512, operation=delete, deletetype=single, indexed=true
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_delete_512d_indexed;
+ - CREATE TABLE vector_delete_512d_indexed (id bigint PRIMARY KEY, embedding vector(512));
+ - CREATE INDEX ON vector_delete_512d_indexed USING ybhnsw (embedding vector_l2_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_delete_512d_indexed;
+ loadRules:
+ - table: vector_delete_512d_indexed
+ rows: 200000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 200000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: delete_512d_single_indexed
+ customTags: dim=512,operation=delete,deletetype=single,indexed=true
+ run:
+ - name: delete_single_row
+ weight: 100
+ queries:
+ - query: DELETE FROM vector_delete_512d_indexed WHERE id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [1, 200000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/delete_768d_single_indexed.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/delete_768d_single_indexed.yaml
new file mode 100644
index 000000000..c50bb7ec5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/delete_768d_single_indexed.yaml
@@ -0,0 +1,56 @@
+# Vector Delete - 768D, single row delete with HNSW index
+# Following VectorDBBench naming conventions
+# Configuration: dimension=768, operation=delete, deletetype=single, indexed=true
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_delete_768d_indexed;
+ - CREATE TABLE vector_delete_768d_indexed (id bigint PRIMARY KEY, embedding vector(768));
+ - CREATE INDEX ON vector_delete_768d_indexed USING ybhnsw (embedding vector_cosine_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_delete_768d_indexed;
+ loadRules:
+ - table: vector_delete_768d_indexed
+ rows: 200000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 200000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: delete_768d_single_indexed
+ customTags: dim=768,operation=delete,deletetype=single,indexed=true
+ run:
+ - name: delete_single_row
+ weight: 100
+ queries:
+ - query: DELETE FROM vector_delete_768d_indexed WHERE id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [1, 200000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/insert_1536d_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/insert_1536d_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..813a8a79a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/insert_1536d_indexed_m16_ef200.yaml
@@ -0,0 +1,58 @@
+# Vector Insert - 1536D, with HNSW index (m=16, ef_construction=200), Inner Product distance
+# Following VectorDBBench naming conventions
+# Configuration: dimension=1536, operation=insert, indexed=true, m=16, ef_construction=200, distance=ip
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_insert_1536d_indexed;
+ - CREATE TABLE vector_insert_1536d_indexed (id bigint PRIMARY KEY, embedding vector(1536));
+ - CREATE INDEX ON vector_insert_1536d_indexed USING ybhnsw (embedding vector_ip_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_insert_1536d_indexed;
+ loadRules:
+ - table: vector_insert_1536d_indexed
+ rows: 50000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 50000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: insert_1536d_indexed_m16_ef200
+ customTags: dim=1536,operation=insert,indexed=true,m=16,ef_construction=200,distance=ip
+ run:
+ - name: insert_vector_with_index
+ weight: 100
+ queries:
+ - query: INSERT INTO vector_insert_1536d_indexed (id, embedding) VALUES (?, ?::vector(1536))
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [50001, 500000]
+ - util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 42]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/insert_512d_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/insert_512d_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..5a70ad234
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/insert_512d_indexed_m16_ef200.yaml
@@ -0,0 +1,58 @@
+# Vector Insert - 512D, with HNSW index (m=16, ef_construction=200)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=512, operation=insert, indexed=true, m=16, ef_construction=200
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_insert_512d_indexed;
+ - CREATE TABLE vector_insert_512d_indexed (id bigint PRIMARY KEY, embedding vector(512));
+ - CREATE INDEX ON vector_insert_512d_indexed USING ybhnsw (embedding vector_l2_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_insert_512d_indexed;
+ loadRules:
+ - table: vector_insert_512d_indexed
+ rows: 50000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 50000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: insert_512d_indexed_m16_ef200
+ customTags: dim=512,operation=insert,indexed=true,m=16,ef_construction=200
+ run:
+ - name: insert_vector_with_index
+ weight: 100
+ queries:
+ - query: INSERT INTO vector_insert_512d_indexed (id, embedding) VALUES (?, ?::vector(512))
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [50001, 500000]
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 42]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/insert_768d_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/insert_768d_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..0601150d3
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/insert_768d_indexed_m16_ef200.yaml
@@ -0,0 +1,58 @@
+# Vector Insert - 768D, with HNSW index (m=16, ef_construction=200), Cosine distance
+# Following VectorDBBench naming conventions
+# Configuration: dimension=768, operation=insert, indexed=true, m=16, ef_construction=200, distance=cosine
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_insert_768d_indexed;
+ - CREATE TABLE vector_insert_768d_indexed (id bigint PRIMARY KEY, embedding vector(768));
+ - CREATE INDEX ON vector_insert_768d_indexed USING ybhnsw (embedding vector_cosine_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_insert_768d_indexed;
+ loadRules:
+ - table: vector_insert_768d_indexed
+ rows: 50000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 50000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: insert_768d_indexed_m16_ef200
+ customTags: dim=768,operation=insert,indexed=true,m=16,ef_construction=200,distance=cosine
+ run:
+ - name: insert_vector_with_index
+ weight: 100
+ queries:
+ - query: INSERT INTO vector_insert_768d_indexed (id, embedding) VALUES (?, ?::vector(768))
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [50001, 500000]
+ - util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 42]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/search_128d_100k_ip_allfilters.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/search_128d_100k_ip_allfilters.yaml
new file mode 100644
index 000000000..4042f32b2
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/search_128d_100k_ip_allfilters.yaml
@@ -0,0 +1,101 @@
+# Vector Search - 128D, 100K vectors, Inner Product distance, All Filter Types
+# Following VectorDBBench naming conventions
+# Configuration: dimension=128, magnitude=100k, distance=ip, filters=all
+# Tests: nofilter, low_filter_1p (1% filtered out), high_filter_99p (99% filtered out)
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_search_128d_100k;
+ - CREATE TABLE vector_search_128d_100k (id bigint PRIMARY KEY, embedding vector(128), metadata text, category int);
+ - CREATE INDEX ON vector_search_128d_100k USING ybhnsw (embedding vector_ip_ops) WITH (m=16, ef_construction=200);
+ - CREATE INDEX ON vector_search_128d_100k (category);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_search_128d_100k;
+ loadRules:
+ - table: vector_search_128d_100k
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: RandomFloatArrayGen
+ params: [128, -1.0, 1.0]
+ - name: metadata
+ util: RandomAString
+ params: [50, 100]
+ - name: category
+ util: RandomNumber
+ params: [1, 100]
+
+ executeRules:
+ # Test 1: No Filter - Pure ANN search
+ - workload: search_128d_100k_ip_nofilter
+ customTags: dim=128,magnitude=100k,distance=ip,filter=none,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_ip_nofilter
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <#> ?::vector(128) as neg_inner_product FROM vector_search_128d_100k ORDER BY embedding <#> ?::vector(128) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+
+ # Test 2: Low Filter 1P - 1% of data filtered out (~99% eligible, easy search)
+ - workload: search_128d_100k_ip_low_filter_1p
+ customTags: dim=128,magnitude=100k,distance=ip,filter=low_1pct_out_1p,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_ip_low_filter_1p
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <#> ?::vector(128) as neg_inner_product FROM vector_search_128d_100k WHERE category <= ? ORDER BY embedding <#> ?::vector(128) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+ - util: SeededRandomNumber
+ params: [95, 100, 99999]
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+
+ # Test 3: High Filter 99P - 99% of data filtered out (~1% eligible, hard search)
+ - workload: search_128d_100k_ip_high_filter_99p
+ customTags: dim=128,magnitude=100k,distance=ip,filter=high_99pct_out_99p,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_ip_high_filter_99p
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <#> ?::vector(128) as neg_inner_product FROM vector_search_128d_100k WHERE category = ? ORDER BY embedding <#> ?::vector(128) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+ - util: RandomNumber
+ params: [1, 100]
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/search_1536d_50k_cosine_nofilter.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/search_1536d_50k_cosine_nofilter.yaml
new file mode 100644
index 000000000..bc521eb6a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/search_1536d_50k_cosine_nofilter.yaml
@@ -0,0 +1,64 @@
+# Vector Search - 1536D, 50K vectors, Cosine distance, No Filter (OpenAI embeddings)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=1536, magnitude=50k, filter=none, distance=cosine, ef_construction=200, m=16
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_search_1536d_50k;
+ - CREATE TABLE vector_search_1536d_50k (id bigint PRIMARY KEY, embedding vector(1536), metadata text, category int);
+ - CREATE INDEX ON vector_search_1536d_50k USING ybhnsw (embedding vector_cosine_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_search_1536d_50k;
+ loadRules:
+ - table: vector_search_1536d_50k
+ rows: 50000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 50000]
+ - name: embedding
+ util: RandomFloatArrayGen
+ params: [1536, -1.0, 1.0]
+ - name: metadata
+ util: RandomAString
+ params: [50, 100]
+ - name: category
+ util: RandomNumber
+ params: [1, 10]
+
+ executeRules:
+ - workload: search_1536d_50k_cosine_nofilter
+ customTags: dim=1536,magnitude=50k,distance=cosine,filter=none,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_cosine
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, 1 - (embedding <=> ?::vector(1536)) as similarity FROM vector_search_1536d_50k ORDER BY embedding <=> ?::vector(1536) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 99999]
+ - util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 99999]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/search_512d_100k_l2_allfilters.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/search_512d_100k_l2_allfilters.yaml
new file mode 100644
index 000000000..c23b9b88c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/search_512d_100k_l2_allfilters.yaml
@@ -0,0 +1,101 @@
+# Vector Search - 512D, 100K vectors, L2 distance, All Filter Types
+# Following VectorDBBench naming conventions
+# Configuration: dimension=512, magnitude=100k, distance=l2, filters=all
+# Tests: nofilter, low_filter_1p (1% filtered out), high_filter_99p (99% filtered out)
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_search_512d_100k;
+ - CREATE TABLE vector_search_512d_100k (id bigint PRIMARY KEY, embedding vector(512), metadata text, category int);
+ - CREATE INDEX ON vector_search_512d_100k USING ybhnsw (embedding vector_l2_ops) WITH (m=16, ef_construction=200);
+ - CREATE INDEX ON vector_search_512d_100k (category);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_search_512d_100k;
+ loadRules:
+ - table: vector_search_512d_100k
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: RandomFloatArrayGen
+ params: [512, -1.0, 1.0]
+ - name: metadata
+ util: RandomAString
+ params: [50, 100]
+ - name: category
+ util: RandomNumber
+ params: [1, 100]
+
+ executeRules:
+ # Test 1: No Filter - Pure ANN search
+ - workload: search_512d_100k_l2_nofilter
+ customTags: dim=512,magnitude=100k,distance=l2,filter=none,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_l2_nofilter
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <-> ?::vector(512) as distance FROM vector_search_512d_100k ORDER BY embedding <-> ?::vector(512) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+
+ # Test 2: Low Filter 1P - 1% of data filtered out (~99% eligible, easy search)
+ - workload: search_512d_100k_l2_low_filter_1p
+ customTags: dim=512,magnitude=100k,distance=l2,filter=low_1pct_out_1p,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_l2_low_filter_1p
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <-> ?::vector(512) as distance FROM vector_search_512d_100k WHERE category <= ? ORDER BY embedding <-> ?::vector(512) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+ - util: SeededRandomNumber
+ params: [95, 100, 99999]
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+
+ # Test 3: High Filter 99P - 99% of data filtered out (~1% eligible, hard search)
+ - workload: search_512d_100k_l2_high_filter_99p
+ customTags: dim=512,magnitude=100k,distance=l2,filter=high_99pct_out_99p,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_l2_high_filter_99p
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <-> ?::vector(512) as distance FROM vector_search_512d_100k WHERE category = ? ORDER BY embedding <-> ?::vector(512) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+ - util: RandomNumber
+ params: [1, 100]
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/update_1536d_embedding_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/update_1536d_embedding_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..ed69e733d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/update_1536d_embedding_indexed_m16_ef200.yaml
@@ -0,0 +1,58 @@
+# Vector Update - 1536D, update embedding with HNSW index (Inner Product distance)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=1536, operation=update, column=embedding, indexed=true, m=16, ef_construction=200, distance=ip
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_update_1536d_indexed;
+ - CREATE TABLE vector_update_1536d_indexed (id bigint PRIMARY KEY, embedding vector(1536));
+ - CREATE INDEX ON vector_update_1536d_indexed USING ybhnsw (embedding vector_ip_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_update_1536d_indexed;
+ loadRules:
+ - table: vector_update_1536d_indexed
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: update_1536d_embedding_indexed_m16_ef200
+ customTags: dim=1536,operation=update,column=embedding,indexed=true,m=16,ef_construction=200,distance=ip
+ run:
+ - name: update_vector_with_index
+ weight: 100
+ queries:
+ - query: UPDATE vector_update_1536d_indexed SET embedding = ?::vector(1536) WHERE id = ?
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 43]
+ - util: RandomNumber
+ params: [1, 100000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/update_512d_embedding_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/update_512d_embedding_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..8ef35a9d5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/update_512d_embedding_indexed_m16_ef200.yaml
@@ -0,0 +1,58 @@
+# Vector Update - 512D, update embedding with HNSW index (L2 distance)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=512, operation=update, column=embedding, indexed=true, m=16, ef_construction=200, distance=l2
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_update_512d_indexed;
+ - CREATE TABLE vector_update_512d_indexed (id bigint PRIMARY KEY, embedding vector(512));
+ - CREATE INDEX ON vector_update_512d_indexed USING ybhnsw (embedding vector_l2_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_update_512d_indexed;
+ loadRules:
+ - table: vector_update_512d_indexed
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: update_512d_embedding_indexed_m16_ef200
+ customTags: dim=512,operation=update,column=embedding,indexed=true,m=16,ef_construction=200,distance=l2
+ run:
+ - name: update_vector_with_index
+ weight: 100
+ queries:
+ - query: UPDATE vector_update_512d_indexed SET embedding = ?::vector(512) WHERE id = ?
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 43]
+ - util: RandomNumber
+ params: [1, 100000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/update_768d_embedding_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/update_768d_embedding_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..15402792f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yb_colocated/update_768d_embedding_indexed_m16_ef200.yaml
@@ -0,0 +1,58 @@
+# Vector Update - 768D, update embedding with HNSW index (Cosine distance)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=768, operation=update, column=embedding, indexed=true, m=16, ef_construction=200, distance=cosine
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_update_768d_indexed;
+ - CREATE TABLE vector_update_768d_indexed (id bigint PRIMARY KEY, embedding vector(768));
+ - CREATE INDEX ON vector_update_768d_indexed USING ybhnsw (embedding vector_cosine_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_update_768d_indexed;
+ loadRules:
+ - table: vector_update_768d_indexed
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: update_768d_embedding_indexed_m16_ef200
+ customTags: dim=768,operation=update,column=embedding,indexed=true,m=16,ef_construction=200,distance=cosine
+ run:
+ - name: update_vector_with_index
+ weight: 100
+ queries:
+ - query: UPDATE vector_update_768d_indexed SET embedding = ?::vector(768) WHERE id = ?
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 43]
+ - util: RandomNumber
+ params: [1, 100000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/delete_1536d_single_indexed.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/delete_1536d_single_indexed.yaml
new file mode 100644
index 000000000..ea21e5f3c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/delete_1536d_single_indexed.yaml
@@ -0,0 +1,56 @@
+# Vector Delete - 1536D, single row delete with HNSW index
+# Following VectorDBBench naming conventions
+# Configuration: dimension=1536, operation=delete, deletetype=single, indexed=true
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_delete_1536d_indexed;
+ - CREATE TABLE vector_delete_1536d_indexed (id bigint PRIMARY KEY, embedding vector(1536));
+ - CREATE INDEX ON vector_delete_1536d_indexed USING ybhnsw (embedding vector_ip_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_delete_1536d_indexed;
+ loadRules:
+ - table: vector_delete_1536d_indexed
+ rows: 200000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 200000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: delete_1536d_single_indexed
+ customTags: dim=1536,operation=delete,deletetype=single,indexed=true
+ run:
+ - name: delete_single_row
+ weight: 100
+ queries:
+ - query: DELETE FROM vector_delete_1536d_indexed WHERE id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [1, 200000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/delete_512d_single_indexed.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/delete_512d_single_indexed.yaml
new file mode 100644
index 000000000..728995291
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/delete_512d_single_indexed.yaml
@@ -0,0 +1,56 @@
+# Vector Delete - 512D, single row delete with HNSW index
+# Following VectorDBBench naming conventions
+# Configuration: dimension=512, operation=delete, deletetype=single, indexed=true
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_delete_512d_indexed;
+ - CREATE TABLE vector_delete_512d_indexed (id bigint PRIMARY KEY, embedding vector(512));
+ - CREATE INDEX ON vector_delete_512d_indexed USING ybhnsw (embedding vector_l2_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_delete_512d_indexed;
+ loadRules:
+ - table: vector_delete_512d_indexed
+ rows: 200000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 200000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: delete_512d_single_indexed
+ customTags: dim=512,operation=delete,deletetype=single,indexed=true
+ run:
+ - name: delete_single_row
+ weight: 100
+ queries:
+ - query: DELETE FROM vector_delete_512d_indexed WHERE id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [1, 200000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/delete_768d_single_indexed.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/delete_768d_single_indexed.yaml
new file mode 100644
index 000000000..c50bb7ec5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/delete_768d_single_indexed.yaml
@@ -0,0 +1,56 @@
+# Vector Delete - 768D, single row delete with HNSW index
+# Following VectorDBBench naming conventions
+# Configuration: dimension=768, operation=delete, deletetype=single, indexed=true
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_delete_768d_indexed;
+ - CREATE TABLE vector_delete_768d_indexed (id bigint PRIMARY KEY, embedding vector(768));
+ - CREATE INDEX ON vector_delete_768d_indexed USING ybhnsw (embedding vector_cosine_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_delete_768d_indexed;
+ loadRules:
+ - table: vector_delete_768d_indexed
+ rows: 200000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 200000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: delete_768d_single_indexed
+ customTags: dim=768,operation=delete,deletetype=single,indexed=true
+ run:
+ - name: delete_single_row
+ weight: 100
+ queries:
+ - query: DELETE FROM vector_delete_768d_indexed WHERE id = ?
+ count: 1
+ bindings:
+ - util: RandomNumber
+ params: [1, 200000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/insert_1536d_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/insert_1536d_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..813a8a79a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/insert_1536d_indexed_m16_ef200.yaml
@@ -0,0 +1,58 @@
+# Vector Insert - 1536D, with HNSW index (m=16, ef_construction=200), Inner Product distance
+# Following VectorDBBench naming conventions
+# Configuration: dimension=1536, operation=insert, indexed=true, m=16, ef_construction=200, distance=ip
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_insert_1536d_indexed;
+ - CREATE TABLE vector_insert_1536d_indexed (id bigint PRIMARY KEY, embedding vector(1536));
+ - CREATE INDEX ON vector_insert_1536d_indexed USING ybhnsw (embedding vector_ip_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_insert_1536d_indexed;
+ loadRules:
+ - table: vector_insert_1536d_indexed
+ rows: 50000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 50000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: insert_1536d_indexed_m16_ef200
+ customTags: dim=1536,operation=insert,indexed=true,m=16,ef_construction=200,distance=ip
+ run:
+ - name: insert_vector_with_index
+ weight: 100
+ queries:
+ - query: INSERT INTO vector_insert_1536d_indexed (id, embedding) VALUES (?, ?::vector(1536))
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [50001, 500000]
+ - util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 42]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/insert_512d_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/insert_512d_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..5a70ad234
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/insert_512d_indexed_m16_ef200.yaml
@@ -0,0 +1,58 @@
+# Vector Insert - 512D, with HNSW index (m=16, ef_construction=200)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=512, operation=insert, indexed=true, m=16, ef_construction=200
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_insert_512d_indexed;
+ - CREATE TABLE vector_insert_512d_indexed (id bigint PRIMARY KEY, embedding vector(512));
+ - CREATE INDEX ON vector_insert_512d_indexed USING ybhnsw (embedding vector_l2_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_insert_512d_indexed;
+ loadRules:
+ - table: vector_insert_512d_indexed
+ rows: 50000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 50000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: insert_512d_indexed_m16_ef200
+ customTags: dim=512,operation=insert,indexed=true,m=16,ef_construction=200
+ run:
+ - name: insert_vector_with_index
+ weight: 100
+ queries:
+ - query: INSERT INTO vector_insert_512d_indexed (id, embedding) VALUES (?, ?::vector(512))
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [50001, 500000]
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 42]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/insert_768d_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/insert_768d_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..0601150d3
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/insert_768d_indexed_m16_ef200.yaml
@@ -0,0 +1,58 @@
+# Vector Insert - 768D, with HNSW index (m=16, ef_construction=200), Cosine distance
+# Following VectorDBBench naming conventions
+# Configuration: dimension=768, operation=insert, indexed=true, m=16, ef_construction=200, distance=cosine
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_insert_768d_indexed;
+ - CREATE TABLE vector_insert_768d_indexed (id bigint PRIMARY KEY, embedding vector(768));
+ - CREATE INDEX ON vector_insert_768d_indexed USING ybhnsw (embedding vector_cosine_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_insert_768d_indexed;
+ loadRules:
+ - table: vector_insert_768d_indexed
+ rows: 50000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 50000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: insert_768d_indexed_m16_ef200
+ customTags: dim=768,operation=insert,indexed=true,m=16,ef_construction=200,distance=cosine
+ run:
+ - name: insert_vector_with_index
+ weight: 100
+ queries:
+ - query: INSERT INTO vector_insert_768d_indexed (id, embedding) VALUES (?, ?::vector(768))
+ count: 1
+ bindings:
+ - util: PrimaryIntGen
+ params: [50001, 500000]
+ - util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 42]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/search_128d_100k_ip_allfilters.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/search_128d_100k_ip_allfilters.yaml
new file mode 100644
index 000000000..4042f32b2
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/search_128d_100k_ip_allfilters.yaml
@@ -0,0 +1,101 @@
+# Vector Search - 128D, 100K vectors, Inner Product distance, All Filter Types
+# Following VectorDBBench naming conventions
+# Configuration: dimension=128, magnitude=100k, distance=ip, filters=all
+# Tests: nofilter, low_filter_1p (1% filtered out), high_filter_99p (99% filtered out)
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_search_128d_100k;
+ - CREATE TABLE vector_search_128d_100k (id bigint PRIMARY KEY, embedding vector(128), metadata text, category int);
+ - CREATE INDEX ON vector_search_128d_100k USING ybhnsw (embedding vector_ip_ops) WITH (m=16, ef_construction=200);
+ - CREATE INDEX ON vector_search_128d_100k (category);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_search_128d_100k;
+ loadRules:
+ - table: vector_search_128d_100k
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: RandomFloatArrayGen
+ params: [128, -1.0, 1.0]
+ - name: metadata
+ util: RandomAString
+ params: [50, 100]
+ - name: category
+ util: RandomNumber
+ params: [1, 100]
+
+ executeRules:
+ # Test 1: No Filter - Pure ANN search
+ - workload: search_128d_100k_ip_nofilter
+ customTags: dim=128,magnitude=100k,distance=ip,filter=none,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_ip_nofilter
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <#> ?::vector(128) as neg_inner_product FROM vector_search_128d_100k ORDER BY embedding <#> ?::vector(128) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+
+ # Test 2: Low Filter 1P - 1% of data filtered out (~99% eligible, easy search)
+ - workload: search_128d_100k_ip_low_filter_1p
+ customTags: dim=128,magnitude=100k,distance=ip,filter=low_1pct_out_1p,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_ip_low_filter_1p
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <#> ?::vector(128) as neg_inner_product FROM vector_search_128d_100k WHERE category <= ? ORDER BY embedding <#> ?::vector(128) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+ - util: SeededRandomNumber
+ params: [95, 100, 99999]
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+
+ # Test 3: High Filter 99P - 99% of data filtered out (~1% eligible, hard search)
+ - workload: search_128d_100k_ip_high_filter_99p
+ customTags: dim=128,magnitude=100k,distance=ip,filter=high_99pct_out_99p,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_ip_high_filter_99p
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <#> ?::vector(128) as neg_inner_product FROM vector_search_128d_100k WHERE category = ? ORDER BY embedding <#> ?::vector(128) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
+ - util: RandomNumber
+ params: [1, 100]
+ - util: DeterministicVectorGen
+ params: [128, -1.0, 1.0, 12345]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/search_1536d_50k_cosine_nofilter.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/search_1536d_50k_cosine_nofilter.yaml
new file mode 100644
index 000000000..bc521eb6a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/search_1536d_50k_cosine_nofilter.yaml
@@ -0,0 +1,64 @@
+# Vector Search - 1536D, 50K vectors, Cosine distance, No Filter (OpenAI embeddings)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=1536, magnitude=50k, filter=none, distance=cosine, ef_construction=200, m=16
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_search_1536d_50k;
+ - CREATE TABLE vector_search_1536d_50k (id bigint PRIMARY KEY, embedding vector(1536), metadata text, category int);
+ - CREATE INDEX ON vector_search_1536d_50k USING ybhnsw (embedding vector_cosine_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_search_1536d_50k;
+ loadRules:
+ - table: vector_search_1536d_50k
+ rows: 50000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 50000]
+ - name: embedding
+ util: RandomFloatArrayGen
+ params: [1536, -1.0, 1.0]
+ - name: metadata
+ util: RandomAString
+ params: [50, 100]
+ - name: category
+ util: RandomNumber
+ params: [1, 10]
+
+ executeRules:
+ - workload: search_1536d_50k_cosine_nofilter
+ customTags: dim=1536,magnitude=50k,distance=cosine,filter=none,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_cosine
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, 1 - (embedding <=> ?::vector(1536)) as similarity FROM vector_search_1536d_50k ORDER BY embedding <=> ?::vector(1536) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 99999]
+ - util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 99999]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/search_512d_100k_l2_allfilters.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/search_512d_100k_l2_allfilters.yaml
new file mode 100644
index 000000000..c23b9b88c
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/search_512d_100k_l2_allfilters.yaml
@@ -0,0 +1,101 @@
+# Vector Search - 512D, 100K vectors, L2 distance, All Filter Types
+# Following VectorDBBench naming conventions
+# Configuration: dimension=512, magnitude=100k, distance=l2, filters=all
+# Tests: nofilter, low_filter_1p (1% filtered out), high_filter_99p (99% filtered out)
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_search_512d_100k;
+ - CREATE TABLE vector_search_512d_100k (id bigint PRIMARY KEY, embedding vector(512), metadata text, category int);
+ - CREATE INDEX ON vector_search_512d_100k USING ybhnsw (embedding vector_l2_ops) WITH (m=16, ef_construction=200);
+ - CREATE INDEX ON vector_search_512d_100k (category);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_search_512d_100k;
+ loadRules:
+ - table: vector_search_512d_100k
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: RandomFloatArrayGen
+ params: [512, -1.0, 1.0]
+ - name: metadata
+ util: RandomAString
+ params: [50, 100]
+ - name: category
+ util: RandomNumber
+ params: [1, 100]
+
+ executeRules:
+ # Test 1: No Filter - Pure ANN search
+ - workload: search_512d_100k_l2_nofilter
+ customTags: dim=512,magnitude=100k,distance=l2,filter=none,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_l2_nofilter
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <-> ?::vector(512) as distance FROM vector_search_512d_100k ORDER BY embedding <-> ?::vector(512) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+
+ # Test 2: Low Filter 1P - 1% of data filtered out (~99% eligible, easy search)
+ - workload: search_512d_100k_l2_low_filter_1p
+ customTags: dim=512,magnitude=100k,distance=l2,filter=low_1pct_out_1p,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_l2_low_filter_1p
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <-> ?::vector(512) as distance FROM vector_search_512d_100k WHERE category <= ? ORDER BY embedding <-> ?::vector(512) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+ - util: SeededRandomNumber
+ params: [95, 100, 99999]
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+
+ # Test 3: High Filter 99P - 99% of data filtered out (~1% eligible, hard search)
+ - workload: search_512d_100k_l2_high_filter_99p
+ customTags: dim=512,magnitude=100k,distance=l2,filter=high_99pct_out_99p,top_k=10,m=16,ef_construction=200
+ run:
+ - name: ann_search_l2_high_filter_99p
+ weight: 100
+ queries:
+ - query: SELECT id, metadata, embedding <-> ?::vector(512) as distance FROM vector_search_512d_100k WHERE category = ? ORDER BY embedding <-> ?::vector(512) LIMIT 10
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
+ - util: RandomNumber
+ params: [1, 100]
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 54321]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/update_1536d_embedding_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/update_1536d_embedding_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..ed69e733d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/update_1536d_embedding_indexed_m16_ef200.yaml
@@ -0,0 +1,58 @@
+# Vector Update - 1536D, update embedding with HNSW index (Inner Product distance)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=1536, operation=update, column=embedding, indexed=true, m=16, ef_construction=200, distance=ip
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_update_1536d_indexed;
+ - CREATE TABLE vector_update_1536d_indexed (id bigint PRIMARY KEY, embedding vector(1536));
+ - CREATE INDEX ON vector_update_1536d_indexed USING ybhnsw (embedding vector_ip_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_update_1536d_indexed;
+ loadRules:
+ - table: vector_update_1536d_indexed
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: update_1536d_embedding_indexed_m16_ef200
+ customTags: dim=1536,operation=update,column=embedding,indexed=true,m=16,ef_construction=200,distance=ip
+ run:
+ - name: update_vector_with_index
+ weight: 100
+ queries:
+ - query: UPDATE vector_update_1536d_indexed SET embedding = ?::vector(1536) WHERE id = ?
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [1536, -1.0, 1.0, 43]
+ - util: RandomNumber
+ params: [1, 100000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/update_512d_embedding_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/update_512d_embedding_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..8ef35a9d5
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/update_512d_embedding_indexed_m16_ef200.yaml
@@ -0,0 +1,58 @@
+# Vector Update - 512D, update embedding with HNSW index (L2 distance)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=512, operation=update, column=embedding, indexed=true, m=16, ef_construction=200, distance=l2
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_update_512d_indexed;
+ - CREATE TABLE vector_update_512d_indexed (id bigint PRIMARY KEY, embedding vector(512));
+ - CREATE INDEX ON vector_update_512d_indexed USING ybhnsw (embedding vector_l2_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_update_512d_indexed;
+ loadRules:
+ - table: vector_update_512d_indexed
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: update_512d_embedding_indexed_m16_ef200
+ customTags: dim=512,operation=update,column=embedding,indexed=true,m=16,ef_construction=200,distance=l2
+ run:
+ - name: update_vector_with_index
+ weight: 100
+ queries:
+ - query: UPDATE vector_update_512d_indexed SET embedding = ?::vector(512) WHERE id = ?
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [512, -1.0, 1.0, 43]
+ - util: RandomNumber
+ params: [1, 100000]
diff --git a/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/update_768d_embedding_indexed_m16_ef200.yaml b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/update_768d_embedding_indexed_m16_ef200.yaml
new file mode 100644
index 000000000..15402792f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/vector_workloads/yugabyte/update_768d_embedding_indexed_m16_ef200.yaml
@@ -0,0 +1,58 @@
+# Vector Update - 768D, update embedding with HNSW index (Cosine distance)
+# Following VectorDBBench naming conventions
+# Configuration: dimension=768, operation=update, column=embedding, indexed=true, m=16, ef_construction=200, distance=cosine
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 120
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - CREATE EXTENSION IF NOT EXISTS vector;
+ - DROP TABLE IF EXISTS vector_update_768d_indexed;
+ - CREATE TABLE vector_update_768d_indexed (id bigint PRIMARY KEY, embedding vector(768));
+ - CREATE INDEX ON vector_update_768d_indexed USING ybhnsw (embedding vector_cosine_ops) WITH (m=16, ef_construction=200);
+ cleanup:
+ - DROP TABLE IF EXISTS vector_update_768d_indexed;
+ loadRules:
+ - table: vector_update_768d_indexed
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: embedding
+ util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 42]
+
+ executeRules:
+ - workload: update_768d_embedding_indexed_m16_ef200
+ customTags: dim=768,operation=update,column=embedding,indexed=true,m=16,ef_construction=200,distance=cosine
+ run:
+ - name: update_vector_with_index
+ weight: 100
+ queries:
+ - query: UPDATE vector_update_768d_indexed SET embedding = ?::vector(768) WHERE id = ?
+ count: 1
+ bindings:
+ - util: DeterministicVectorGen
+ params: [768, -1.0, 1.0, 43]
+ - util: RandomNumber
+ params: [1, 100000]
diff --git a/config/yugabyte/regression_pipelines/write_workloads/postgres/insertG1_varying_index.yaml b/config/yugabyte/regression_pipelines/write_workloads/postgres/insertG1_varying_index.yaml
new file mode 100644
index 000000000..c362d8f80
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/postgres/insertG1_varying_index.yaml
@@ -0,0 +1,141 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create index index_test_2_idx1 on index_test_2(col_int_1);
+ - create index index_test_3_idx1 on index_test_3(col_int_1);
+ - create index index_test_3_idx2 on index_test_3(col_int_2);
+ - create index index_test_3_idx3 on index_test_3(col_int_3);
+ - create index index_test_3_idx4 on index_test_3(col_int_4);
+ - create index index_test_3_idx5 on index_test_3(col_int_5);
+ - create index index_test_4_idx1 on index_test_4(col_int_1);
+ - create index index_test_4_idx2 on index_test_4(col_int_2);
+ - create index index_test_4_idx3 on index_test_4(col_int_3);
+ - create index index_test_4_idx4 on index_test_4(col_int_4);
+ - create index index_test_4_idx5 on index_test_4(col_int_5);
+ - create index index_test_4_idx6 on index_test_4(col_int_6);
+ - create index index_test_4_idx7 on index_test_4(col_int_7);
+ - create index index_test_4_idx8 on index_test_4(col_int_8);
+ - create index index_test_4_idx9 on index_test_4(col_int_9);
+ - create index index_test_4_idx10 on index_test_4(col_int_10);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [ 20, 20 ]
+ - name: col_date
+ util: RandomAString
+ params: [ 20, 20 ]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: no_index
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_1 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 1_index_test
+ run:
+ - name: Insert_with_1_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_2 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 5_index_test
+ run:
+ - name: Insert_with_5_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_3 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 10_index_test
+ run:
+ - name: Insert_with_10_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_4 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
diff --git a/config/yugabyte/regression_pipelines/write_workloads/postgres/insertG2_varying_columns.yaml b/config/yugabyte/regression_pipelines/write_workloads/postgres/insertG2_varying_columns.yaml
new file mode 100644
index 000000000..819d42ddf
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/postgres/insertG2_varying_columns.yaml
@@ -0,0 +1,105 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists table_10_cols;
+ - drop table if exists table_100_cols;
+ - drop table if exists table_1000_cols;
+ - CREATE TABLE table_10_cols (id INT primary key, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT);
+ - CREATE TABLE table_100_cols (id INT primary key, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT);
+ - CREATE TABLE table_1000_cols (id INT primary key, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT);
+ cleanup:
+ - drop table if exists table_10_cols;
+ - drop table if exists table_100_cols;
+ - drop table if exists table_1000_cols;
+ loadRules:
+ - table: table_10_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col
+ count: 10
+ util: RandomAString
+ params: [ 5, 5 ]
+ - table: table_100_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col
+ count: 100
+ util: RandomAString
+ params: [ 5, 5 ]
+ - table: table_1000_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col
+ count: 1000
+ util: RandomAString
+ params: [ 5, 5 ]
+ executeRules:
+ - workload: 10_col_test
+ run:
+ - name: Insert_with_10cols_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_10_cols values (?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 10
+ params: [ 5, 5 ]
+ - workload: 100_col_test
+ run:
+ - name: Insert_with_100_cols_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_100_cols values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 100
+ params: [ 5, 5 ]
+ - workload: 1000_col_test
+ run:
+ - name: Insert_with_1000_cols_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_1000_cols values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 1000
+ params: [ 5, 5 ]
+
diff --git a/config/yugabyte/regression_pipelines/write_workloads/postgres/insertG3_wideTable_idx_backfill.yaml b/config/yugabyte/regression_pipelines/write_workloads/postgres/insertG3_wideTable_idx_backfill.yaml
new file mode 100644
index 000000000..b1c3af70a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/postgres/insertG3_wideTable_idx_backfill.yaml
@@ -0,0 +1,61 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+
+works:
+ work:
+ time_secs: 30
+ rate: unlimited
+ warmup: 10
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS wide_table;
+ - CREATE TABLE wide_table (
+ int_col1 INT PRIMARY KEY,
+ int_col2 INT,
+ text_col1 TEXT,
+ text_col2 TEXT,
+ text_col3 TEXT,
+ text_col4 TEXT,
+ text_col5 TEXT,
+ text_col6 TEXT,
+ text_col7 TEXT,
+ text_col8 TEXT,
+ text_col9 TEXT,
+ text_col10 TEXT
+ );
+
+ loadRules:
+ - table: wide_table
+ rows: 100000
+ columns:
+ - name: int_col1
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: int_col2
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: text_col
+ count: 10
+ util: RandomAString
+ params: [5000, 5000]
+
+ executeOnce:
+ - workload: create_index_after_load
+ time_secs: 30
+ run:
+ - name: index_backfill
+ weight: 100
+ queries:
+ query: CREATE INDEX idx_int_col2 ON wide_table(int_col2);
diff --git a/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG1_varying_rows.yaml b/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG1_varying_rows.yaml
new file mode 100644
index 000000000..ac027ea87
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG1_varying_rows.yaml
@@ -0,0 +1,83 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table update_test_table2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table update_test_table3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ cleanup:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ loadRules:
+ - table: update_test_table
+ count: 3
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [20, 20]
+ - name: col_date
+ util: RandomAString
+ params: [20, 20]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: update_1_row
+ run:
+ - name: Update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ params: [1, 1000000]
+ - workload: update_100
+ run:
+ - name: update_100_rows
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table2 set col_varchar_3 = ? where id > 100 and id <= 200
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+
+ - workload: update_1000
+ run:
+ - name: update_1000_rows
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table3 set col_varchar_3 = ? where id > 1000 and id <= 2000
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG2_varying_indexs.yaml b/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG2_varying_indexs.yaml
new file mode 100644
index 000000000..3749d082b
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG2_varying_indexs.yaml
@@ -0,0 +1,90 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table update_test_table2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table update_test_table3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create index index_update_test_table2 on update_test_table2(col_int_1);
+ - create index index_update_test_table3 on update_test_table3(col_int_2) include (col_int_1);
+ cleanup:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ loadRules:
+ - table: update_test_table
+ count: 3
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [ 20, 20 ]
+ - name: col_date
+ util: RandomAString
+ params: [ 20, 20 ]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: update_non_index_column
+ run:
+ - name: Update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table1 set col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 10000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: update_1_index_column
+ run:
+ - name: update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table2 set col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 10000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: update_covering_index_column
+ run:
+ - name: update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table3 set col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 10000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+
+
diff --git a/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG3_varying_columns.yaml b/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG3_varying_columns.yaml
new file mode 100644
index 000000000..dccbf54bb
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG3_varying_columns.yaml
@@ -0,0 +1,82 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ - CREATE TABLE update_test_table1 (id INT primary key, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT, col1001 TEXT, col1002 TEXT, col1003 TEXT, col1004 TEXT, col1005 TEXT, col1006 TEXT, col1007 TEXT, col1008 TEXT, col1009 TEXT, col1010 TEXT, col1011 TEXT, col1012 TEXT, col1013 TEXT, col1014 TEXT, col1015 TEXT, col1016 TEXT, col1017 TEXT, col1018 TEXT, col1019 TEXT, col1020 TEXT, col1021 TEXT, col1022 TEXT, col1023 TEXT, col1024 TEXT, col1025 TEXT, col1026 TEXT, col1027 TEXT, col1028 TEXT, col1029 TEXT, col1030 TEXT, col1031 TEXT, col1032 TEXT, col1033 TEXT, col1034 TEXT, col1035 TEXT, col1036 TEXT, col1037 TEXT, col1038 TEXT, col1039 TEXT, col1040 TEXT, col1041 TEXT, col1042 TEXT, col1043 TEXT, col1044 TEXT, col1045 TEXT, col1046 TEXT, col1047 TEXT, col1048 TEXT, col1049 TEXT, col1050 TEXT, col1051 TEXT, col1052 TEXT, col1053 TEXT, col1054 TEXT, col1055 TEXT, col1056 TEXT, col1057 TEXT, col1058 TEXT, col1059 TEXT, col1060 TEXT, col1061 TEXT, col1062 TEXT, col1063 TEXT, col1064 TEXT, col1065 TEXT, col1066 TEXT, col1067 TEXT, col1068 TEXT, col1069 TEXT, col1070 TEXT, col1071 TEXT, col1072 TEXT, col1073 TEXT, col1074 TEXT, col1075 TEXT, col1076 TEXT, col1077 TEXT, col1078 TEXT, col1079 TEXT, col1080 TEXT, col1081 TEXT, col1082 TEXT, col1083 TEXT, col1084 TEXT, col1085 TEXT, col1086 TEXT, col1087 TEXT, col1088 TEXT, col1089 TEXT, col1090 TEXT, col1091 TEXT, col1092 TEXT, col1093 TEXT, col1094 TEXT, col1095 TEXT, col1096 TEXT, col1097 TEXT, col1098 TEXT, col1099 TEXT, col1100 TEXT);
+ - CREATE TABLE update_test_table2 (id INT primary key, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT, col1001 TEXT, col1002 TEXT, col1003 TEXT, col1004 TEXT, col1005 TEXT, col1006 TEXT, col1007 TEXT, col1008 TEXT, col1009 TEXT, col1010 TEXT, col1011 TEXT, col1012 TEXT, col1013 TEXT, col1014 TEXT, col1015 TEXT, col1016 TEXT, col1017 TEXT, col1018 TEXT, col1019 TEXT, col1020 TEXT, col1021 TEXT, col1022 TEXT, col1023 TEXT, col1024 TEXT, col1025 TEXT, col1026 TEXT, col1027 TEXT, col1028 TEXT, col1029 TEXT, col1030 TEXT, col1031 TEXT, col1032 TEXT, col1033 TEXT, col1034 TEXT, col1035 TEXT, col1036 TEXT, col1037 TEXT, col1038 TEXT, col1039 TEXT, col1040 TEXT, col1041 TEXT, col1042 TEXT, col1043 TEXT, col1044 TEXT, col1045 TEXT, col1046 TEXT, col1047 TEXT, col1048 TEXT, col1049 TEXT, col1050 TEXT, col1051 TEXT, col1052 TEXT, col1053 TEXT, col1054 TEXT, col1055 TEXT, col1056 TEXT, col1057 TEXT, col1058 TEXT, col1059 TEXT, col1060 TEXT, col1061 TEXT, col1062 TEXT, col1063 TEXT, col1064 TEXT, col1065 TEXT, col1066 TEXT, col1067 TEXT, col1068 TEXT, col1069 TEXT, col1070 TEXT, col1071 TEXT, col1072 TEXT, col1073 TEXT, col1074 TEXT, col1075 TEXT, col1076 TEXT, col1077 TEXT, col1078 TEXT, col1079 TEXT, col1080 TEXT, col1081 TEXT, col1082 TEXT, col1083 TEXT, col1084 TEXT, col1085 TEXT, col1086 TEXT, col1087 TEXT, col1088 TEXT, col1089 TEXT, col1090 TEXT, col1091 TEXT, col1092 TEXT, col1093 TEXT, col1094 TEXT, col1095 TEXT, col1096 TEXT, col1097 TEXT, col1098 TEXT, col1099 TEXT, col1100 TEXT);
+ - CREATE TABLE update_test_table3 (id INT primary key, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT, col1001 TEXT, col1002 TEXT, col1003 TEXT, col1004 TEXT, col1005 TEXT, col1006 TEXT, col1007 TEXT, col1008 TEXT, col1009 TEXT, col1010 TEXT, col1011 TEXT, col1012 TEXT, col1013 TEXT, col1014 TEXT, col1015 TEXT, col1016 TEXT, col1017 TEXT, col1018 TEXT, col1019 TEXT, col1020 TEXT, col1021 TEXT, col1022 TEXT, col1023 TEXT, col1024 TEXT, col1025 TEXT, col1026 TEXT, col1027 TEXT, col1028 TEXT, col1029 TEXT, col1030 TEXT, col1031 TEXT, col1032 TEXT, col1033 TEXT, col1034 TEXT, col1035 TEXT, col1036 TEXT, col1037 TEXT, col1038 TEXT, col1039 TEXT, col1040 TEXT, col1041 TEXT, col1042 TEXT, col1043 TEXT, col1044 TEXT, col1045 TEXT, col1046 TEXT, col1047 TEXT, col1048 TEXT, col1049 TEXT, col1050 TEXT, col1051 TEXT, col1052 TEXT, col1053 TEXT, col1054 TEXT, col1055 TEXT, col1056 TEXT, col1057 TEXT, col1058 TEXT, col1059 TEXT, col1060 TEXT, col1061 TEXT, col1062 TEXT, col1063 TEXT, col1064 TEXT, col1065 TEXT, col1066 TEXT, col1067 TEXT, col1068 TEXT, col1069 TEXT, col1070 TEXT, col1071 TEXT, col1072 TEXT, col1073 TEXT, col1074 TEXT, col1075 TEXT, col1076 TEXT, col1077 TEXT, col1078 TEXT, col1079 TEXT, col1080 TEXT, col1081 TEXT, col1082 TEXT, col1083 TEXT, col1084 TEXT, col1085 TEXT, col1086 TEXT, col1087 TEXT, col1088 TEXT, col1089 TEXT, col1090 TEXT, col1091 TEXT, col1092 TEXT, col1093 TEXT, col1094 TEXT, col1095 TEXT, col1096 TEXT, col1097 TEXT, col1098 TEXT, col1099 TEXT, col1100 TEXT);
+ cleanup:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ loadRules:
+ - table: update_test_table
+ count: 3
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: col
+ count: 1100
+ util: RandomAString
+ params: [4, 4]
+ executeRules:
+ - workload: update_10_cols
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: update update_test_table1 set col1=?, col2=?, col3=?, col4=?, col5=?, col6=?, col7=?, col8=?, col9=?, col10=? where id = ?
+ bindings:
+ - util: RandomAString
+ count: 10
+ params: [4, 4]
+ - util: RandomNumber
+ params: [1, 100000]
+
+ - workload: update_100_cols
+ run:
+ - name: update_100_cols
+ weight: 100
+ queries:
+ - query: update update_test_table2 set col1=?, col2=?, col3=?, col4=?, col5=?, col6=?, col7=?, col8=?, col9=?, col10=?, col11=?, col12=?, col13=?, col14=?, col15=?, col16=?, col17=?, col18=?, col19=?, col20=?, col21=?, col22=?, col23=?, col24=?, col25=?, col26=?, col27=?, col28=?, col29=?, col30=?, col31=?, col32=?, col33=?, col34=?, col35=?, col36=?, col37=?, col38=?, col39=?, col40=?, col41=?, col42=?, col43=?, col44=?, col45=?, col46=?, col47=?, col48=?, col49=?, col50=? , col51=?, col52=?, col53=?, col54=?, col55=?, col56=?, col57=?, col58=?, col59=?, col60=?, col61=?, col62=?, col63=?, col64=?, col65=?, col66=?, col67=?, col68=?, col69=?, col70=?, col71=?, col72=?, col73=?, col74=?, col75=?, col76=?, col77=?, col78=?, col79=?, col80=?, col81=?, col82=?, col83=?, col84=?, col85=?, col86=?, col87=?, col88=?, col89=?, col90=?, col91=?, col92=?, col93=?, col94=?, col95=?, col96=?, col97=?, col98=?, col99=?, col100=? where id=?;
+ bindings:
+ - util: RandomAString
+ count: 100
+ params: [4, 4]
+ - util: RandomNumber
+ params: [1, 100000]
+
+ - workload: update_1000_cols
+ run:
+ - name: update_1000_cols
+ weight: 100
+ queries:
+ - query: update update_test_table3 set col1=?, col2=?, col3=?, col4=?, col5=?, col6=?, col7=?, col8=?, col9=?, col10=?, col11=?, col12=?, col13=?, col14=?, col15=?, col16=?, col17=?, col18=?, col19=?, col20=?, col21=?, col22=?, col23=?, col24=?, col25=?, col26=?, col27=?, col28=?, col29=?, col30=?, col31=?, col32=?, col33=?, col34=?, col35=?, col36=?, col37=?, col38=?, col39=?, col40=?, col41=?, col42=?, col43=?, col44=?, col45=?, col46=?, col47=?, col48=?, col49=?, col50=? , col51=?, col52=?, col53=?, col54=?, col55=?, col56=?, col57=?, col58=?, col59=?, col60=?, col61=?, col62=?, col63=?, col64=?, col65=?, col66=?, col67=?, col68=?, col69=?, col70=?, col71=?, col72=?, col73=?, col74=?, col75=?, col76=?, col77=?, col78=?, col79=?, col80=?, col81=?, col82=?, col83=?, col84=?, col85=?, col86=?, col87=?, col88=?, col89=?, col90=?, col91=?, col92=?, col93=?, col94=?, col95=?, col96=?, col97=?, col98=?, col99=?, col100=?, col101=?, col102=?, col103=?, col104=?, col105=?, col106=?, col107=?, col108=?, col109=?, col110=?, col111=?, col112=?, col113=?, col114=?, col115=?, col116=?, col117=?, col118=?, col119=?, col120=?, col121=?, col122=?, col123=?, col124=?, col125=?, col126=?, col127=?, col128=?, col129=?, col130=?, col131=?, col132=?, col133=?, col134=?, col135=?, col136=?, col137=?, col138=?, col139=?, col140=?, col141=?, col142=?, col143=?, col144=?, col145=?, col146=?, col147=?, col148=?, col149=?, col150=?, col151=?, col152=?, col153=?, col154=?, col155=?, col156=?, col157=?, col158=?, col159=?, col160=?, col161=?, col162=?, col163=?, col164=?, col165=?, col166=?, col167=?, col168=?, col169=?, col170=?, col171=?, col172=?, col173=?, col174=?, col175=?, col176=?, col177=?, col178=?, col179=?, col180=?, col181=?, col182=?, col183=?, col184=?, col185=?, col186=?, col187=?, col188=?, col189=?, col190=?, col191=?, col192=?, col193=?, col194=?, col195=?, col196=?, col197=?, col198=?, col199=?, col200=?, col201=?, col202=?, col203=?, col204=?, col205=?, col206=?, col207=?, col208=?, col209=?, col210=?, col211=?, col212=?, col213=?, col214=?, col215=?, col216=?, col217=?, col218=?, col219=?, col220=?, col221=?, col222=?, col223=?, col224=?, col225=?, col226=?, col227=?, col228=?, col229=?, col230=?, col231=?, col232=?, col233=?, col234=?, col235=?, col236=?, col237=?, col238=?, col239=?, col240=?, col241=?, col242=?, col243=?, col244=?, col245=?, col246=?, col247=?, col248=?, col249=?, col250=?, col251=?, col252=?, col253=?, col254=?, col255=?, col256=?, col257=?, col258=?, col259=?, col260=?, col261=?, col262=?, col263=?, col264=?, col265=?, col266=?, col267=?, col268=?, col269=?, col270=?, col271=?, col272=?, col273=?, col274=?, col275=?, col276=?, col277=?, col278=?, col279=?, col280=?, col281=?, col282=?, col283=?, col284=?, col285=?, col286=?, col287=?, col288=?, col289=?, col290=?, col291=?, col292=?, col293=?, col294=?, col295=?, col296=?, col297=?, col298=?, col299=?, col300=?, col301=?, col302=?, col303=?, col304=?, col305=?, col306=?, col307=?, col308=?, col309=?, col310=?, col311=?, col312=?, col313=?, col314=?, col315=?, col316=?, col317=?, col318=?, col319=?, col320=?, col321=?, col322=?, col323=?, col324=?, col325=?, col326=?, col327=?, col328=?, col329=?, col330=?, col331=?, col332=?, col333=?, col334=?, col335=?, col336=?, col337=?, col338=?, col339=?, col340=?, col341=?, col342=?, col343=?, col344=?, col345=?, col346=?, col347=?, col348=?, col349=?, col350=?, col351=?, col352=?, col353=?, col354=?, col355=?, col356=?, col357=?, col358=?, col359=?, col360=?, col361=?, col362=?, col363=?, col364=?, col365=?, col366=?, col367=?, col368=?, col369=?, col370=?, col371=?, col372=?, col373=?, col374=?, col375=?, col376=?, col377=?, col378=?, col379=?, col380=?, col381=?, col382=?, col383=?, col384=?, col385=?, col386=?, col387=?, col388=?, col389=?, col390=?, col391=?, col392=?, col393=?, col394=?, col395=?, col396=?, col397=?, col398=?, col399=?, col400=?, col401=?, col402=?, col403=?, col404=?, col405=?, col406=?, col407=?, col408=?, col409=?, col410=?, col411=?, col412=?, col413=?, col414=?, col415=?, col416=?, col417=?, col418=?, col419=?, col420=?, col421=?, col422=?, col423=?, col424=?, col425=?, col426=?, col427=?, col428=?, col429=?, col430=?, col431=?, col432=?, col433=?, col434=?, col435=?, col436=?, col437=?, col438=?, col439=?, col440=?, col441=?, col442=?, col443=?, col444=?, col445=?, col446=?, col447=?, col448=?, col449=?, col450=?, col451=?, col452=?, col453=?, col454=?, col455=?, col456=?, col457=?, col458=?, col459=?, col460=?, col461=?, col462=?, col463=?, col464=?, col465=?, col466=?, col467=?, col468=?, col469=?, col470=?, col471=?, col472=?, col473=?, col474=?, col475=?, col476=?, col477=?, col478=?, col479=?, col480=?, col481=?, col482=?, col483=?, col484=?, col485=?, col486=?, col487=?, col488=?, col489=?, col490=?, col491=?, col492=?, col493=?, col494=?, col495=?, col496=?, col497=?, col498=?, col499=?, col500=?, col501=?, col502=?, col503=?, col504=?, col505=?, col506=?, col507=?, col508=?, col509=?, col510=?, col511=?, col512=?, col513=?, col514=?, col515=?, col516=?, col517=?, col518=?, col519=?, col520=?, col521=?, col522=?, col523=?, col524=?, col525=?, col526=?, col527=?, col528=?, col529=?, col530=?, col531=?, col532=?, col533=?, col534=?, col535=?, col536=?, col537=?, col538=?, col539=?, col540=?, col541=?, col542=?, col543=?, col544=?, col545=?, col546=?, col547=?, col548=?, col549=?, col550=?, col551=?, col552=?, col553=?, col554=?, col555=?, col556=?, col557=?, col558=?, col559=?, col560=?, col561=?, col562=?, col563=?, col564=?, col565=?, col566=?, col567=?, col568=?, col569=?, col570=?, col571=?, col572=?, col573=?, col574=?, col575=?, col576=?, col577=?, col578=?, col579=?, col580=?, col581=?, col582=?, col583=?, col584=?, col585=?, col586=?, col587=?, col588=?, col589=?, col590=?, col591=?, col592=?, col593=?, col594=?, col595=?, col596=?, col597=?, col598=?, col599=?, col600=?, col601=?, col602=?, col603=?, col604=?, col605=?, col606=?, col607=?, col608=?, col609=?, col610=?, col611=?, col612=?, col613=?, col614=?, col615=?, col616=?, col617=?, col618=?, col619=?, col620=?, col621=?, col622=?, col623=?, col624=?, col625=?, col626=?, col627=?, col628=?, col629=?, col630=?, col631=?, col632=?, col633=?, col634=?, col635=?, col636=?, col637=?, col638=?, col639=?, col640=?, col641=?, col642=?, col643=?, col644=?, col645=?, col646=?, col647=?, col648=?, col649=?, col650=?, col651=?, col652=?, col653=?, col654=?, col655=?, col656=?, col657=?, col658=?, col659=?, col660=?, col661=?, col662=?, col663=?, col664=?, col665=?, col666=?, col667=?, col668=?, col669=?, col670=?, col671=?, col672=?, col673=?, col674=?, col675=?, col676=?, col677=?, col678=?, col679=?, col680=?, col681=?, col682=?, col683=?, col684=?, col685=?, col686=?, col687=?, col688=?, col689=?, col690=?, col691=?, col692=?, col693=?, col694=?, col695=?, col696=?, col697=?, col698=?, col699=?, col700=?, col701=?, col702=?, col703=?, col704=?, col705=?, col706=?, col707=?, col708=?, col709=?, col710=?, col711=?, col712=?, col713=?, col714=?, col715=?, col716=?, col717=?, col718=?, col719=?, col720=?, col721=?, col722=?, col723=?, col724=?, col725=?, col726=?, col727=?, col728=?, col729=?, col730=?, col731=?, col732=?, col733=?, col734=?, col735=?, col736=?, col737=?, col738=?, col739=?, col740=?, col741=?, col742=?, col743=?, col744=?, col745=?, col746=?, col747=?, col748=?, col749=?, col750=?, col751=?, col752=?, col753=?, col754=?, col755=?, col756=?, col757=?, col758=?, col759=?, col760=?, col761=?, col762=?, col763=?, col764=?, col765=?, col766=?, col767=?, col768=?, col769=?, col770=?, col771=?, col772=?, col773=?, col774=?, col775=?, col776=?, col777=?, col778=?, col779=?, col780=?, col781=?, col782=?, col783=?, col784=?, col785=?, col786=?, col787=?, col788=?, col789=?, col790=?, col791=?, col792=?, col793=?, col794=?, col795=?, col796=?, col797=?, col798=?, col799=?, col800=?, col801=?, col802=?, col803=?, col804=?, col805=?, col806=?, col807=?, col808=?, col809=?, col810=?, col811=?, col812=?, col813=?, col814=?, col815=?, col816=?, col817=?, col818=?, col819=?, col820=?, col821=?, col822=?, col823=?, col824=?, col825=?, col826=?, col827=?, col828=?, col829=?, col830=?, col831=?, col832=?, col833=?, col834=?, col835=?, col836=?, col837=?, col838=?, col839=?, col840=?, col841=?, col842=?, col843=?, col844=?, col845=?, col846=?, col847=?, col848=?, col849=?, col850=?, col851=?, col852=?, col853=?, col854=?, col855=?, col856=?, col857=?, col858=?, col859=?, col860=?, col861=?, col862=?, col863=?, col864=?, col865=?, col866=?, col867=?, col868=?, col869=?, col870=?, col871=?, col872=?, col873=?, col874=?, col875=?, col876=?, col877=?, col878=?, col879=?, col880=?, col881=?, col882=?, col883=?, col884=?, col885=?, col886=?, col887=?, col888=?, col889=?, col890=?, col891=?, col892=?, col893=?, col894=?, col895=?, col896=?, col897=?, col898=?, col899=?, col900=?, col901=?, col902=?, col903=?, col904=?, col905=?, col906=?, col907=?, col908=?, col909=?, col910=?, col911=?, col912=?, col913=?, col914=?, col915=?, col916=?, col917=?, col918=?, col919=?, col920=?, col921=?, col922=?, col923=?, col924=?, col925=?, col926=?, col927=?, col928=?, col929=?, col930=?, col931=?, col932=?, col933=?, col934=?, col935=?, col936=?, col937=?, col938=?, col939=?, col940=?, col941=?, col942=?, col943=?, col944=?, col945=?, col946=?, col947=?, col948=?, col949=?, col950=?, col951=?, col952=?, col953=?, col954=?, col955=?, col956=?, col957=?, col958=?, col959=?, col960=?, col961=?, col962=?, col963=?, col964=?, col965=?, col966=?, col967=?, col968=?, col969=?, col970=?, col971=?, col972=?, col973=?, col974=?, col975=?, col976=?, col977=?, col978=?, col979=?, col980=?, col981=?, col982=?, col983=?, col984=?, col985=?, col986=?, col987=?, col988=?, col989=?, col990=?, col991=?, col992=?, col993=?, col994=?, col995=?, col996=?, col997=?, col998=?, col999=?, col1000=? where id=?;
+ bindings:
+ - util: RandomAString
+ count: 1000
+ params: [4, 4]
+ - util: RandomNumber
+ params: [1, 100000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG4_unmodified_set_clause.yaml b/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG4_unmodified_set_clause.yaml
new file mode 100644
index 000000000..dd14e6895
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG4_unmodified_set_clause.yaml
@@ -0,0 +1,194 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1 CASCADE;
+ - DROP TABLE IF EXISTS pkeyBigint1M_child_1 CASCADE;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card1_1);
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card2_1 ASC) INCLUDE (col_bigint_id_2);
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card3_1 DESC);
+ - CREATE UNIQUE INDEX ON pkeyBigint1M_1(col_bigint_id_3);
+ - CREATE TABLE pkeyBigint1M_child_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_varchar10_id_1 varchar(10), col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, PRIMARY KEY(col_bigint_id_1));
+ - ALTER TABLE pkeyBigint1M_child_1 ADD CONSTRAINT pkeyBigint1M_child_id1_fk FOREIGN KEY (col_bigint_id_2) REFERENCES pkeyBigint1M_1 (col_bigint_id_1) ON UPDATE CASCADE;
+ - ALTER TABLE pkeyBigint1M_child_1 ADD CONSTRAINT pkeyBigint1M_child_id2_fk FOREIGN KEY (col_bigint_id_3) REFERENCES pkeyBigint1M_1 (col_bigint_id_3) ON UPDATE CASCADE;
+ - CREATE INDEX ON pkeyBigint1M_child_1(col_bigint_card1_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1 CASCADE;
+ - DROP TABLE IF EXISTS pkeyBigint1M_child_1 CASCADE;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1010000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: pkeyBigint1M_child_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_varchar10_id_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1010000]
+
+ executeRules:
+ - workload: UG4_1_no_update_to_constraint_tbl1
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE pkeyBigint1M_1 SET col_bigint_id_1=?, col_bigint_id_2=?,col_bigint_id_3=?, col_bigint_card1_1=1000000, col_float2_1 = col_float2_1 + 1 where col_bigint_id_1 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+
+ - workload: UG4_2_no_update_to_constraint_tbl2
+ run:
+ - name: update_100_cols
+ weight: 100
+ queries:
+ - query: UPDATE pkeyBigint1M_child_1 SET col_bigint_id_1=?, col_bigint_id_2=?,col_bigint_id_3=?, col_bigint_card1_1=1000000, col_varchar10_id_1 = ? where col_bigint_id_1 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: RandomAString
+ params: [10, 10]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+
+ - workload: UG4_3_no_update_to_constraint_on_conflict_tbl1
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: INSERT INTO pkeyBigint1M_1 (col_bigint_card1_1,col_bigint_card2_1,col_bigint_card3_1,col_bigint_id_1,col_bigint_id_2,col_bigint_id_3,col_float2_1,col_float2_2,col_float5_1,col_float5_2,col_boolean_1,col_varchar10_id_1,col_varchar100_id_1,col_varchar100_id_2,col_varchar500_id_1) VALUES (1000000,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON CONFLICT (col_bigint_id_1) DO UPDATE SET col_varchar100_id_1 = ? RETURNING *
+ bindings:
+ - util: RandomInt
+ params: [ 1000001,1001000 ]
+ - util: RandomInt
+ params: [ 1000001,1010000]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - util: RandomBoolean
+ - util: PrimaryStringGen
+ params: [1, 10]
+ - util: PrimaryStringGen
+ params: [1, 100]
+ - util: PrimaryStringGen
+ params: [1, 100]
+ - util: PrimaryStringGen
+ params: [1, 500]
+ - util: RandomAString
+ params: [ 100, 100 ]
+
+ - workload: UG4_4_update_constraint_tbl1
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE pkeyBigint1M_1 SET col_bigint_id_1=?, col_bigint_id_2=?,col_bigint_id_3=?, col_bigint_card1_1=3000000, col_float2_1 = col_float2_1 + 1 where col_bigint_id_1 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG5_update_included_colm.yaml b/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG5_update_included_colm.yaml
new file mode 100644
index 000000000..901127e9d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/postgres/updateG5_update_included_colm.yaml
@@ -0,0 +1,204 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl1_1;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl1_2;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl2_child_1 CASCADE;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl2_1 CASCADE;
+
+ - CREATE TABLE UG5_cardinality_tbl1_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_int_id_1 int, col_int_id_2 int, col_int_id_3 int, col_int_id_4 int, col_int_card1_1 int, col_int_card1_2 int, col_int_card1_3 int, col_int_card1_4 int, col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON UG5_cardinality_tbl1_1(col_bigint_card2_1) INCLUDE (col_bigint_card3_1) # update multiple(1000) rows with point select
+ - CREATE INDEX ON UG5_cardinality_tbl1_1(col_bigint_card1_1) INCLUDE (col_bigint_id_2) # update all(1M) rows with point select
+ - CREATE INDEX ON UG5_cardinality_tbl1_1(col_bigint_id_3) INCLUDE (col_int_id_4) # update single column + 1 row with point select
+ - CREATE INDEX ON UG5_cardinality_tbl1_1(col_bigint_id_5 ASC) INCLUDE (col_int_card1_4) # update single column + 1M row
+
+ - CREATE TABLE UG5_cardinality_tbl1_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_int_id_1 int, col_int_id_2 int, col_int_id_3 int, col_int_id_4 int, col_int_card1_1 int, col_int_card1_2 int, col_int_card1_3 int, col_int_card1_4 int, col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON UG5_cardinality_tbl1_2(col_bigint_id_5 ASC) INCLUDE (col_int_card1_4) # update single column + 1M row
+
+ - CREATE TABLE UG5_cardinality_tbl2_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_int_id_1 int, col_int_id_2 int, col_int_id_3 int, col_int_id_4 int, col_int_card1_1 int, col_int_card1_2 int, col_int_card1_3 int, col_int_card1_4 int, col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE UNIQUE INDEX ON UG5_cardinality_tbl2_1(col_bigint_id_2);
+ - CREATE UNIQUE INDEX ON UG5_cardinality_tbl2_1(col_bigint_id_3);
+ - CREATE UNIQUE INDEX ON UG5_cardinality_tbl2_1(col_bigint_id_4);
+ - CREATE INDEX ON UG5_cardinality_tbl2_1(col_int_id_1 ASC) INCLUDE (col_bigint_id_2,col_bigint_id_3,col_bigint_id_4); #Index created so that an update on these included columns will should cascade to child table and it's indexes
+ - CREATE TABLE UG5_cardinality_tbl2_child_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_varchar10_id_1 varchar(10), col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, PRIMARY KEY(col_bigint_id_1));
+ - ALTER TABLE UG5_cardinality_tbl2_child_1 ADD CONSTRAINT UG5_cardinality_tbl2_child_id1_fk FOREIGN KEY (col_bigint_id_2) REFERENCES UG5_cardinality_tbl2_1 (col_bigint_id_1) ON UPDATE CASCADE;
+ - ALTER TABLE UG5_cardinality_tbl2_child_1 ADD CONSTRAINT UG5_cardinality_tbl2_child_id2_fk FOREIGN KEY (col_bigint_id_3) REFERENCES UG5_cardinality_tbl2_1 (col_bigint_id_2) ON UPDATE CASCADE;
+ - ALTER TABLE UG5_cardinality_tbl2_child_1 ADD CONSTRAINT UG5_cardinality_tbl2_child_id3_fk FOREIGN KEY (col_bigint_id_4) REFERENCES UG5_cardinality_tbl2_1 (col_bigint_id_3) ON UPDATE CASCADE;
+ - ALTER TABLE UG5_cardinality_tbl2_child_1 ADD CONSTRAINT UG5_cardinality_tbl2_child_id4_fk FOREIGN KEY (col_bigint_id_5) REFERENCES UG5_cardinality_tbl2_1 (col_bigint_id_4) ON UPDATE CASCADE;
+ - CREATE INDEX ON UG5_cardinality_tbl2_child_1(col_bigint_id_2) INCLUDE (col_bigint_id_3,col_bigint_id_4,col_bigint_id_5); #Update on referenced+included colmn
+ - CREATE INDEX ON UG5_cardinality_tbl2_child_1(col_bigint_id_3 ASC);
+ - CREATE INDEX ON UG5_cardinality_tbl2_child_1(col_bigint_id_4 ASC);
+ - CREATE INDEX ON UG5_cardinality_tbl2_child_1(col_bigint_id_5 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl2_child_1 CASCADE;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl1_1;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl1_2;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl2_1 CASCADE;
+
+ loadRules:
+
+ - table: UG5_cardinality_tbl1_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1010000]
+ - name: col_bigint_id_
+ count: 6
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_card1_
+ count: 4
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: UG5_cardinality_tbl2_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1010000]
+ - name: col_bigint_id_
+ count: 6
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_card1_
+ count: 4
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: UG5_cardinality_tbl2_child_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 5
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_varchar10_id_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1010000]
+
+ executeRules:
+
+ # update single column + 1 row with point select
+ - workload: UG5_1_update_1_rows_1col_included_colm_point_select_filter
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl1_1 SET col_int_id_4=col_int_id_4+1 where col_bigint_id_3 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+
+ # update single column + 1M row
+ - workload: UG5_2_update_1M_rows_1col_included_colm_range_filter
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl1_1 SET col_int_card1_4=col_int_card1_4+1 where col_bigint_id_5 > 0
+
+ # update single column + 1M row
+ - workload: UG5_3_update_1M_rows_1col_included_colm_range_filter_range_tbl
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl1_2 SET col_int_card1_4=col_int_card1_4+1 where col_bigint_id_5 > 0
+
+ # Update on parent tbl 3cols which are included in an index (col_bigint_id_2,col_bigint_id_3,col_bigint_id_4) referenced in child tbl (col_bigint_id_3,col_bigint_id_4,col_bigint_id_5) and also part of an included colms of an index
+ - workload: UG5_4_update_parent_tbls_referenced_included_colm_1row
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl2_1 SET col_bigint_id_2=col_bigint_id_2+1000000, col_bigint_id_3=col_bigint_id_3+1000000, col_bigint_id_4=col_bigint_id_4+1000000 where col_int_id_1 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 800000 ]
+
+ # Update on parent tbl 3cols which are included in an index (col_bigint_id_2,col_bigint_id_3,col_bigint_id_4) referenced in child tbl (col_bigint_id_3,col_bigint_id_4,col_bigint_id_5) and also part of an included colms of an index
+ - workload: UG5_5_update_parent_tbls_referenced_included_colm_1k_rows
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl2_1 SET col_bigint_id_2=col_bigint_id_2+1000000, col_bigint_id_3=col_bigint_id_3+1000000, col_bigint_id_4=col_bigint_id_4+1000000 where col_int_id_1 > 999000
+
+ - workload: UG5_6_update_child_tbls_referenced_included_colm_1k_rows
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE ug5_cardinality_tbl2_child_1 SET col_bigint_id_3=900000 where col_bigint_id_2<1001
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/insertG1_varying_index.yaml b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/insertG1_varying_index.yaml
new file mode 100644
index 000000000..4ca057e67
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/insertG1_varying_index.yaml
@@ -0,0 +1,153 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create index index_test_2_idx1 on index_test_2(col_int_1);
+ - create index index_test_3_idx1 on index_test_3(col_int_1);
+ - create index index_test_3_idx2 on index_test_3(col_int_2);
+ - create index index_test_3_idx3 on index_test_3(col_int_3);
+ - create index index_test_3_idx4 on index_test_3(col_int_4);
+ - create index index_test_3_idx5 on index_test_3(col_int_5);
+ - create index index_test_4_idx1 on index_test_4(col_int_1);
+ - create index index_test_4_idx2 on index_test_4(col_int_2);
+ - create index index_test_4_idx3 on index_test_4(col_int_3);
+ - create index index_test_4_idx4 on index_test_4(col_int_4);
+ - create index index_test_4_idx5 on index_test_4(col_int_5);
+ - create index index_test_4_idx6 on index_test_4(col_int_6);
+ - create index index_test_4_idx7 on index_test_4(col_int_7);
+ - create index index_test_4_idx8 on index_test_4(col_int_8);
+ - create index index_test_4_idx9 on index_test_4(col_int_9);
+ - create index index_test_4_idx10 on index_test_4(col_int_10);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 1000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: no_index
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_1 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 1_index_test
+ run:
+ - name: Insert_with_1_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_2 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 5_index_test
+ run:
+ - name: Insert_with_5_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_3 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 10_index_test
+ run:
+ - name: Insert_with_10_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_4 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/insertG2_varying_columns.yaml b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/insertG2_varying_columns.yaml
new file mode 100644
index 000000000..2398f8e7f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/insertG2_varying_columns.yaml
@@ -0,0 +1,108 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+#colocated tables
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists table_10_cols;
+ - drop table if exists table_100_cols;
+ - drop table if exists table_1000_cols;
+ - CREATE TABLE table_10_cols (id INT , col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT,primary key (id asc));
+ - CREATE TABLE table_100_cols (id INT, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT,primary key (id asc));
+ - CREATE TABLE table_1000_cols (id INT , col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT,primary key (id asc));
+ cleanup:
+ - drop table if exists table_10_cols;
+ - drop table if exists table_100_cols;
+ - drop table if exists table_1000_cols;
+ loadRules:
+ - table: table_10_cols
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col
+ count: 10
+ util: RandomAString
+ params: [ 5, 5 ]
+ - table: table_100_cols
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col
+ count: 100
+ util: RandomAString
+ params: [ 5, 5 ]
+ - table: table_1000_cols
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col
+ count: 1000
+ util: RandomAString
+ params: [ 5, 5 ]
+ executeRules:
+ - workload: 10_col_test
+ run:
+ - name: Insert_with_10cols_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_10_cols values (?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 10
+ params: [ 5, 5 ]
+ - workload: 100_col_test
+ run:
+ - name: Insert_with_100_cols_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_100_cols values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 100
+ params: [ 5, 5 ]
+ - workload: 1000_col_test
+ run:
+ - name: Insert_with_1000_cols_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_1000_cols values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 1000
+ params: [ 5, 5 ]
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/insertG3_wideTable_idx_backfill.yaml b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/insertG3_wideTable_idx_backfill.yaml
new file mode 100644
index 000000000..ca4e4a48f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/insertG3_wideTable_idx_backfill.yaml
@@ -0,0 +1,64 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+
+works:
+ work:
+ time_secs: 30
+ rate: unlimited
+ warmup: 10
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS wide_table;
+ - CREATE TABLE wide_table (
+ int_col1 INT PRIMARY KEY,
+ int_col2 INT,
+ text_col1 TEXT,
+ text_col2 TEXT,
+ text_col3 TEXT,
+ text_col4 TEXT,
+ text_col5 TEXT,
+ text_col6 TEXT,
+ text_col7 TEXT,
+ text_col8 TEXT,
+ text_col9 TEXT,
+ text_col10 TEXT
+ );
+
+ loadRules:
+ - table: wide_table
+ rows: 100000
+ columns:
+ - name: int_col1
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: int_col2
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: text_col
+ count: 10
+ util: RandomAString
+ params: [5000, 5000]
+
+ executeOnce:
+ - workload: create_index_after_load
+ time_secs: 30
+ run:
+ - name: index_backfill
+ weight: 100
+ queries:
+ query: CREATE INDEX idx_int_col2 ON wide_table(int_col2);
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG1_varying_rows.yaml b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG1_varying_rows.yaml
new file mode 100644
index 000000000..6cee4700f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG1_varying_rows.yaml
@@ -0,0 +1,86 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table update_test_table2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table update_test_table3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ cleanup:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ loadRules:
+ - table: update_test_table
+ count: 3
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [20, 20]
+ - name: col_date
+ util: RandomAString
+ params: [20, 20]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: update_1_row
+ run:
+ - name: Update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ params: [1, 1000000]
+ - workload: update_100
+ run:
+ - name: update_100_rows
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table2 set col_varchar_3 = ? where id > 100 and id <= 200
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+
+ - workload: update_1000
+ run:
+ - name: update_1000_rows
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table3 set col_varchar_3 = ? where id > 1000 and id <= 2000
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG2_varying_indexs.yaml b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG2_varying_indexs.yaml
new file mode 100644
index 000000000..5156293fe
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG2_varying_indexs.yaml
@@ -0,0 +1,91 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table update_test_table2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table update_test_table3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create index index_test_table2 on update_test_table2(col_int_1);
+ - create index index_test_table3 on update_test_table3(col_int_2) include (col_int_1);
+ cleanup:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ loadRules:
+ - table: update_test_table
+ count: 3
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [ 20, 20 ]
+ - name: col_date
+ util: RandomAString
+ params: [ 20, 20 ]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: update_non_index_column
+ run:
+ - name: Update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table1 set col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 10000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: update_1_index_column
+ run:
+ - name: update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table2 set col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 10000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: update_covering_index_column
+ run:
+ - name: update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table3 set col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 10000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG3_varying_columns.yaml b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG3_varying_columns.yaml
new file mode 100644
index 000000000..7e061674f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG3_varying_columns.yaml
@@ -0,0 +1,84 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ - CREATE TABLE update_test_table1 (id INT , col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT, col1001 TEXT, col1002 TEXT, col1003 TEXT, col1004 TEXT, col1005 TEXT, col1006 TEXT, col1007 TEXT, col1008 TEXT, col1009 TEXT, col1010 TEXT, col1011 TEXT, col1012 TEXT, col1013 TEXT, col1014 TEXT, col1015 TEXT, col1016 TEXT, col1017 TEXT, col1018 TEXT, col1019 TEXT, col1020 TEXT, col1021 TEXT, col1022 TEXT, col1023 TEXT, col1024 TEXT, col1025 TEXT, col1026 TEXT, col1027 TEXT, col1028 TEXT, col1029 TEXT, col1030 TEXT, col1031 TEXT, col1032 TEXT, col1033 TEXT, col1034 TEXT, col1035 TEXT, col1036 TEXT, col1037 TEXT, col1038 TEXT, col1039 TEXT, col1040 TEXT, col1041 TEXT, col1042 TEXT, col1043 TEXT, col1044 TEXT, col1045 TEXT, col1046 TEXT, col1047 TEXT, col1048 TEXT, col1049 TEXT, col1050 TEXT, col1051 TEXT, col1052 TEXT, col1053 TEXT, col1054 TEXT, col1055 TEXT, col1056 TEXT, col1057 TEXT, col1058 TEXT, col1059 TEXT, col1060 TEXT, col1061 TEXT, col1062 TEXT, col1063 TEXT, col1064 TEXT, col1065 TEXT, col1066 TEXT, col1067 TEXT, col1068 TEXT, col1069 TEXT, col1070 TEXT, col1071 TEXT, col1072 TEXT, col1073 TEXT, col1074 TEXT, col1075 TEXT, col1076 TEXT, col1077 TEXT, col1078 TEXT, col1079 TEXT, col1080 TEXT, col1081 TEXT, col1082 TEXT, col1083 TEXT, col1084 TEXT, col1085 TEXT, col1086 TEXT, col1087 TEXT, col1088 TEXT, col1089 TEXT, col1090 TEXT, col1091 TEXT, col1092 TEXT, col1093 TEXT, col1094 TEXT, col1095 TEXT, col1096 TEXT, col1097 TEXT, col1098 TEXT, col1099 TEXT, col1100 TEXT,primary key (id asc));
+ - CREATE TABLE update_test_table2 (id INT , col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT, col1001 TEXT, col1002 TEXT, col1003 TEXT, col1004 TEXT, col1005 TEXT, col1006 TEXT, col1007 TEXT, col1008 TEXT, col1009 TEXT, col1010 TEXT, col1011 TEXT, col1012 TEXT, col1013 TEXT, col1014 TEXT, col1015 TEXT, col1016 TEXT, col1017 TEXT, col1018 TEXT, col1019 TEXT, col1020 TEXT, col1021 TEXT, col1022 TEXT, col1023 TEXT, col1024 TEXT, col1025 TEXT, col1026 TEXT, col1027 TEXT, col1028 TEXT, col1029 TEXT, col1030 TEXT, col1031 TEXT, col1032 TEXT, col1033 TEXT, col1034 TEXT, col1035 TEXT, col1036 TEXT, col1037 TEXT, col1038 TEXT, col1039 TEXT, col1040 TEXT, col1041 TEXT, col1042 TEXT, col1043 TEXT, col1044 TEXT, col1045 TEXT, col1046 TEXT, col1047 TEXT, col1048 TEXT, col1049 TEXT, col1050 TEXT, col1051 TEXT, col1052 TEXT, col1053 TEXT, col1054 TEXT, col1055 TEXT, col1056 TEXT, col1057 TEXT, col1058 TEXT, col1059 TEXT, col1060 TEXT, col1061 TEXT, col1062 TEXT, col1063 TEXT, col1064 TEXT, col1065 TEXT, col1066 TEXT, col1067 TEXT, col1068 TEXT, col1069 TEXT, col1070 TEXT, col1071 TEXT, col1072 TEXT, col1073 TEXT, col1074 TEXT, col1075 TEXT, col1076 TEXT, col1077 TEXT, col1078 TEXT, col1079 TEXT, col1080 TEXT, col1081 TEXT, col1082 TEXT, col1083 TEXT, col1084 TEXT, col1085 TEXT, col1086 TEXT, col1087 TEXT, col1088 TEXT, col1089 TEXT, col1090 TEXT, col1091 TEXT, col1092 TEXT, col1093 TEXT, col1094 TEXT, col1095 TEXT, col1096 TEXT, col1097 TEXT, col1098 TEXT, col1099 TEXT, col1100 TEXT,primary key (id asc));
+ - CREATE TABLE update_test_table3 (id INT , col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT, col1001 TEXT, col1002 TEXT, col1003 TEXT, col1004 TEXT, col1005 TEXT, col1006 TEXT, col1007 TEXT, col1008 TEXT, col1009 TEXT, col1010 TEXT, col1011 TEXT, col1012 TEXT, col1013 TEXT, col1014 TEXT, col1015 TEXT, col1016 TEXT, col1017 TEXT, col1018 TEXT, col1019 TEXT, col1020 TEXT, col1021 TEXT, col1022 TEXT, col1023 TEXT, col1024 TEXT, col1025 TEXT, col1026 TEXT, col1027 TEXT, col1028 TEXT, col1029 TEXT, col1030 TEXT, col1031 TEXT, col1032 TEXT, col1033 TEXT, col1034 TEXT, col1035 TEXT, col1036 TEXT, col1037 TEXT, col1038 TEXT, col1039 TEXT, col1040 TEXT, col1041 TEXT, col1042 TEXT, col1043 TEXT, col1044 TEXT, col1045 TEXT, col1046 TEXT, col1047 TEXT, col1048 TEXT, col1049 TEXT, col1050 TEXT, col1051 TEXT, col1052 TEXT, col1053 TEXT, col1054 TEXT, col1055 TEXT, col1056 TEXT, col1057 TEXT, col1058 TEXT, col1059 TEXT, col1060 TEXT, col1061 TEXT, col1062 TEXT, col1063 TEXT, col1064 TEXT, col1065 TEXT, col1066 TEXT, col1067 TEXT, col1068 TEXT, col1069 TEXT, col1070 TEXT, col1071 TEXT, col1072 TEXT, col1073 TEXT, col1074 TEXT, col1075 TEXT, col1076 TEXT, col1077 TEXT, col1078 TEXT, col1079 TEXT, col1080 TEXT, col1081 TEXT, col1082 TEXT, col1083 TEXT, col1084 TEXT, col1085 TEXT, col1086 TEXT, col1087 TEXT, col1088 TEXT, col1089 TEXT, col1090 TEXT, col1091 TEXT, col1092 TEXT, col1093 TEXT, col1094 TEXT, col1095 TEXT, col1096 TEXT, col1097 TEXT, col1098 TEXT, col1099 TEXT, col1100 TEXT,primary key (id asc));
+ cleanup:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ loadRules:
+ - table: update_test_table
+ count: 3
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: col
+ count: 1100
+ util: RandomAString
+ params: [4, 4]
+ executeRules:
+ - workload: update_10_cols
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: update update_test_table1 set col1=?, col2=?, col3=?, col4=?, col5=?, col6=?, col7=?, col8=?, col9=?, col10=? where id = ?
+ bindings:
+ - util: RandomAString
+ count: 10
+ params: [4, 4]
+ - util: RandomNumber
+ params: [1, 100000]
+
+ - workload: update_100_cols
+ run:
+ - name: update_100_cols
+ weight: 100
+ queries:
+ - query: update update_test_table2 set col1=?, col2=?, col3=?, col4=?, col5=?, col6=?, col7=?, col8=?, col9=?, col10=?, col11=?, col12=?, col13=?, col14=?, col15=?, col16=?, col17=?, col18=?, col19=?, col20=?, col21=?, col22=?, col23=?, col24=?, col25=?, col26=?, col27=?, col28=?, col29=?, col30=?, col31=?, col32=?, col33=?, col34=?, col35=?, col36=?, col37=?, col38=?, col39=?, col40=?, col41=?, col42=?, col43=?, col44=?, col45=?, col46=?, col47=?, col48=?, col49=?, col50=? , col51=?, col52=?, col53=?, col54=?, col55=?, col56=?, col57=?, col58=?, col59=?, col60=?, col61=?, col62=?, col63=?, col64=?, col65=?, col66=?, col67=?, col68=?, col69=?, col70=?, col71=?, col72=?, col73=?, col74=?, col75=?, col76=?, col77=?, col78=?, col79=?, col80=?, col81=?, col82=?, col83=?, col84=?, col85=?, col86=?, col87=?, col88=?, col89=?, col90=?, col91=?, col92=?, col93=?, col94=?, col95=?, col96=?, col97=?, col98=?, col99=?, col100=? where id=?;
+ bindings:
+ - util: RandomAString
+ count: 100
+ params: [4, 4]
+ - util: RandomNumber
+ params: [1, 100000]
+
+ - workload: update_1000_cols
+ run:
+ - name: update_1000_cols
+ weight: 100
+ queries:
+ - query: update update_test_table3 set col1=?, col2=?, col3=?, col4=?, col5=?, col6=?, col7=?, col8=?, col9=?, col10=?, col11=?, col12=?, col13=?, col14=?, col15=?, col16=?, col17=?, col18=?, col19=?, col20=?, col21=?, col22=?, col23=?, col24=?, col25=?, col26=?, col27=?, col28=?, col29=?, col30=?, col31=?, col32=?, col33=?, col34=?, col35=?, col36=?, col37=?, col38=?, col39=?, col40=?, col41=?, col42=?, col43=?, col44=?, col45=?, col46=?, col47=?, col48=?, col49=?, col50=? , col51=?, col52=?, col53=?, col54=?, col55=?, col56=?, col57=?, col58=?, col59=?, col60=?, col61=?, col62=?, col63=?, col64=?, col65=?, col66=?, col67=?, col68=?, col69=?, col70=?, col71=?, col72=?, col73=?, col74=?, col75=?, col76=?, col77=?, col78=?, col79=?, col80=?, col81=?, col82=?, col83=?, col84=?, col85=?, col86=?, col87=?, col88=?, col89=?, col90=?, col91=?, col92=?, col93=?, col94=?, col95=?, col96=?, col97=?, col98=?, col99=?, col100=?, col101=?, col102=?, col103=?, col104=?, col105=?, col106=?, col107=?, col108=?, col109=?, col110=?, col111=?, col112=?, col113=?, col114=?, col115=?, col116=?, col117=?, col118=?, col119=?, col120=?, col121=?, col122=?, col123=?, col124=?, col125=?, col126=?, col127=?, col128=?, col129=?, col130=?, col131=?, col132=?, col133=?, col134=?, col135=?, col136=?, col137=?, col138=?, col139=?, col140=?, col141=?, col142=?, col143=?, col144=?, col145=?, col146=?, col147=?, col148=?, col149=?, col150=?, col151=?, col152=?, col153=?, col154=?, col155=?, col156=?, col157=?, col158=?, col159=?, col160=?, col161=?, col162=?, col163=?, col164=?, col165=?, col166=?, col167=?, col168=?, col169=?, col170=?, col171=?, col172=?, col173=?, col174=?, col175=?, col176=?, col177=?, col178=?, col179=?, col180=?, col181=?, col182=?, col183=?, col184=?, col185=?, col186=?, col187=?, col188=?, col189=?, col190=?, col191=?, col192=?, col193=?, col194=?, col195=?, col196=?, col197=?, col198=?, col199=?, col200=?, col201=?, col202=?, col203=?, col204=?, col205=?, col206=?, col207=?, col208=?, col209=?, col210=?, col211=?, col212=?, col213=?, col214=?, col215=?, col216=?, col217=?, col218=?, col219=?, col220=?, col221=?, col222=?, col223=?, col224=?, col225=?, col226=?, col227=?, col228=?, col229=?, col230=?, col231=?, col232=?, col233=?, col234=?, col235=?, col236=?, col237=?, col238=?, col239=?, col240=?, col241=?, col242=?, col243=?, col244=?, col245=?, col246=?, col247=?, col248=?, col249=?, col250=?, col251=?, col252=?, col253=?, col254=?, col255=?, col256=?, col257=?, col258=?, col259=?, col260=?, col261=?, col262=?, col263=?, col264=?, col265=?, col266=?, col267=?, col268=?, col269=?, col270=?, col271=?, col272=?, col273=?, col274=?, col275=?, col276=?, col277=?, col278=?, col279=?, col280=?, col281=?, col282=?, col283=?, col284=?, col285=?, col286=?, col287=?, col288=?, col289=?, col290=?, col291=?, col292=?, col293=?, col294=?, col295=?, col296=?, col297=?, col298=?, col299=?, col300=?, col301=?, col302=?, col303=?, col304=?, col305=?, col306=?, col307=?, col308=?, col309=?, col310=?, col311=?, col312=?, col313=?, col314=?, col315=?, col316=?, col317=?, col318=?, col319=?, col320=?, col321=?, col322=?, col323=?, col324=?, col325=?, col326=?, col327=?, col328=?, col329=?, col330=?, col331=?, col332=?, col333=?, col334=?, col335=?, col336=?, col337=?, col338=?, col339=?, col340=?, col341=?, col342=?, col343=?, col344=?, col345=?, col346=?, col347=?, col348=?, col349=?, col350=?, col351=?, col352=?, col353=?, col354=?, col355=?, col356=?, col357=?, col358=?, col359=?, col360=?, col361=?, col362=?, col363=?, col364=?, col365=?, col366=?, col367=?, col368=?, col369=?, col370=?, col371=?, col372=?, col373=?, col374=?, col375=?, col376=?, col377=?, col378=?, col379=?, col380=?, col381=?, col382=?, col383=?, col384=?, col385=?, col386=?, col387=?, col388=?, col389=?, col390=?, col391=?, col392=?, col393=?, col394=?, col395=?, col396=?, col397=?, col398=?, col399=?, col400=?, col401=?, col402=?, col403=?, col404=?, col405=?, col406=?, col407=?, col408=?, col409=?, col410=?, col411=?, col412=?, col413=?, col414=?, col415=?, col416=?, col417=?, col418=?, col419=?, col420=?, col421=?, col422=?, col423=?, col424=?, col425=?, col426=?, col427=?, col428=?, col429=?, col430=?, col431=?, col432=?, col433=?, col434=?, col435=?, col436=?, col437=?, col438=?, col439=?, col440=?, col441=?, col442=?, col443=?, col444=?, col445=?, col446=?, col447=?, col448=?, col449=?, col450=?, col451=?, col452=?, col453=?, col454=?, col455=?, col456=?, col457=?, col458=?, col459=?, col460=?, col461=?, col462=?, col463=?, col464=?, col465=?, col466=?, col467=?, col468=?, col469=?, col470=?, col471=?, col472=?, col473=?, col474=?, col475=?, col476=?, col477=?, col478=?, col479=?, col480=?, col481=?, col482=?, col483=?, col484=?, col485=?, col486=?, col487=?, col488=?, col489=?, col490=?, col491=?, col492=?, col493=?, col494=?, col495=?, col496=?, col497=?, col498=?, col499=?, col500=?, col501=?, col502=?, col503=?, col504=?, col505=?, col506=?, col507=?, col508=?, col509=?, col510=?, col511=?, col512=?, col513=?, col514=?, col515=?, col516=?, col517=?, col518=?, col519=?, col520=?, col521=?, col522=?, col523=?, col524=?, col525=?, col526=?, col527=?, col528=?, col529=?, col530=?, col531=?, col532=?, col533=?, col534=?, col535=?, col536=?, col537=?, col538=?, col539=?, col540=?, col541=?, col542=?, col543=?, col544=?, col545=?, col546=?, col547=?, col548=?, col549=?, col550=?, col551=?, col552=?, col553=?, col554=?, col555=?, col556=?, col557=?, col558=?, col559=?, col560=?, col561=?, col562=?, col563=?, col564=?, col565=?, col566=?, col567=?, col568=?, col569=?, col570=?, col571=?, col572=?, col573=?, col574=?, col575=?, col576=?, col577=?, col578=?, col579=?, col580=?, col581=?, col582=?, col583=?, col584=?, col585=?, col586=?, col587=?, col588=?, col589=?, col590=?, col591=?, col592=?, col593=?, col594=?, col595=?, col596=?, col597=?, col598=?, col599=?, col600=?, col601=?, col602=?, col603=?, col604=?, col605=?, col606=?, col607=?, col608=?, col609=?, col610=?, col611=?, col612=?, col613=?, col614=?, col615=?, col616=?, col617=?, col618=?, col619=?, col620=?, col621=?, col622=?, col623=?, col624=?, col625=?, col626=?, col627=?, col628=?, col629=?, col630=?, col631=?, col632=?, col633=?, col634=?, col635=?, col636=?, col637=?, col638=?, col639=?, col640=?, col641=?, col642=?, col643=?, col644=?, col645=?, col646=?, col647=?, col648=?, col649=?, col650=?, col651=?, col652=?, col653=?, col654=?, col655=?, col656=?, col657=?, col658=?, col659=?, col660=?, col661=?, col662=?, col663=?, col664=?, col665=?, col666=?, col667=?, col668=?, col669=?, col670=?, col671=?, col672=?, col673=?, col674=?, col675=?, col676=?, col677=?, col678=?, col679=?, col680=?, col681=?, col682=?, col683=?, col684=?, col685=?, col686=?, col687=?, col688=?, col689=?, col690=?, col691=?, col692=?, col693=?, col694=?, col695=?, col696=?, col697=?, col698=?, col699=?, col700=?, col701=?, col702=?, col703=?, col704=?, col705=?, col706=?, col707=?, col708=?, col709=?, col710=?, col711=?, col712=?, col713=?, col714=?, col715=?, col716=?, col717=?, col718=?, col719=?, col720=?, col721=?, col722=?, col723=?, col724=?, col725=?, col726=?, col727=?, col728=?, col729=?, col730=?, col731=?, col732=?, col733=?, col734=?, col735=?, col736=?, col737=?, col738=?, col739=?, col740=?, col741=?, col742=?, col743=?, col744=?, col745=?, col746=?, col747=?, col748=?, col749=?, col750=?, col751=?, col752=?, col753=?, col754=?, col755=?, col756=?, col757=?, col758=?, col759=?, col760=?, col761=?, col762=?, col763=?, col764=?, col765=?, col766=?, col767=?, col768=?, col769=?, col770=?, col771=?, col772=?, col773=?, col774=?, col775=?, col776=?, col777=?, col778=?, col779=?, col780=?, col781=?, col782=?, col783=?, col784=?, col785=?, col786=?, col787=?, col788=?, col789=?, col790=?, col791=?, col792=?, col793=?, col794=?, col795=?, col796=?, col797=?, col798=?, col799=?, col800=?, col801=?, col802=?, col803=?, col804=?, col805=?, col806=?, col807=?, col808=?, col809=?, col810=?, col811=?, col812=?, col813=?, col814=?, col815=?, col816=?, col817=?, col818=?, col819=?, col820=?, col821=?, col822=?, col823=?, col824=?, col825=?, col826=?, col827=?, col828=?, col829=?, col830=?, col831=?, col832=?, col833=?, col834=?, col835=?, col836=?, col837=?, col838=?, col839=?, col840=?, col841=?, col842=?, col843=?, col844=?, col845=?, col846=?, col847=?, col848=?, col849=?, col850=?, col851=?, col852=?, col853=?, col854=?, col855=?, col856=?, col857=?, col858=?, col859=?, col860=?, col861=?, col862=?, col863=?, col864=?, col865=?, col866=?, col867=?, col868=?, col869=?, col870=?, col871=?, col872=?, col873=?, col874=?, col875=?, col876=?, col877=?, col878=?, col879=?, col880=?, col881=?, col882=?, col883=?, col884=?, col885=?, col886=?, col887=?, col888=?, col889=?, col890=?, col891=?, col892=?, col893=?, col894=?, col895=?, col896=?, col897=?, col898=?, col899=?, col900=?, col901=?, col902=?, col903=?, col904=?, col905=?, col906=?, col907=?, col908=?, col909=?, col910=?, col911=?, col912=?, col913=?, col914=?, col915=?, col916=?, col917=?, col918=?, col919=?, col920=?, col921=?, col922=?, col923=?, col924=?, col925=?, col926=?, col927=?, col928=?, col929=?, col930=?, col931=?, col932=?, col933=?, col934=?, col935=?, col936=?, col937=?, col938=?, col939=?, col940=?, col941=?, col942=?, col943=?, col944=?, col945=?, col946=?, col947=?, col948=?, col949=?, col950=?, col951=?, col952=?, col953=?, col954=?, col955=?, col956=?, col957=?, col958=?, col959=?, col960=?, col961=?, col962=?, col963=?, col964=?, col965=?, col966=?, col967=?, col968=?, col969=?, col970=?, col971=?, col972=?, col973=?, col974=?, col975=?, col976=?, col977=?, col978=?, col979=?, col980=?, col981=?, col982=?, col983=?, col984=?, col985=?, col986=?, col987=?, col988=?, col989=?, col990=?, col991=?, col992=?, col993=?, col994=?, col995=?, col996=?, col997=?, col998=?, col999=?, col1000=? where id=?;
+ bindings:
+ - util: RandomAString
+ count: 1000
+ params: [4, 4]
+ - util: RandomNumber
+ params: [1, 100000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG4_unmodified_set_clause.yaml b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG4_unmodified_set_clause.yaml
new file mode 100644
index 000000000..5ad34a62d
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG4_unmodified_set_clause.yaml
@@ -0,0 +1,196 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1 CASCADE;
+ - DROP TABLE IF EXISTS pkeyBigint1M_child_1 CASCADE;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card1_1);
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card2_1 ASC) INCLUDE (col_bigint_id_2);
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card3_1 DESC);
+ - CREATE UNIQUE INDEX ON pkeyBigint1M_1(col_bigint_id_3);
+ - CREATE TABLE pkeyBigint1M_child_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_varchar10_id_1 varchar(10), col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, PRIMARY KEY(col_bigint_id_1));
+ - ALTER TABLE pkeyBigint1M_child_1 ADD CONSTRAINT pkeyBigint1M_child_id1_fk FOREIGN KEY (col_bigint_id_2) REFERENCES pkeyBigint1M_1 (col_bigint_id_1) ON UPDATE CASCADE;
+ - ALTER TABLE pkeyBigint1M_child_1 ADD CONSTRAINT pkeyBigint1M_child_id2_fk FOREIGN KEY (col_bigint_id_3) REFERENCES pkeyBigint1M_1 (col_bigint_id_3) ON UPDATE CASCADE;
+ - CREATE INDEX ON pkeyBigint1M_child_1(col_bigint_card1_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1 CASCADE;
+ - DROP TABLE IF EXISTS pkeyBigint1M_child_1 CASCADE;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1010000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: pkeyBigint1M_child_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_varchar10_id_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1010000]
+
+ executeRules:
+ - workload: UG4_1_no_update_to_constraint_tbl1
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE pkeyBigint1M_1 SET col_bigint_id_1=?, col_bigint_id_2=?,col_bigint_id_3=?, col_bigint_card1_1=1000000, col_float2_1 = col_float2_1 + 1 where col_bigint_id_1 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+
+ - workload: UG4_2_no_update_to_constraint_tbl2
+ run:
+ - name: update_100_cols
+ weight: 100
+ queries:
+ - query: UPDATE pkeyBigint1M_child_1 SET col_bigint_id_1=?, col_bigint_id_2=?,col_bigint_id_3=?, col_bigint_card1_1=1000000, col_varchar10_id_1 = ? where col_bigint_id_1 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: RandomAString
+ params: [10, 10]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+
+ - workload: UG4_3_no_update_to_constraint_on_conflict_tbl1
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: INSERT INTO pkeyBigint1M_1 (col_bigint_card1_1,col_bigint_card2_1,col_bigint_card3_1,col_bigint_id_1,col_bigint_id_2,col_bigint_id_3,col_float2_1,col_float2_2,col_float5_1,col_float5_2,col_boolean_1,col_varchar10_id_1,col_varchar100_id_1,col_varchar100_id_2,col_varchar500_id_1) VALUES (1000000,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON CONFLICT (col_bigint_id_1) DO UPDATE SET col_varchar100_id_1 = ? RETURNING *
+ bindings:
+ - util: RandomInt
+ params: [ 1000001,1001000 ]
+ - util: RandomInt
+ params: [ 1000001,1010000]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - util: RandomBoolean
+ - util: PrimaryStringGen
+ params: [1, 10]
+ - util: PrimaryStringGen
+ params: [1, 100]
+ - util: PrimaryStringGen
+ params: [1, 100]
+ - util: PrimaryStringGen
+ params: [1, 500]
+ - util: RandomAString
+ params: [ 100, 100 ]
+
+ - workload: UG4_4_update_constraint_tbl1
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE pkeyBigint1M_1 SET col_bigint_id_1=?, col_bigint_id_2=?,col_bigint_id_3=?, col_bigint_card1_1=3000000, col_float2_1 = col_float2_1 + 1 where col_bigint_id_1 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG5_update_included_colm.yaml b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG5_update_included_colm.yaml
new file mode 100644
index 000000000..1786ef8f0
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yb_colocated/updateG5_update_included_colm.yaml
@@ -0,0 +1,206 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl1_1;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl1_2;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl2_child_1 CASCADE;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl2_1 CASCADE;
+
+ - CREATE TABLE UG5_cardinality_tbl1_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_int_id_1 int, col_int_id_2 int, col_int_id_3 int, col_int_id_4 int, col_int_card1_1 int, col_int_card1_2 int, col_int_card1_3 int, col_int_card1_4 int, col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON UG5_cardinality_tbl1_1(col_bigint_card2_1) INCLUDE (col_bigint_card3_1) # update multiple(1000) rows with point select
+ - CREATE INDEX ON UG5_cardinality_tbl1_1(col_bigint_card1_1) INCLUDE (col_bigint_id_2) # update all(1M) rows with point select
+ - CREATE INDEX ON UG5_cardinality_tbl1_1(col_bigint_id_3) INCLUDE (col_int_id_4) # update single column + 1 row with point select
+ - CREATE INDEX ON UG5_cardinality_tbl1_1(col_bigint_id_5 ASC) INCLUDE (col_int_card1_4) # update single column + 1M row
+
+ - CREATE TABLE UG5_cardinality_tbl1_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_int_id_1 int, col_int_id_2 int, col_int_id_3 int, col_int_id_4 int, col_int_card1_1 int, col_int_card1_2 int, col_int_card1_3 int, col_int_card1_4 int, col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON UG5_cardinality_tbl1_2(col_bigint_id_5 ASC) INCLUDE (col_int_card1_4) # update single column + 1M row
+
+ - CREATE TABLE UG5_cardinality_tbl2_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_int_id_1 int, col_int_id_2 int, col_int_id_3 int, col_int_id_4 int, col_int_card1_1 int, col_int_card1_2 int, col_int_card1_3 int, col_int_card1_4 int, col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE UNIQUE INDEX ON UG5_cardinality_tbl2_1(col_bigint_id_2);
+ - CREATE UNIQUE INDEX ON UG5_cardinality_tbl2_1(col_bigint_id_3);
+ - CREATE UNIQUE INDEX ON UG5_cardinality_tbl2_1(col_bigint_id_4);
+ - CREATE INDEX ON UG5_cardinality_tbl2_1(col_int_id_1 ASC) INCLUDE (col_bigint_id_2,col_bigint_id_3,col_bigint_id_4); #Index created so that an update on these included columns will should cascade to child table and it's indexes
+ - CREATE TABLE UG5_cardinality_tbl2_child_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_varchar10_id_1 varchar(10), col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, PRIMARY KEY(col_bigint_id_1));
+ - ALTER TABLE UG5_cardinality_tbl2_child_1 ADD CONSTRAINT UG5_cardinality_tbl2_child_id1_fk FOREIGN KEY (col_bigint_id_2) REFERENCES UG5_cardinality_tbl2_1 (col_bigint_id_1) ON UPDATE CASCADE;
+ - ALTER TABLE UG5_cardinality_tbl2_child_1 ADD CONSTRAINT UG5_cardinality_tbl2_child_id2_fk FOREIGN KEY (col_bigint_id_3) REFERENCES UG5_cardinality_tbl2_1 (col_bigint_id_2) ON UPDATE CASCADE;
+ - ALTER TABLE UG5_cardinality_tbl2_child_1 ADD CONSTRAINT UG5_cardinality_tbl2_child_id3_fk FOREIGN KEY (col_bigint_id_4) REFERENCES UG5_cardinality_tbl2_1 (col_bigint_id_3) ON UPDATE CASCADE;
+ - ALTER TABLE UG5_cardinality_tbl2_child_1 ADD CONSTRAINT UG5_cardinality_tbl2_child_id4_fk FOREIGN KEY (col_bigint_id_5) REFERENCES UG5_cardinality_tbl2_1 (col_bigint_id_4) ON UPDATE CASCADE;
+ - CREATE INDEX ON UG5_cardinality_tbl2_child_1(col_bigint_id_2 ASC) INCLUDE (col_bigint_id_3,col_bigint_id_4,col_bigint_id_5); #Update on referenced+included colmn
+ - CREATE INDEX ON UG5_cardinality_tbl2_child_1(col_bigint_id_3 ASC);
+ - CREATE INDEX ON UG5_cardinality_tbl2_child_1(col_bigint_id_4 ASC);
+ - CREATE INDEX ON UG5_cardinality_tbl2_child_1(col_bigint_id_5 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl2_child_1 CASCADE;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl1_1;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl1_2;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl2_1 CASCADE;
+
+ loadRules:
+
+ - table: UG5_cardinality_tbl1_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1010000]
+ - name: col_bigint_id_
+ count: 6
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_card1_
+ count: 4
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: UG5_cardinality_tbl2_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1010000]
+ - name: col_bigint_id_
+ count: 6
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_card1_
+ count: 4
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: UG5_cardinality_tbl2_child_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 5
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_varchar10_id_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1010000]
+
+ executeRules:
+
+ # update single column + 1 row with point select
+ - workload: UG5_1_update_1_rows_1col_included_colm_point_select_filter
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl1_1 SET col_int_id_4=col_int_id_4+1 where col_bigint_id_3 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+
+ # update single column + 1M row
+ - workload: UG5_2_update_1M_rows_1col_included_colm_range_filter
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl1_1 SET col_int_card1_4=col_int_card1_4+1 where col_bigint_id_5 > 0
+
+ # update single column + 1M row
+ - workload: UG5_3_update_1M_rows_1col_included_colm_range_filter_range_tbl
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl1_2 SET col_int_card1_4=col_int_card1_4+1 where col_bigint_id_5 > 0
+
+ # Update on parent tbl 3cols which are included in an index (col_bigint_id_2,col_bigint_id_3,col_bigint_id_4) referenced in child tbl (col_bigint_id_3,col_bigint_id_4,col_bigint_id_5) and also part of an included colms of an index
+ - workload: UG5_4_update_parent_tbls_referenced_included_colm_1row
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl2_1 SET col_bigint_id_2=col_bigint_id_2+1000000, col_bigint_id_3=col_bigint_id_3+1000000, col_bigint_id_4=col_bigint_id_4+1000000 where col_int_id_1 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 800000 ]
+
+ # Update on parent tbl 3cols which are included in an index (col_bigint_id_2,col_bigint_id_3,col_bigint_id_4) referenced in child tbl (col_bigint_id_3,col_bigint_id_4,col_bigint_id_5) and also part of an included colms of an index
+ - workload: UG5_5_update_parent_tbls_referenced_included_colm_1k_rows
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl2_1 SET col_bigint_id_2=col_bigint_id_2+1000000, col_bigint_id_3=col_bigint_id_3+1000000, col_bigint_id_4=col_bigint_id_4+1000000 where col_int_id_1 > 999000
+
+ - workload: UG5_6_update_child_tbls_referenced_included_colm_1k_rows
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE ug5_cardinality_tbl2_child_1 SET col_bigint_id_3=900000 where col_bigint_id_2<1001
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yugabyte/insertG1_varying_index.yaml b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/insertG1_varying_index.yaml
new file mode 100644
index 000000000..287a430cc
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/insertG1_varying_index.yaml
@@ -0,0 +1,152 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create index index_test_2_idx1 on index_test_2(col_int_1);
+ - create index index_test_3_idx1 on index_test_3(col_int_1);
+ - create index index_test_3_idx2 on index_test_3(col_int_2);
+ - create index index_test_3_idx3 on index_test_3(col_int_3);
+ - create index index_test_3_idx4 on index_test_3(col_int_4);
+ - create index index_test_3_idx5 on index_test_3(col_int_5);
+ - create index index_test_4_idx1 on index_test_4(col_int_1);
+ - create index index_test_4_idx2 on index_test_4(col_int_2);
+ - create index index_test_4_idx3 on index_test_4(col_int_3);
+ - create index index_test_4_idx4 on index_test_4(col_int_4);
+ - create index index_test_4_idx5 on index_test_4(col_int_5);
+ - create index index_test_4_idx6 on index_test_4(col_int_6);
+ - create index index_test_4_idx7 on index_test_4(col_int_7);
+ - create index index_test_4_idx8 on index_test_4(col_int_8);
+ - create index index_test_4_idx9 on index_test_4(col_int_9);
+ - create index index_test_4_idx10 on index_test_4(col_int_10);
+ cleanup:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ loadRules:
+ - table: index_test_
+ count: 4
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000000
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params:
+ - 1
+ - 1000000
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_date
+ util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: no_index
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_1 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 1_index_test
+ run:
+ - name: Insert_with_1_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_2 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 5_index_test
+ run:
+ - name: Insert_with_5_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_3 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 10_index_test
+ run:
+ - name: Insert_with_10_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_4 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yugabyte/insertG2_varying_columns.yaml b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/insertG2_varying_columns.yaml
new file mode 100644
index 000000000..88df46738
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/insertG2_varying_columns.yaml
@@ -0,0 +1,105 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ active_terminals: 1
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists table_10_cols;
+ - drop table if exists table_100_cols;
+ - drop table if exists table_1000_cols;
+ - CREATE TABLE table_10_cols (id INT, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT,primary key (id asc));
+ - CREATE TABLE table_100_cols (id INT , col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT,primary key (id asc));
+ - CREATE TABLE table_1000_cols (id INT , col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT,primary key (id asc));
+ cleanup:
+ - drop table if exists table_10_cols;
+ - drop table if exists table_100_cols;
+ - drop table if exists table_1000_cols;
+ loadRules:
+ - table: table_10_cols
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col
+ count: 10
+ util: RandomAString
+ params: [ 5, 5 ]
+ - table: table_100_cols
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col
+ count: 100
+ util: RandomAString
+ params: [ 5, 5 ]
+ - table: table_1000_cols
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 100000 ]
+ - name: col
+ count: 1000
+ util: RandomAString
+ params: [ 5, 5 ]
+ executeRules:
+ - workload: 10_col_test
+ run:
+ - name: Insert_with_10cols_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_10_cols values (?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 10
+ params: [ 5, 5 ]
+ - workload: 100_col_test
+ run:
+ - name: Insert_with_100_cols_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_100_cols values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 100
+ params: [ 5, 5 ]
+ - workload: 1000_col_test
+ run:
+ - name: Insert_with_1000_cols_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_1000_cols values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 1000
+ params: [ 5, 5 ]
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yugabyte/insertG3_wideTable_idx_backfill.yaml b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/insertG3_wideTable_idx_backfill.yaml
new file mode 100644
index 000000000..48b1dae8f
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/insertG3_wideTable_idx_backfill.yaml
@@ -0,0 +1,62 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+yaml_version: v1.0
+use_dist_in_explain: true
+
+works:
+ work:
+ time_secs: 30
+ rate: unlimited
+ warmup: 10
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - drop table IF EXISTS wide_table;
+ - CREATE TABLE wide_table (
+ int_col1 INT PRIMARY KEY,
+ int_col2 INT,
+ text_col1 TEXT,
+ text_col2 TEXT,
+ text_col3 TEXT,
+ text_col4 TEXT,
+ text_col5 TEXT,
+ text_col6 TEXT,
+ text_col7 TEXT,
+ text_col8 TEXT,
+ text_col9 TEXT,
+ text_col10 TEXT
+ );
+
+ loadRules:
+ - table: wide_table
+ rows: 100000
+ columns:
+ - name: int_col1
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: int_col2
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: text_col
+ count: 10
+ util: RandomAString
+ params: [5000, 5000]
+
+ executeOnce:
+ - workload: create_index_after_load
+ time_secs: 30
+ run:
+ - name: index_backfill
+ weight: 100
+ queries:
+ query: CREATE INDEX idx_int_col2 ON wide_table(int_col2);
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG1_varying_rows.yaml b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG1_varying_rows.yaml
new file mode 100644
index 000000000..003fbb353
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG1_varying_rows.yaml
@@ -0,0 +1,85 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table update_test_table2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table update_test_table3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ cleanup:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ loadRules:
+ - table: update_test_table
+ count: 3
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [20, 20]
+ - name: col_date
+ util: RandomAString
+ params: [20, 20]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: update_1_row
+ run:
+ - name: Update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ params: [1, 1000000]
+ - workload: update_100
+ run:
+ - name: update_100_rows
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table2 set col_varchar_3 = ? where id > 100 and id <= 200
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+
+ - workload: update_1000
+ run:
+ - name: update_1000_rows
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table3 set col_varchar_3 = ? where id > 1000 and id <= 2000
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG2_varying_indexs.yaml b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG2_varying_indexs.yaml
new file mode 100644
index 000000000..c6ada2e10
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG2_varying_indexs.yaml
@@ -0,0 +1,92 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table update_test_table2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create table update_test_table3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id asc))
+ - create index index_test_table2 on update_test_table2(col_int_1);
+ - create index index_test_table3 on update_test_table3(col_int_2) include (col_int_1);
+ cleanup:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ loadRules:
+ - table: update_test_table
+ count: 3
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [ 20, 20 ]
+ - name: col_date
+ util: RandomAString
+ params: [ 20, 20 ]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: update_non_index_column
+ run:
+ - name: Update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table1 set col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 10000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: update_1_index_column
+ run:
+ - name: update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table2 set col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 10000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: update_covering_index_column
+ run:
+ - name: update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table3 set col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 10000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+
+
+
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG3_varying_columns.yaml b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG3_varying_columns.yaml
new file mode 100644
index 000000000..dd51d089a
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG3_varying_columns.yaml
@@ -0,0 +1,83 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ - CREATE TABLE update_test_table1 (id INT , col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT, col1001 TEXT, col1002 TEXT, col1003 TEXT, col1004 TEXT, col1005 TEXT, col1006 TEXT, col1007 TEXT, col1008 TEXT, col1009 TEXT, col1010 TEXT, col1011 TEXT, col1012 TEXT, col1013 TEXT, col1014 TEXT, col1015 TEXT, col1016 TEXT, col1017 TEXT, col1018 TEXT, col1019 TEXT, col1020 TEXT, col1021 TEXT, col1022 TEXT, col1023 TEXT, col1024 TEXT, col1025 TEXT, col1026 TEXT, col1027 TEXT, col1028 TEXT, col1029 TEXT, col1030 TEXT, col1031 TEXT, col1032 TEXT, col1033 TEXT, col1034 TEXT, col1035 TEXT, col1036 TEXT, col1037 TEXT, col1038 TEXT, col1039 TEXT, col1040 TEXT, col1041 TEXT, col1042 TEXT, col1043 TEXT, col1044 TEXT, col1045 TEXT, col1046 TEXT, col1047 TEXT, col1048 TEXT, col1049 TEXT, col1050 TEXT, col1051 TEXT, col1052 TEXT, col1053 TEXT, col1054 TEXT, col1055 TEXT, col1056 TEXT, col1057 TEXT, col1058 TEXT, col1059 TEXT, col1060 TEXT, col1061 TEXT, col1062 TEXT, col1063 TEXT, col1064 TEXT, col1065 TEXT, col1066 TEXT, col1067 TEXT, col1068 TEXT, col1069 TEXT, col1070 TEXT, col1071 TEXT, col1072 TEXT, col1073 TEXT, col1074 TEXT, col1075 TEXT, col1076 TEXT, col1077 TEXT, col1078 TEXT, col1079 TEXT, col1080 TEXT, col1081 TEXT, col1082 TEXT, col1083 TEXT, col1084 TEXT, col1085 TEXT, col1086 TEXT, col1087 TEXT, col1088 TEXT, col1089 TEXT, col1090 TEXT, col1091 TEXT, col1092 TEXT, col1093 TEXT, col1094 TEXT, col1095 TEXT, col1096 TEXT, col1097 TEXT, col1098 TEXT, col1099 TEXT, col1100 TEXT,primary key (id asc));
+ - CREATE TABLE update_test_table2 (id INT , col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT, col1001 TEXT, col1002 TEXT, col1003 TEXT, col1004 TEXT, col1005 TEXT, col1006 TEXT, col1007 TEXT, col1008 TEXT, col1009 TEXT, col1010 TEXT, col1011 TEXT, col1012 TEXT, col1013 TEXT, col1014 TEXT, col1015 TEXT, col1016 TEXT, col1017 TEXT, col1018 TEXT, col1019 TEXT, col1020 TEXT, col1021 TEXT, col1022 TEXT, col1023 TEXT, col1024 TEXT, col1025 TEXT, col1026 TEXT, col1027 TEXT, col1028 TEXT, col1029 TEXT, col1030 TEXT, col1031 TEXT, col1032 TEXT, col1033 TEXT, col1034 TEXT, col1035 TEXT, col1036 TEXT, col1037 TEXT, col1038 TEXT, col1039 TEXT, col1040 TEXT, col1041 TEXT, col1042 TEXT, col1043 TEXT, col1044 TEXT, col1045 TEXT, col1046 TEXT, col1047 TEXT, col1048 TEXT, col1049 TEXT, col1050 TEXT, col1051 TEXT, col1052 TEXT, col1053 TEXT, col1054 TEXT, col1055 TEXT, col1056 TEXT, col1057 TEXT, col1058 TEXT, col1059 TEXT, col1060 TEXT, col1061 TEXT, col1062 TEXT, col1063 TEXT, col1064 TEXT, col1065 TEXT, col1066 TEXT, col1067 TEXT, col1068 TEXT, col1069 TEXT, col1070 TEXT, col1071 TEXT, col1072 TEXT, col1073 TEXT, col1074 TEXT, col1075 TEXT, col1076 TEXT, col1077 TEXT, col1078 TEXT, col1079 TEXT, col1080 TEXT, col1081 TEXT, col1082 TEXT, col1083 TEXT, col1084 TEXT, col1085 TEXT, col1086 TEXT, col1087 TEXT, col1088 TEXT, col1089 TEXT, col1090 TEXT, col1091 TEXT, col1092 TEXT, col1093 TEXT, col1094 TEXT, col1095 TEXT, col1096 TEXT, col1097 TEXT, col1098 TEXT, col1099 TEXT, col1100 TEXT,primary key (id asc));
+ - CREATE TABLE update_test_table3 (id INT , col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT, col1001 TEXT, col1002 TEXT, col1003 TEXT, col1004 TEXT, col1005 TEXT, col1006 TEXT, col1007 TEXT, col1008 TEXT, col1009 TEXT, col1010 TEXT, col1011 TEXT, col1012 TEXT, col1013 TEXT, col1014 TEXT, col1015 TEXT, col1016 TEXT, col1017 TEXT, col1018 TEXT, col1019 TEXT, col1020 TEXT, col1021 TEXT, col1022 TEXT, col1023 TEXT, col1024 TEXT, col1025 TEXT, col1026 TEXT, col1027 TEXT, col1028 TEXT, col1029 TEXT, col1030 TEXT, col1031 TEXT, col1032 TEXT, col1033 TEXT, col1034 TEXT, col1035 TEXT, col1036 TEXT, col1037 TEXT, col1038 TEXT, col1039 TEXT, col1040 TEXT, col1041 TEXT, col1042 TEXT, col1043 TEXT, col1044 TEXT, col1045 TEXT, col1046 TEXT, col1047 TEXT, col1048 TEXT, col1049 TEXT, col1050 TEXT, col1051 TEXT, col1052 TEXT, col1053 TEXT, col1054 TEXT, col1055 TEXT, col1056 TEXT, col1057 TEXT, col1058 TEXT, col1059 TEXT, col1060 TEXT, col1061 TEXT, col1062 TEXT, col1063 TEXT, col1064 TEXT, col1065 TEXT, col1066 TEXT, col1067 TEXT, col1068 TEXT, col1069 TEXT, col1070 TEXT, col1071 TEXT, col1072 TEXT, col1073 TEXT, col1074 TEXT, col1075 TEXT, col1076 TEXT, col1077 TEXT, col1078 TEXT, col1079 TEXT, col1080 TEXT, col1081 TEXT, col1082 TEXT, col1083 TEXT, col1084 TEXT, col1085 TEXT, col1086 TEXT, col1087 TEXT, col1088 TEXT, col1089 TEXT, col1090 TEXT, col1091 TEXT, col1092 TEXT, col1093 TEXT, col1094 TEXT, col1095 TEXT, col1096 TEXT, col1097 TEXT, col1098 TEXT, col1099 TEXT, col1100 TEXT,primary key (id asc));
+ cleanup:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ loadRules:
+ - table: update_test_table
+ count: 3
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: col
+ count: 1100
+ util: RandomAString
+ params: [4, 4]
+ executeRules:
+ - workload: update_10_cols
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: update update_test_table1 set col1=?, col2=?, col3=?, col4=?, col5=?, col6=?, col7=?, col8=?, col9=?, col10=? where id = ?
+ bindings:
+ - util: RandomAString
+ count: 10
+ params: [4, 4]
+ - util: RandomNumber
+ params: [1, 100000]
+
+ - workload: update_100_cols
+ run:
+ - name: update_100_cols
+ weight: 100
+ queries:
+ - query: update update_test_table2 set col1=?, col2=?, col3=?, col4=?, col5=?, col6=?, col7=?, col8=?, col9=?, col10=?, col11=?, col12=?, col13=?, col14=?, col15=?, col16=?, col17=?, col18=?, col19=?, col20=?, col21=?, col22=?, col23=?, col24=?, col25=?, col26=?, col27=?, col28=?, col29=?, col30=?, col31=?, col32=?, col33=?, col34=?, col35=?, col36=?, col37=?, col38=?, col39=?, col40=?, col41=?, col42=?, col43=?, col44=?, col45=?, col46=?, col47=?, col48=?, col49=?, col50=? , col51=?, col52=?, col53=?, col54=?, col55=?, col56=?, col57=?, col58=?, col59=?, col60=?, col61=?, col62=?, col63=?, col64=?, col65=?, col66=?, col67=?, col68=?, col69=?, col70=?, col71=?, col72=?, col73=?, col74=?, col75=?, col76=?, col77=?, col78=?, col79=?, col80=?, col81=?, col82=?, col83=?, col84=?, col85=?, col86=?, col87=?, col88=?, col89=?, col90=?, col91=?, col92=?, col93=?, col94=?, col95=?, col96=?, col97=?, col98=?, col99=?, col100=? where id=?;
+ bindings:
+ - util: RandomAString
+ count: 100
+ params: [4, 4]
+ - util: RandomNumber
+ params: [1, 100000]
+
+ - workload: update_1000_cols
+ run:
+ - name: update_1000_cols
+ weight: 100
+ queries:
+ - query: update update_test_table3 set col1=?, col2=?, col3=?, col4=?, col5=?, col6=?, col7=?, col8=?, col9=?, col10=?, col11=?, col12=?, col13=?, col14=?, col15=?, col16=?, col17=?, col18=?, col19=?, col20=?, col21=?, col22=?, col23=?, col24=?, col25=?, col26=?, col27=?, col28=?, col29=?, col30=?, col31=?, col32=?, col33=?, col34=?, col35=?, col36=?, col37=?, col38=?, col39=?, col40=?, col41=?, col42=?, col43=?, col44=?, col45=?, col46=?, col47=?, col48=?, col49=?, col50=? , col51=?, col52=?, col53=?, col54=?, col55=?, col56=?, col57=?, col58=?, col59=?, col60=?, col61=?, col62=?, col63=?, col64=?, col65=?, col66=?, col67=?, col68=?, col69=?, col70=?, col71=?, col72=?, col73=?, col74=?, col75=?, col76=?, col77=?, col78=?, col79=?, col80=?, col81=?, col82=?, col83=?, col84=?, col85=?, col86=?, col87=?, col88=?, col89=?, col90=?, col91=?, col92=?, col93=?, col94=?, col95=?, col96=?, col97=?, col98=?, col99=?, col100=?, col101=?, col102=?, col103=?, col104=?, col105=?, col106=?, col107=?, col108=?, col109=?, col110=?, col111=?, col112=?, col113=?, col114=?, col115=?, col116=?, col117=?, col118=?, col119=?, col120=?, col121=?, col122=?, col123=?, col124=?, col125=?, col126=?, col127=?, col128=?, col129=?, col130=?, col131=?, col132=?, col133=?, col134=?, col135=?, col136=?, col137=?, col138=?, col139=?, col140=?, col141=?, col142=?, col143=?, col144=?, col145=?, col146=?, col147=?, col148=?, col149=?, col150=?, col151=?, col152=?, col153=?, col154=?, col155=?, col156=?, col157=?, col158=?, col159=?, col160=?, col161=?, col162=?, col163=?, col164=?, col165=?, col166=?, col167=?, col168=?, col169=?, col170=?, col171=?, col172=?, col173=?, col174=?, col175=?, col176=?, col177=?, col178=?, col179=?, col180=?, col181=?, col182=?, col183=?, col184=?, col185=?, col186=?, col187=?, col188=?, col189=?, col190=?, col191=?, col192=?, col193=?, col194=?, col195=?, col196=?, col197=?, col198=?, col199=?, col200=?, col201=?, col202=?, col203=?, col204=?, col205=?, col206=?, col207=?, col208=?, col209=?, col210=?, col211=?, col212=?, col213=?, col214=?, col215=?, col216=?, col217=?, col218=?, col219=?, col220=?, col221=?, col222=?, col223=?, col224=?, col225=?, col226=?, col227=?, col228=?, col229=?, col230=?, col231=?, col232=?, col233=?, col234=?, col235=?, col236=?, col237=?, col238=?, col239=?, col240=?, col241=?, col242=?, col243=?, col244=?, col245=?, col246=?, col247=?, col248=?, col249=?, col250=?, col251=?, col252=?, col253=?, col254=?, col255=?, col256=?, col257=?, col258=?, col259=?, col260=?, col261=?, col262=?, col263=?, col264=?, col265=?, col266=?, col267=?, col268=?, col269=?, col270=?, col271=?, col272=?, col273=?, col274=?, col275=?, col276=?, col277=?, col278=?, col279=?, col280=?, col281=?, col282=?, col283=?, col284=?, col285=?, col286=?, col287=?, col288=?, col289=?, col290=?, col291=?, col292=?, col293=?, col294=?, col295=?, col296=?, col297=?, col298=?, col299=?, col300=?, col301=?, col302=?, col303=?, col304=?, col305=?, col306=?, col307=?, col308=?, col309=?, col310=?, col311=?, col312=?, col313=?, col314=?, col315=?, col316=?, col317=?, col318=?, col319=?, col320=?, col321=?, col322=?, col323=?, col324=?, col325=?, col326=?, col327=?, col328=?, col329=?, col330=?, col331=?, col332=?, col333=?, col334=?, col335=?, col336=?, col337=?, col338=?, col339=?, col340=?, col341=?, col342=?, col343=?, col344=?, col345=?, col346=?, col347=?, col348=?, col349=?, col350=?, col351=?, col352=?, col353=?, col354=?, col355=?, col356=?, col357=?, col358=?, col359=?, col360=?, col361=?, col362=?, col363=?, col364=?, col365=?, col366=?, col367=?, col368=?, col369=?, col370=?, col371=?, col372=?, col373=?, col374=?, col375=?, col376=?, col377=?, col378=?, col379=?, col380=?, col381=?, col382=?, col383=?, col384=?, col385=?, col386=?, col387=?, col388=?, col389=?, col390=?, col391=?, col392=?, col393=?, col394=?, col395=?, col396=?, col397=?, col398=?, col399=?, col400=?, col401=?, col402=?, col403=?, col404=?, col405=?, col406=?, col407=?, col408=?, col409=?, col410=?, col411=?, col412=?, col413=?, col414=?, col415=?, col416=?, col417=?, col418=?, col419=?, col420=?, col421=?, col422=?, col423=?, col424=?, col425=?, col426=?, col427=?, col428=?, col429=?, col430=?, col431=?, col432=?, col433=?, col434=?, col435=?, col436=?, col437=?, col438=?, col439=?, col440=?, col441=?, col442=?, col443=?, col444=?, col445=?, col446=?, col447=?, col448=?, col449=?, col450=?, col451=?, col452=?, col453=?, col454=?, col455=?, col456=?, col457=?, col458=?, col459=?, col460=?, col461=?, col462=?, col463=?, col464=?, col465=?, col466=?, col467=?, col468=?, col469=?, col470=?, col471=?, col472=?, col473=?, col474=?, col475=?, col476=?, col477=?, col478=?, col479=?, col480=?, col481=?, col482=?, col483=?, col484=?, col485=?, col486=?, col487=?, col488=?, col489=?, col490=?, col491=?, col492=?, col493=?, col494=?, col495=?, col496=?, col497=?, col498=?, col499=?, col500=?, col501=?, col502=?, col503=?, col504=?, col505=?, col506=?, col507=?, col508=?, col509=?, col510=?, col511=?, col512=?, col513=?, col514=?, col515=?, col516=?, col517=?, col518=?, col519=?, col520=?, col521=?, col522=?, col523=?, col524=?, col525=?, col526=?, col527=?, col528=?, col529=?, col530=?, col531=?, col532=?, col533=?, col534=?, col535=?, col536=?, col537=?, col538=?, col539=?, col540=?, col541=?, col542=?, col543=?, col544=?, col545=?, col546=?, col547=?, col548=?, col549=?, col550=?, col551=?, col552=?, col553=?, col554=?, col555=?, col556=?, col557=?, col558=?, col559=?, col560=?, col561=?, col562=?, col563=?, col564=?, col565=?, col566=?, col567=?, col568=?, col569=?, col570=?, col571=?, col572=?, col573=?, col574=?, col575=?, col576=?, col577=?, col578=?, col579=?, col580=?, col581=?, col582=?, col583=?, col584=?, col585=?, col586=?, col587=?, col588=?, col589=?, col590=?, col591=?, col592=?, col593=?, col594=?, col595=?, col596=?, col597=?, col598=?, col599=?, col600=?, col601=?, col602=?, col603=?, col604=?, col605=?, col606=?, col607=?, col608=?, col609=?, col610=?, col611=?, col612=?, col613=?, col614=?, col615=?, col616=?, col617=?, col618=?, col619=?, col620=?, col621=?, col622=?, col623=?, col624=?, col625=?, col626=?, col627=?, col628=?, col629=?, col630=?, col631=?, col632=?, col633=?, col634=?, col635=?, col636=?, col637=?, col638=?, col639=?, col640=?, col641=?, col642=?, col643=?, col644=?, col645=?, col646=?, col647=?, col648=?, col649=?, col650=?, col651=?, col652=?, col653=?, col654=?, col655=?, col656=?, col657=?, col658=?, col659=?, col660=?, col661=?, col662=?, col663=?, col664=?, col665=?, col666=?, col667=?, col668=?, col669=?, col670=?, col671=?, col672=?, col673=?, col674=?, col675=?, col676=?, col677=?, col678=?, col679=?, col680=?, col681=?, col682=?, col683=?, col684=?, col685=?, col686=?, col687=?, col688=?, col689=?, col690=?, col691=?, col692=?, col693=?, col694=?, col695=?, col696=?, col697=?, col698=?, col699=?, col700=?, col701=?, col702=?, col703=?, col704=?, col705=?, col706=?, col707=?, col708=?, col709=?, col710=?, col711=?, col712=?, col713=?, col714=?, col715=?, col716=?, col717=?, col718=?, col719=?, col720=?, col721=?, col722=?, col723=?, col724=?, col725=?, col726=?, col727=?, col728=?, col729=?, col730=?, col731=?, col732=?, col733=?, col734=?, col735=?, col736=?, col737=?, col738=?, col739=?, col740=?, col741=?, col742=?, col743=?, col744=?, col745=?, col746=?, col747=?, col748=?, col749=?, col750=?, col751=?, col752=?, col753=?, col754=?, col755=?, col756=?, col757=?, col758=?, col759=?, col760=?, col761=?, col762=?, col763=?, col764=?, col765=?, col766=?, col767=?, col768=?, col769=?, col770=?, col771=?, col772=?, col773=?, col774=?, col775=?, col776=?, col777=?, col778=?, col779=?, col780=?, col781=?, col782=?, col783=?, col784=?, col785=?, col786=?, col787=?, col788=?, col789=?, col790=?, col791=?, col792=?, col793=?, col794=?, col795=?, col796=?, col797=?, col798=?, col799=?, col800=?, col801=?, col802=?, col803=?, col804=?, col805=?, col806=?, col807=?, col808=?, col809=?, col810=?, col811=?, col812=?, col813=?, col814=?, col815=?, col816=?, col817=?, col818=?, col819=?, col820=?, col821=?, col822=?, col823=?, col824=?, col825=?, col826=?, col827=?, col828=?, col829=?, col830=?, col831=?, col832=?, col833=?, col834=?, col835=?, col836=?, col837=?, col838=?, col839=?, col840=?, col841=?, col842=?, col843=?, col844=?, col845=?, col846=?, col847=?, col848=?, col849=?, col850=?, col851=?, col852=?, col853=?, col854=?, col855=?, col856=?, col857=?, col858=?, col859=?, col860=?, col861=?, col862=?, col863=?, col864=?, col865=?, col866=?, col867=?, col868=?, col869=?, col870=?, col871=?, col872=?, col873=?, col874=?, col875=?, col876=?, col877=?, col878=?, col879=?, col880=?, col881=?, col882=?, col883=?, col884=?, col885=?, col886=?, col887=?, col888=?, col889=?, col890=?, col891=?, col892=?, col893=?, col894=?, col895=?, col896=?, col897=?, col898=?, col899=?, col900=?, col901=?, col902=?, col903=?, col904=?, col905=?, col906=?, col907=?, col908=?, col909=?, col910=?, col911=?, col912=?, col913=?, col914=?, col915=?, col916=?, col917=?, col918=?, col919=?, col920=?, col921=?, col922=?, col923=?, col924=?, col925=?, col926=?, col927=?, col928=?, col929=?, col930=?, col931=?, col932=?, col933=?, col934=?, col935=?, col936=?, col937=?, col938=?, col939=?, col940=?, col941=?, col942=?, col943=?, col944=?, col945=?, col946=?, col947=?, col948=?, col949=?, col950=?, col951=?, col952=?, col953=?, col954=?, col955=?, col956=?, col957=?, col958=?, col959=?, col960=?, col961=?, col962=?, col963=?, col964=?, col965=?, col966=?, col967=?, col968=?, col969=?, col970=?, col971=?, col972=?, col973=?, col974=?, col975=?, col976=?, col977=?, col978=?, col979=?, col980=?, col981=?, col982=?, col983=?, col984=?, col985=?, col986=?, col987=?, col988=?, col989=?, col990=?, col991=?, col992=?, col993=?, col994=?, col995=?, col996=?, col997=?, col998=?, col999=?, col1000=? where id=?;
+ bindings:
+ - util: RandomAString
+ count: 1000
+ params: [4, 4]
+ - util: RandomNumber
+ params: [1, 100000]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG4_unmodified_set_clause.yaml b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG4_unmodified_set_clause.yaml
new file mode 100644
index 000000000..662ac73b7
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG4_unmodified_set_clause.yaml
@@ -0,0 +1,194 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 60
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1 CASCADE;
+ - DROP TABLE IF EXISTS pkeyBigint1M_child_1 CASCADE;
+ - CREATE TABLE pkeyBigint1M_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_id_1 varchar(10), col_varchar100_id_1 varchar(100), col_varchar100_id_2 varchar(100), col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card1_1);
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card2_1 ASC) INCLUDE (col_bigint_id_2);
+ - CREATE INDEX ON pkeyBigint1M_1(col_bigint_card3_1 DESC);
+ - CREATE UNIQUE INDEX ON pkeyBigint1M_1(col_bigint_id_3);
+ - CREATE TABLE pkeyBigint1M_child_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_varchar10_id_1 varchar(10), col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, PRIMARY KEY(col_bigint_id_1));
+ - ALTER TABLE pkeyBigint1M_child_1 ADD CONSTRAINT pkeyBigint1M_child_id1_fk FOREIGN KEY (col_bigint_id_2) REFERENCES pkeyBigint1M_1 (col_bigint_id_1) ON UPDATE CASCADE;
+ - ALTER TABLE pkeyBigint1M_child_1 ADD CONSTRAINT pkeyBigint1M_child_id2_fk FOREIGN KEY (col_bigint_id_3) REFERENCES pkeyBigint1M_1 (col_bigint_id_3) ON UPDATE CASCADE;
+ - CREATE INDEX ON pkeyBigint1M_child_1(col_bigint_card1_1);
+
+ cleanup:
+ - DROP TABLE IF EXISTS pkeyBigint1M_1 CASCADE;
+ - DROP TABLE IF EXISTS pkeyBigint1M_child_1 CASCADE;
+
+ loadRules:
+ - table: pkeyBigint1M_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1010000]
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_varchar100_id_
+ count: 2
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: pkeyBigint1M_child_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 3
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_varchar10_id_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1010000]
+
+ executeRules:
+
+ - workload: UG4_1_no_update_to_constraint_tbl1
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE pkeyBigint1M_1 SET col_bigint_id_1=?, col_bigint_id_2=?,col_bigint_id_3=?, col_bigint_card1_1=1000000, col_float2_1 = col_float2_1 + 1 where col_bigint_id_1 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+
+ - workload: UG4_2_no_update_to_constraint_tbl2
+ run:
+ - name: update_100_cols
+ weight: 100
+ queries:
+ - query: UPDATE pkeyBigint1M_child_1 SET col_bigint_id_1=?, col_bigint_id_2=?,col_bigint_id_3=?, col_bigint_card1_1=1000000, col_varchar10_id_1 = ? where col_bigint_id_1 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: RandomAString
+ params: [10, 10]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+
+ - workload: UG4_3_no_update_to_constraint_on_conflict_tbl1
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: INSERT INTO pkeyBigint1M_1 (col_bigint_card1_1,col_bigint_card2_1,col_bigint_card3_1,col_bigint_id_1,col_bigint_id_2,col_bigint_id_3,col_float2_1,col_float2_2,col_float5_1,col_float5_2,col_boolean_1,col_varchar10_id_1,col_varchar100_id_1,col_varchar100_id_2,col_varchar500_id_1) VALUES (1000000,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON CONFLICT (col_bigint_id_1) DO UPDATE SET col_varchar100_id_1 = 'updated_val' RETURNING *
+ bindings:
+ - util: RandomInt
+ params: [ 1000001,1001000 ]
+ - util: RandomInt
+ params: [ 1000001,1010000]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 2 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - util: RandomNoWithDecimalPoints
+ params: [ 1, 1000000, 5 ]
+ - util: RandomBoolean
+ - util: PrimaryStringGen
+ params: [1, 10]
+ - util: PrimaryStringGen
+ params: [1, 100]
+ - util: PrimaryStringGen
+ params: [1, 100]
+ - util: PrimaryStringGen
+ params: [1, 500]
+
+ - workload: UG4_4_update_constraint_tbl1
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE pkeyBigint1M_1 SET col_bigint_id_1=?, col_bigint_id_2=?,col_bigint_id_3=?, col_bigint_card1_1=3000000, col_float2_1 = col_float2_1 + 1 where col_bigint_id_1 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: PrimaryIntGen
+ params: [ 1000001, 2000000 ]
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
\ No newline at end of file
diff --git a/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG5_update_included_colm.yaml b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG5_update_included_colm.yaml
new file mode 100644
index 000000000..cd9aa7475
--- /dev/null
+++ b/config/yugabyte/regression_pipelines/write_workloads/yugabyte/updateG5_update_included_colm.yaml
@@ -0,0 +1,206 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderThreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain : true
+yaml_version: v1.1
+works:
+ work:
+ time_secs: 180
+ rate: unlimited
+ warmup: 30
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl2_child_1 CASCADE;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl1_1;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl1_2;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl2_1 CASCADE;
+
+ - CREATE TABLE UG5_cardinality_tbl1_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_int_id_1 int, col_int_id_2 int, col_int_id_3 int, col_int_id_4 int, col_int_card1_1 int, col_int_card1_2 int, col_int_card1_3 int, col_int_card1_4 int, col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE INDEX ON UG5_cardinality_tbl1_1(col_bigint_card2_1) INCLUDE (col_bigint_card3_1); # update multiple(1000) rows with point select
+ - CREATE INDEX ON UG5_cardinality_tbl1_1(col_bigint_card1_1) INCLUDE (col_bigint_id_2); # update all(1M) rows with point select
+ - CREATE INDEX ON UG5_cardinality_tbl1_1(col_bigint_id_3) INCLUDE (col_int_id_4); # update single column + 1 row with point select
+ - CREATE INDEX ON UG5_cardinality_tbl1_1(col_bigint_id_5 ASC) INCLUDE (col_int_card1_4); # update single column + 1M row
+
+ - CREATE TABLE UG5_cardinality_tbl1_2(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_int_id_1 int, col_int_id_2 int, col_int_id_3 int, col_int_id_4 int, col_int_card1_1 int, col_int_card1_2 int, col_int_card1_3 int, col_int_card1_4 int, col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC));
+ - CREATE INDEX ON UG5_cardinality_tbl1_2(col_bigint_id_5 ASC) INCLUDE (col_int_card1_4); # update single column + 1M row
+
+ - CREATE TABLE UG5_cardinality_tbl2_1(col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_bigint_id_6 bigint, col_int_id_1 int, col_int_id_2 int, col_int_id_3 int, col_int_id_4 int, col_int_card1_1 int, col_int_card1_2 int, col_int_card1_3 int, col_int_card1_4 int, col_varchar500_id_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE UNIQUE INDEX ON UG5_cardinality_tbl2_1(col_bigint_id_2);
+ - CREATE UNIQUE INDEX ON UG5_cardinality_tbl2_1(col_bigint_id_3);
+ - CREATE UNIQUE INDEX ON UG5_cardinality_tbl2_1(col_bigint_id_4);
+ - CREATE INDEX ON UG5_cardinality_tbl2_1(col_int_id_1 ASC) INCLUDE (col_bigint_id_2,col_bigint_id_3,col_bigint_id_4);
+ - CREATE TABLE UG5_cardinality_tbl2_child_1(col_bigint_id_1 bigint, col_bigint_id_2 bigint, col_bigint_id_3 bigint, col_bigint_id_4 bigint, col_bigint_id_5 bigint, col_varchar10_id_1 varchar(10), col_bigint_card1_1 bigint, col_bigint_card2_1 bigint, col_bigint_card3_1 bigint, PRIMARY KEY(col_bigint_id_1));
+ - ALTER TABLE UG5_cardinality_tbl2_child_1 ADD CONSTRAINT UG5_cardinality_tbl2_child_id1_fk FOREIGN KEY (col_bigint_id_2) REFERENCES UG5_cardinality_tbl2_1 (col_bigint_id_1) ON UPDATE CASCADE;
+ - ALTER TABLE UG5_cardinality_tbl2_child_1 ADD CONSTRAINT UG5_cardinality_tbl2_child_id2_fk FOREIGN KEY (col_bigint_id_3) REFERENCES UG5_cardinality_tbl2_1 (col_bigint_id_2) ON UPDATE CASCADE;
+ - ALTER TABLE UG5_cardinality_tbl2_child_1 ADD CONSTRAINT UG5_cardinality_tbl2_child_id3_fk FOREIGN KEY (col_bigint_id_4) REFERENCES UG5_cardinality_tbl2_1 (col_bigint_id_3) ON UPDATE CASCADE;
+ - ALTER TABLE UG5_cardinality_tbl2_child_1 ADD CONSTRAINT UG5_cardinality_tbl2_child_id4_fk FOREIGN KEY (col_bigint_id_5) REFERENCES UG5_cardinality_tbl2_1 (col_bigint_id_4) ON UPDATE CASCADE;
+ - CREATE INDEX ON UG5_cardinality_tbl2_child_1(col_bigint_id_2 ASC) INCLUDE (col_bigint_id_3,col_bigint_id_4,col_bigint_id_5); #Update on referenced+included colmn
+ - CREATE INDEX ON UG5_cardinality_tbl2_child_1(col_bigint_id_3 ASC);
+ - CREATE INDEX ON UG5_cardinality_tbl2_child_1(col_bigint_id_4 ASC);
+ - CREATE INDEX ON UG5_cardinality_tbl2_child_1(col_bigint_id_5 ASC);
+
+ cleanup:
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl2_child_1 CASCADE;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl1_1;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl1_2;
+ - DROP TABLE IF EXISTS UG5_cardinality_tbl2_1 CASCADE;
+
+ loadRules:
+
+ - table: UG5_cardinality_tbl1_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1010000]
+ - name: col_bigint_id_
+ count: 6
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_card1_
+ count: 4
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: UG5_cardinality_tbl2_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000000,1010000]
+ - name: col_bigint_id_
+ count: 6
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_id_
+ count: 4
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_card1_
+ count: 4
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+
+ - table: UG5_cardinality_tbl2_child_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 5
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_varchar10_id_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_bigint_card1_
+ count: 1
+ util: OneNumberFromArray
+ params: [ 1000000 ]
+ - name: col_bigint_card2_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1001000 ]
+ - name: col_bigint_card3_
+ count: 1
+ util: RandomInt
+ params: [ 1000001,1010000]
+
+ executeRules:
+
+ # update single column + 1 row with point select
+ - workload: UG5_1_update_1_rows_1col_included_colm_point_select_filter
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl1_1 SET col_int_id_4=col_int_id_4+1 where col_bigint_id_3 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+
+ # update single column + 1M row
+ - workload: UG5_2_update_1M_rows_1col_included_colm_range_filter
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl1_1 SET col_int_card1_4=col_int_card1_4+1 where col_bigint_id_5 > 0
+
+ # update single column + 1M row
+ - workload: UG5_3_update_1M_rows_1col_included_colm_range_filter_range_tbl
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl1_2 SET col_int_card1_4=col_int_card1_4+1 where col_bigint_id_5 > 0
+
+
+ # Update on parent tbl 3cols which are included in an index (col_bigint_id_2,col_bigint_id_3,col_bigint_id_4) referenced in child tbl (col_bigint_id_3,col_bigint_id_4,col_bigint_id_5) and also part of an included colms of an index
+ - workload: UG5_4_update_parent_tbls_referenced_included_colm_1row
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl2_1 SET col_bigint_id_2=col_bigint_id_2+1000000, col_bigint_id_3=col_bigint_id_3+1000000, col_bigint_id_4=col_bigint_id_4+1000000 where col_int_id_1 = ?
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1, 800000 ]
+
+ # Update on parent tbl 3cols which are included in an index (col_bigint_id_2,col_bigint_id_3,col_bigint_id_4) referenced in child tbl (col_bigint_id_3,col_bigint_id_4,col_bigint_id_5) and also part of an included colms of an index
+ - workload: UG5_5_update_parent_tbls_referenced_included_colm_1k_rows
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE UG5_cardinality_tbl2_1 SET col_bigint_id_2=col_bigint_id_2+1000000, col_bigint_id_3=col_bigint_id_3+1000000, col_bigint_id_4=col_bigint_id_4+1000000 where col_int_id_1 > 999000
+
+ - workload: UG5_6_update_child_tbls_referenced_included_colm_1k_rows
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: UPDATE ug5_cardinality_tbl2_child_1 SET col_bigint_id_3=900000 where col_bigint_id_2<1001
diff --git a/config/yugabyte/sample_auctionmark_config.xml b/config/yugabyte/sample_auctionmark_config.xml
new file mode 100644
index 000000000..4c5ebc8de
--- /dev/null
+++ b/config/yugabyte/sample_auctionmark_config.xml
@@ -0,0 +1,58 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=require&load-balance=true&ApplicationName=auctionmark&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+ 10
+
+
+ 100
+
+
+ 5
+
+
+ 300
+ 600
+ unlimited
+ 45, 10, 20, 2, 1, 4, 10, 5, 3
+
+
+
+
+
+
+ GetItem
+
+
+ GetUserInfo
+
+
+ NewBid
+
+
+ NewComment
+
+
+ NewCommentResponse
+
+
+ NewFeedback
+
+
+ NewItem
+
+
+ NewPurchase
+
+
+ UpdateItem
+
+
+
diff --git a/config/yugabyte/sample_chbenchmark_config.xml b/config/yugabyte/sample_chbenchmark_config.xml
new file mode 100644
index 000000000..614056d5b
--- /dev/null
+++ b/config/yugabyte/sample_chbenchmark_config.xml
@@ -0,0 +1,161 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=chbenchmark-mixed&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+
+ 1
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+ 200
+
+
+ 45,43,4,4,4
+ 3, 2, 3, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Q1
+
+
+ Q2
+
+
+ Q3
+
+
+ Q4
+
+
+ Q5
+
+
+ Q6
+
+
+ Q7
+
+
+ Q8
+
+
+ Q9
+
+
+ Q10
+
+
+ Q11
+
+
+ Q12
+
+
+ Q13
+
+
+ Q14
+
+
+ Q15
+
+
+ Q16
+
+
+ Q17
+
+
+ Q18
+
+
+ Q19
+
+
+ Q20
+
+
+ Q21
+
+
+ Q22
+
+
+
+
+
+
+ NewOrder
+
+
+ Payment
+
+
+ OrderStatus
+
+
+ Delivery
+
+
+ StockLevel
+
+
+
diff --git a/config/yugabyte/sample_copy_config.xml b/config/yugabyte/sample_copy_config.xml
new file mode 100644
index 000000000..84ab606ce
--- /dev/null
+++ b/config/yugabyte/sample_copy_config.xml
@@ -0,0 +1,18 @@
+
+
+
+ 1
+ TRANSACTION_SERIALIZABLE
+ 128
+
+ YUGABYTE
+ org.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabytesslmode=disable&ApplicationName=copybenchmark
+ yugabyte
+
+
+
+ yb.scan.PrimaryKeyScan
+
+
+
diff --git a/config/yugabyte/sample_epinions_config.xml b/config/yugabyte/sample_epinions_config.xml
new file mode 100644
index 000000000..23bf43b42
--- /dev/null
+++ b/config/yugabyte/sample_epinions_config.xml
@@ -0,0 +1,57 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=epinions&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+
+ 100
+
+
+ 5
+
+
+ 300
+ 600
+ unlimited
+ 10,10,10,10,10,10,10,10,20
+
+
+
+
+
+
+ GetReviewItemById
+
+
+ GetReviewsByUser
+
+
+ GetAverageRatingByTrustedUser
+
+
+ GetItemAverageRating
+
+
+ GetItemReviewsByTrustedUser
+
+
+ UpdateUserName
+
+
+ UpdateItemTitle
+
+
+ UpdateReviewRating
+
+
+ UpdateTrustRating
+
+
+
diff --git a/config/yugabyte/sample_featurebench_config.xml b/config/yugabyte/sample_featurebench_config.xml
new file mode 100644
index 000000000..4092166d0
--- /dev/null
+++ b/config/yugabyte/sample_featurebench_config.xml
@@ -0,0 +1,41 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/test_db?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+ com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+
+ 100
+ 10
+ 2
+ 1000
+
+
+
+
+
+
+ 1
+
+ 1
+
+
+ 10
+ 1000
+ 100
+
+
+
+
+
+ FeatureBench
+
+
+
\ No newline at end of file
diff --git a/config/yugabyte/sample_featurebench_config.yaml b/config/yugabyte/sample_featurebench_config.yaml
new file mode 100644
index 000000000..1c13c5c12
--- /dev/null
+++ b/config/yugabyte/sample_featurebench_config.yaml
@@ -0,0 +1,65 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password: null
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+collect_pg_stat_statements: true
+terminals: 1
+works:
+ work:
+ time_secs: 5
+ active_terminals: 1
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS demo100col;
+ - CREATE TABLE demo100col (id INT, col1 TEXT, primary key (id ASC)) ;
+ loadRules:
+ - table: demo100col
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000
+ - name: col1
+ util: RandomStringNumeric
+ params:
+ - 128
+ executeRules:
+ - workload: RangeScan1
+ run:
+ - name: ReadQuery1
+ weight: 100
+ queries:
+ - query: INSERT INTO demo100col VALUES(?,?)
+ bindings:
+ - util: PrimaryIntGen
+ params:
+ - 10000
+ - 100000
+ - util: RandomAString
+ params:
+ - 5
+ - 5
+ - name: WriteQuery2
+ weight: 50
+ queries:
+ - query: UPDATE demo100col set col1 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
diff --git a/config/yugabyte/sample_hyadapt_config.xml b/config/yugabyte/sample_hyadapt_config.xml
new file mode 100644
index 000000000..03e6ed306
--- /dev/null
+++ b/config/yugabyte/sample_hyadapt_config.xml
@@ -0,0 +1,119 @@
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=hyadapt&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+ 1
+
+ 1
+
+
+ 60
+ 10000
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+
+
+
+
+
+ MaxRecord1
+
+
+ MaxRecord2
+
+
+ MaxRecord3
+
+
+ MaxRecord4
+
+
+ MaxRecord5
+
+
+ MaxRecord6
+
+
+ MaxRecord7
+
+
+ MaxRecord8
+
+
+ MaxRecord9
+
+
+ MaxRecord10
+
+
+
+ ReadRecord1
+
+
+ ReadRecord2
+
+
+ ReadRecord3
+
+
+ ReadRecord4
+
+
+ ReadRecord5
+
+
+ ReadRecord6
+
+
+ ReadRecord7
+
+
+ ReadRecord8
+
+
+ ReadRecord9
+
+
+ ReadRecord10
+
+
+
+
+ SumRecord1
+
+
+ SumRecord2
+
+
+ SumRecord3
+
+
+ SumRecord4
+
+
+ SumRecord5
+
+
+ SumRecord6
+
+
+ SumRecord7
+
+
+ SumRecord8
+
+
+ SumRecord9
+
+
+ SumRecord10
+
+
+
+
diff --git a/config/yugabyte/sample_name_parameter.yaml b/config/yugabyte/sample_name_parameter.yaml
new file mode 100644
index 000000000..82bcb1d22
--- /dev/null
+++ b/config/yugabyte/sample_name_parameter.yaml
@@ -0,0 +1,80 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://{{endpoint}}:5433/yugabyte?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true&load-balance=true
+username: {{ username }}
+password: {{ password }}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+use_dist_in_explain: true
+yaml_version: v1.0
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS THRPT_G1_range_table_1;
+ - CREATE TABLE THRPT_G1_range_table_1(id INT, region_id INT, category_id INT, subcategory_id INT, date_created DATE, status_code INT, priority_level INT, amount INT, quantity INT, PRIMARY KEY(id ASC)) SPLIT AT VALUES ((333333), (666666));
+ - CREATE INDEX idx_partial_status ON THRPT_G1_range_table_1 (region_id ASC, category_id ASC, date_created ASC, id ASC) SPLIT AT VALUES ((33), (66)) WHERE status_code IN (1, 2, 3) and priority_level IN (1, 2, 3);
+ - CREATE index idx_covering_region_cat_amount_asc on thrpt_g1_range_table_1 (region_id ASC, category_id ASC, id ASC) INCLUDE (amount, quantity, status_code) SPLIT AT VALUES ((33), (66));
+
+ cleanup:
+ - DROP TABLE IF EXISTS THRPT_G1_range_table_1;
+
+ loadRules:
+ - table: THRPT_G1_range_table_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: id
+ util: RandomUniqueIntGen
+ params: [1, 1000000]
+ - name: region_id
+ util: RandomNumber
+ params: [1, 100]
+ - name: category_id
+ util: RandomNumber
+ params: [1, 50]
+ - name: subcategory_id
+ util: RandomNumber
+ params: [1, 500]
+ - name: date_created
+ util: RandomDateBtwYears
+ params: [2000, 2025]
+ - name: status_code
+ util: RandomNumber
+ params: [1, 5]
+ - name: priority_level
+ util: RandomNumber
+ params: [1, 10]
+ - name: amount
+ util: RandomNumber
+ params: [1, 100000]
+ - name: quantity
+ util: RandomNumber
+ params: [1, 100000]
+
+ executeRules:
+ - workload: THRPT_G1_seq_scan_BETWEEN
+ run:
+ - name: thrpt_wrkld_1
+ weight: 100
+ queries:
+ - query: select * from THRPT_G1_range_table_1 where amount BETWEEN ? AND ?
+ bindings:
+ - util: RandomNumber
+ params:
+ - 1
+ - 90000
+ referenceName: amount1
+ - util: ExpressionEval
+ params:
+ - "amount1 + 10"
diff --git a/config/yugabyte/sample_noop_config.xml b/config/yugabyte/sample_noop_config.xml
new file mode 100644
index 000000000..e551099fe
--- /dev/null
+++ b/config/yugabyte/sample_noop_config.xml
@@ -0,0 +1,33 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=noop&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+
+
+ 1
+
+
+ 1
+
+
+ 300
+ 1000
+ 100
+
+
+
+
+
+
+ NoOp
+
+
+
diff --git a/config/yugabyte/sample_otmetrics_config.xml b/config/yugabyte/sample_otmetrics_config.xml
new file mode 100644
index 000000000..3987f1370
--- /dev/null
+++ b/config/yugabyte/sample_otmetrics_config.xml
@@ -0,0 +1,31 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=otmetrics&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+
+ 2048
+ 0.1
+
+
+ 1
+
+
+ 60
+ unlimited
+ 100
+
+
+
+
+
+
+ GetSessionRange
+
+
+
diff --git a/config/yugabyte/sample_perf_dataloader_config.yaml b/config/yugabyte/sample_perf_dataloader_config.yaml
new file mode 100644
index 000000000..c7d5d1955
--- /dev/null
+++ b/config/yugabyte/sample_perf_dataloader_config.yaml
@@ -0,0 +1,8 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://172.151.25.127:5433/yugabyte?sslmode=require&reWriteBatchedInserts=true
+username: yugabyte
+password: Password@321
+
+tablename: {{tableName}}
+rows: {{rows}}
diff --git a/config/yugabyte/sample_resourcestresser_config.xml b/config/yugabyte/sample_resourcestresser_config.xml
new file mode 100644
index 000000000..d40f9d36a
--- /dev/null
+++ b/config/yugabyte/sample_resourcestresser_config.xml
@@ -0,0 +1,48 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=resourcestresser&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+
+ 1
+
+
+ 1
+
+
+ 300
+ 10000
+ 16.66,16.66,16.66,16.66,16.66,16.7
+
+
+
+
+
+
+ CPU1
+
+
+ CPU2
+
+
+ IO1
+
+
+ IO2
+
+
+ Contention1
+
+
+ Contention2
+
+
+
+
diff --git a/config/yugabyte/sample_seats_config.xml b/config/yugabyte/sample_seats_config.xml
new file mode 100644
index 000000000..0af71c78c
--- /dev/null
+++ b/config/yugabyte/sample_seats_config.xml
@@ -0,0 +1,49 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=require&load-balance=true&ApplicationName=seats&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+ 10
+
+
+ 100
+
+
+ 5
+
+
+ 300
+ 600
+ unlimited
+ 10, 10, 35, 20, 10, 15
+
+
+
+
+
+
+ DeleteReservation
+
+
+ FindFlights
+
+
+ FindOpenSeats
+
+
+ NewReservation
+
+
+ UpdateCustomer
+
+
+ UpdateReservation
+
+
+
diff --git a/config/yugabyte/sample_sibench_config.xml b/config/yugabyte/sample_sibench_config.xml
new file mode 100644
index 000000000..3f31870b0
--- /dev/null
+++ b/config/yugabyte/sample_sibench_config.xml
@@ -0,0 +1,34 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=sibench&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+ 1
+
+
+ 1
+
+
+ 300
+ unlimited
+ 50,50
+
+
+
+
+
+
+ MinRecord
+
+
+ UpdateRecord
+
+
+
diff --git a/config/yugabyte/sample_smallbank_config.xml b/config/yugabyte/sample_smallbank_config.xml
new file mode 100644
index 000000000..76e6815f5
--- /dev/null
+++ b/config/yugabyte/sample_smallbank_config.xml
@@ -0,0 +1,46 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=smallbank&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+ 1
+
+
+ 1
+
+
+ 20
+ 100
+ 15,15,15,25,15,15
+
+
+
+
+
+
+ Amalgamate
+
+
+ Balance
+
+
+ DepositChecking
+
+
+ SendPayment
+
+
+ TransactSavings
+
+
+ WriteCheck
+
+
+
diff --git a/config/yugabyte/sample_tatp_config.xml b/config/yugabyte/sample_tatp_config.xml
new file mode 100644
index 000000000..020ba8010
--- /dev/null
+++ b/config/yugabyte/sample_tatp_config.xml
@@ -0,0 +1,50 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=tatp&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+
+ 1
+
+
+ 1
+
+
+ 300
+ 10000
+ 2, 35, 10, 35, 2, 14, 2
+
+
+
+
+
+
+ DeleteCallForwarding
+
+
+ GetAccessData
+
+
+ GetNewDestination
+
+
+ GetSubscriberData
+
+
+ InsertCallForwarding
+
+
+ UpdateLocation
+
+
+ UpdateSubscriberData
+
+
+
diff --git a/config/yugabyte/sample_tpcc_config.xml b/config/yugabyte/sample_tpcc_config.xml
new file mode 100644
index 000000000..6a4865da5
--- /dev/null
+++ b/config/yugabyte/sample_tpcc_config.xml
@@ -0,0 +1,54 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=tpcc&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+
+ 1
+
+
+ 1
+
+
+ 60
+ 10000
+ 45,43,4,4,4
+
+
+
+
+
+
+ NewOrder
+
+
+
+
+ Payment
+
+
+
+
+ OrderStatus
+
+
+
+
+ Delivery
+
+
+
+
+ StockLevel
+
+
+
+
+
diff --git a/config/yugabyte/sample_tpcds_config.xml b/config/yugabyte/sample_tpcds_config.xml
new file mode 100644
index 000000000..df9ef7cda
--- /dev/null
+++ b/config/yugabyte/sample_tpcds_config.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/config/yugabyte/sample_tpch_config.xml b/config/yugabyte/sample_tpch_config.xml
new file mode 100644
index 000000000..99b1fe785
--- /dev/null
+++ b/config/yugabyte/sample_tpch_config.xml
@@ -0,0 +1,136 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=tpch&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 1024
+
+
+ 0.1
+
+
+ 1
+
+
+ true
+ unlimited
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+
+
+ true
+ unlimited
+ 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
+
+
+ true
+ unlimited
+ 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0
+
+
+
+
+
+
+ odd
+ 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0
+
+
+ even
+ 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
+
+
+
+ Q1
+ 1
+
+
+ Q2
+ 2
+
+
+ Q3
+ 3
+
+
+ Q4
+ 4
+
+
+ Q5
+ 5
+
+
+ Q6
+ 6
+
+
+ Q7
+ 7
+
+
+ Q8
+ 8
+
+
+ Q9
+ 9
+
+
+ Q10
+ 10
+
+
+ Q11
+ 11
+
+
+ Q12
+ 12
+
+
+ Q13
+ 13
+
+
+ Q14
+ 14
+
+
+ Q15
+ 15
+
+
+ Q16
+ 16
+
+
+ Q17
+ 17
+
+
+ Q18
+ 18
+
+
+ Q19
+ 19
+
+
+ Q20
+ 20
+
+
+ Q21
+ 21
+
+
+ Q22
+ 22
+
+
+
diff --git a/config/yugabyte/sample_twitter_config.xml b/config/yugabyte/sample_twitter_config.xml
new file mode 100644
index 000000000..f82b7efda
--- /dev/null
+++ b/config/yugabyte/sample_twitter_config.xml
@@ -0,0 +1,50 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=twitter&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+
+ 1
+
+
+
+ data/twitter/twitter_tweetids.txt
+ data/twitter/twitter_user_ids.txt
+ 10.1.
+
+
+ 1
+
+
+ 300
+ 10000
+ 1,1,7,90,1
+
+
+
+
+
+
+ GetTweet
+
+
+ GetTweetsFromFollowing
+
+
+ GetFollowers
+
+
+ GetUserTweets
+
+
+ InsertTweet
+
+
+
diff --git a/config/yugabyte/sample_voter_config.xml b/config/yugabyte/sample_voter_config.xml
new file mode 100644
index 000000000..84ed42279
--- /dev/null
+++ b/config/yugabyte/sample_voter_config.xml
@@ -0,0 +1,31 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=voter&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+ 1
+
+
+ 1
+
+
+ 300
+ 10000
+ 100
+
+
+
+
+
+
+ Vote
+
+
+
diff --git a/config/yugabyte/sample_wikipedia_config.xml b/config/yugabyte/sample_wikipedia_config.xml
new file mode 100644
index 000000000..fc927024e
--- /dev/null
+++ b/config/yugabyte/sample_wikipedia_config.xml
@@ -0,0 +1,44 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=wikipedia&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+
+ 1
+
+
+ 1
+
+
+ 10
+ 1000
+ 1,1,7,90,1
+
+
+
+
+
+
+ AddWatchList
+
+
+ RemoveWatchList
+
+
+ UpdatePage
+
+
+ GetPageAnonymous
+
+
+ GetPageAuthenticated
+
+
+
diff --git a/config/yugabyte/sample_ycsb_config.xml b/config/yugabyte/sample_ycsb_config.xml
new file mode 100644
index 000000000..ccf478879
--- /dev/null
+++ b/config/yugabyte/sample_ycsb_config.xml
@@ -0,0 +1,50 @@
+
+
+
+
+ YUGABYTE
+ com.yugabyte.Driver
+ jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&load-balance=true&ApplicationName=ycsb&reWriteBatchedInserts=true
+ yugabyte
+
+ TRANSACTION_REPEATABLE_READ
+ 128
+
+
+ 1
+
+
+
+
+
+ 1
+
+
+ 300
+ 10000
+ 50,5,15,10,10,10
+
+
+
+
+
+
+ ReadRecord
+
+
+ InsertRecord
+
+
+ ScanRecord
+
+
+ UpdateRecord
+
+
+ DeleteRecord
+
+
+ ReadModifyWriteRecord
+
+
+
diff --git a/config/yugabyte/scan_workload_varchar/postgres/cattribVG1_pg_pointlookup_increasing_columnwidth_impact.yaml b/config/yugabyte/scan_workload_varchar/postgres/cattribVG1_pg_pointlookup_increasing_columnwidth_impact.yaml
new file mode 100644
index 000000000..aa58d2a9e
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/postgres/cattribVG1_pg_pointlookup_increasing_columnwidth_impact.yaml
@@ -0,0 +1,271 @@
+#TEST FOR POSTGRES
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://sgupta-pg-i-westc-validate.cbtcvpszcgdq.us-west-2.rds.amazonaws.com:5432/postgres?sslmode=require
+username: postgres
+password: Password321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_hash_point_lookup_v10_tbl_1;
+ - DROP TABLE IF EXISTS pkey_hash_point_lookup_v100_tbl_1;
+ - DROP TABLE IF EXISTS pkey_hash_point_lookup_v500_tbl_1;
+ - DROP TABLE IF EXISTS indx_hash_point_lookup_v10_tbl_1;
+ - DROP TABLE IF EXISTS indx_hash_point_lookup_v100_tbl_1;
+ - DROP TABLE IF EXISTS indx_hash_point_lookup_v500_tbl_1;
+ - CREATE TABLE pkey_hash_point_lookup_v10_tbl_1(col_varchar10_id_1 varchar(10), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar10_id_1));
+ - CREATE TABLE pkey_hash_point_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1));
+ - CREATE TABLE pkey_hash_point_lookup_v500_tbl_1(col_varchar500_id_1 varchar(500), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), PRIMARY KEY(col_varchar500_id_1));
+ - CREATE TABLE indx_hash_point_lookup_v10_tbl_1(col_varchar10_id_1 varchar(10), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE indx_hash_point_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE indx_hash_point_lookup_v500_tbl_1(col_varchar500_id_1 varchar(500), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100));
+ - CREATE INDEX ON indx_hash_point_lookup_v10_tbl_1(col_varchar10_id_1);
+ - CREATE INDEX ON indx_hash_point_lookup_v100_tbl_1(col_varchar100_id_1);
+ - CREATE INDEX ON indx_hash_point_lookup_v500_tbl_1(col_varchar500_id_1);
+ loadRules:
+ - table: pkey_hash_point_lookup_v10_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: pkey_hash_point_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: pkey_hash_point_lookup_v500_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+
+ - table: indx_hash_point_lookup_v10_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: indx_hash_point_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: indx_hash_point_lookup_v500_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+
+ executeRules:
+ - workload: cattribVG1_pg_pkey_v10_hash_point_lookup
+ run:
+ - name: pkey_v10_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_point_lookup_v10_tbl_1 where col_varchar10_id_1='500009aaaa'
+ - workload: cattribVG1_pg_pkey_v100_hash_point_lookup
+ run:
+ - name: pkey_v100_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1='500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribVG1_pg_pkey_v500_hash_point_lookup
+ run:
+ - name: pkey_v500_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_point_lookup_v500_tbl_1 where col_varchar500_id_1='500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribVG1_pg_indx_v10_hash_point_lookup
+ run:
+ - name: indx_v10_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v10_tbl_1 where col_varchar10_id_1='500009aaaa'
+ - workload: cattribVG1_pg_indx_v100_hash_point_lookup
+ run:
+ - name: indx_v100_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1='500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribVG1_pg_indx_v500_hash_point_lookup
+ run:
+ - name: indx_v500_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v500_tbl_1 where col_varchar500_id_1='500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/postgres/cattribVG2_pg_rangelookup_increasing_columnwidth_impact.yaml b/config/yugabyte/scan_workload_varchar/postgres/cattribVG2_pg_rangelookup_increasing_columnwidth_impact.yaml
new file mode 100644
index 000000000..2f98a8bb9
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/postgres/cattribVG2_pg_rangelookup_increasing_columnwidth_impact.yaml
@@ -0,0 +1,271 @@
+#TEST FOR POSTGRES
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://sgupta-pg-i-westc-validate.cbtcvpszcgdq.us-west-2.rds.amazonaws.com:5432/postgres?sslmode=require
+username: postgres
+password: Password321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_range_lookup_v10_tbl_1;
+ - DROP TABLE IF EXISTS pkey_range_lookup_v100_tbl_1;
+ - DROP TABLE IF EXISTS pkey_range_lookup_v500_tbl_1;
+ - DROP TABLE IF EXISTS indx_range_lookup_v10_tbl_1;
+ - DROP TABLE IF EXISTS indx_range_lookup_v100_tbl_1;
+ - DROP TABLE IF EXISTS indx_range_lookup_v500_tbl_1;
+ - CREATE TABLE pkey_range_lookup_v10_tbl_1(col_varchar10_id_1 varchar(10), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar10_id_1));
+ - CREATE TABLE pkey_range_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1));
+ - CREATE TABLE pkey_range_lookup_v500_tbl_1(col_varchar500_id_1 varchar(500), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), PRIMARY KEY(col_varchar500_id_1));
+ - CREATE TABLE indx_range_lookup_v10_tbl_1(col_varchar10_id_1 varchar(10), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE indx_range_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE indx_range_lookup_v500_tbl_1(col_varchar500_id_1 varchar(500), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100));
+ - CREATE INDEX ON indx_range_lookup_v10_tbl_1(col_varchar10_id_1);
+ - CREATE INDEX ON indx_range_lookup_v100_tbl_1(col_varchar100_id_1);
+ - CREATE INDEX ON indx_range_lookup_v500_tbl_1(col_varchar500_id_1);
+ loadRules:
+ - table: pkey_range_lookup_v10_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: pkey_range_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: pkey_range_lookup_v500_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+
+ - table: indx_range_lookup_v10_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: indx_range_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: indx_range_lookup_v500_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+
+ executeRules:
+ - workload: cattribVG2_pg_pkey_v10_hash_range_lookup
+ run:
+ - name: pkey_v10_range_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_range_lookup_v10_tbl_1 where col_varchar10_id_1>'0'
+ - workload: cattribVG2_pg_pkey_v100_hash_range_lookup
+ run:
+ - name: pkey_v100_range_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_range_lookup_v100_tbl_1 where col_varchar100_id_1>'0'
+ - workload: cattribVG2_pg_pkey_v500_hash_range_lookup
+ run:
+ - name: pkey_v500_range_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_range_lookup_v500_tbl_1 where col_varchar500_id_1>'0'
+ - workload: cattribVG2_pg_indx_v10_hash_range_lookup
+ run:
+ - name: indx_v10_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_range_lookup_v10_tbl_1 where col_varchar10_id_1>'0'
+ - workload: cattribVG2_pg_indx_v100_hash_range_lookup
+ run:
+ - name: indx_v100_range_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_range_lookup_v100_tbl_1 where col_varchar100_id_1>'0'
+ - workload: cattribVG2_pg_indx_v500_hash_range_lookup
+ run:
+ - name: indx_v500_range_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_range_lookup_v500_tbl_1 where col_varchar500_id_1>'0'
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/postgres/cattribVG3_pg_datatype_projection_impact.yaml b/config/yugabyte/scan_workload_varchar/postgres/cattribVG3_pg_datatype_projection_impact.yaml
new file mode 100644
index 000000000..7cccc8d6c
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/postgres/cattribVG3_pg_datatype_projection_impact.yaml
@@ -0,0 +1,173 @@
+#TEST FOR POSTGRES
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://sgupta-pg-i-westc-validate.cbtcvpszcgdq.us-west-2.rds.amazonaws.com:5432/postgres?sslmode=require
+username: postgres
+password: Password321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_hash_point_lookup_tbl_1;
+ - DROP TABLE IF EXISTS pkey_range_lookup_tbl_1;
+ - CREATE TABLE pkey_hash_point_lookup_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkey_range_lookup_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1))
+ loadRules:
+ - table: pkey_hash_point_lookup_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: pkey_range_lookup_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+
+ executeRules:
+ - workload: attbG3_ybc_datatype_proj_indexed_bigint_pointSelect
+ run:
+ - name: ybc_datatype_proj_indexed_bigint
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_hash_point_lookup_tbl_1 where col_bigint_id_1=500009
+ - workload: attbG3_ybc_datatype_proj_nonindexed_bigint_pointSelect
+ run:
+ - name: ybc_datatype_proj_nonindexed_bigint_pointSelect
+ weight: 100
+ queries:
+ - query: select col_bigint_1 from pkey_hash_point_lookup_tbl_1 where col_bigint_id_1=500009
+ - workload: attbG3_ybc_datatype_proj_nonindexed_float_pointSelect
+ run:
+ - name: ybc_datatype_proj_nonindexed_float_pointSelect
+ weight: 100
+ queries:
+ - query: select col_float5_1 from pkey_hash_point_lookup_tbl_1 where col_bigint_id_1=500009
+ - workload: attbG3_ybc_datatype_proj_nonindexed_varchar10_pointSelect
+ run:
+ - name: ybc_datatype_proj_nonindexed_varchar10_pointSelect
+ weight: 100
+ queries:
+ - query: select col_varchar10_1 from pkey_hash_point_lookup_tbl_1 where col_bigint_id_1=500009
+ - workload: attbG3_ybc_datatype_proj_nonindexed_varchar100_pointSelect
+ run:
+ - name: ybc_datatype_proj_nonindexed_varchar100_pointSelect
+ weight: 100
+ queries:
+ - query: select col_varchar100_1 from pkey_hash_point_lookup_tbl_1 where col_bigint_id_1=500009
+ - workload: attbG3_ybc_datatype_proj_nonindexed_varchar500_pointSelect
+ run:
+ - name: ybc_datatype_proj_nonindexed_varchar500_pointSelect
+ weight: 100
+ queries:
+ - query: select col_varchar500_1 from pkey_hash_point_lookup_tbl_1 where col_bigint_id_1=500009
+
+
+ - workload: attbG3_ybc_datatype_proj_indexed_bigint_rangeScan
+ run:
+ - name: ybc_datatype_proj_indexed_bigint_rangeScan
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_range_lookup_tbl_1 where col_bigint_id_1>1
+ - workload: attbG3_ybc_datatype_proj_nonindexed_bigint_rangeScan
+ run:
+ - name: ybc_datatype_proj_nonindexed_bigint_rangeScan
+ weight: 100
+ queries:
+ - query: select col_bigint_1 from pkey_range_lookup_tbl_1 where col_bigint_id_1>1
+ - workload: attbG3_ybc_datatype_proj_nonindexed_float_rangeScan
+ run:
+ - name: ybc_datatype_proj_nonindexed_float_rangeScan
+ weight: 100
+ queries:
+ - query: select col_float5_1 from pkey_range_lookup_tbl_1 where col_bigint_id_1>1
+ - workload: attbG3_ybc_datatype_proj_nonindexed_varchar10_rangeScan
+ run:
+ - name: ybc_datatype_proj_nonindexed_varchar10_rangeScan
+ weight: 100
+ queries:
+ - query: select col_varchar10_1 from pkey_range_lookup_tbl_1 where col_bigint_id_1>1
+ - workload: attbG3_ybc_datatype_proj_nonindexed_varchar100_rangeScan
+ run:
+ - name: ybc_datatype_proj_nonindexed_varchar100_rangeScan
+ weight: 100
+ queries:
+ - query: select col_varchar100_1 from pkey_range_lookup_tbl_1 where col_bigint_id_1>1
+ - workload: attbG3_ybc_datatype_proj_nonindexed_varchar500_rangeScan
+ run:
+ - name: ybc_datatype_proj_nonindexed_varchar500_rangeScan
+ weight: 100
+ queries:
+ - query: select col_varchar500_1 from pkey_range_lookup_tbl_1 where col_bigint_id_1>1
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/postgres/scanVG11_pg_pkey_rangescan_join.yaml b/config/yugabyte/scan_workload_varchar/postgres/scanVG11_pg_pkey_rangescan_join.yaml
new file mode 100644
index 000000000..aae21a5c2
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/postgres/scanVG11_pg_pkey_rangescan_join.yaml
@@ -0,0 +1,94 @@
+#TEST FOR POSTGRES
+#GOAL11 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Join + Primary Key: Range + Join condition: Range Primary key. + Filter: range scan
+#TESTS:
+# Filter condition returns 1 rows
+# Filter condition returns 10 rows
+# Filter condition returns 1000 rows
+# Filter condition returns 100000 rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://sgupta-pg-i-westc-validate.cbtcvpszcgdq.us-west-2.rds.amazonaws.com:5432/postgres?sslmode=require
+username: postgres
+password: Password321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ - CREATE TABLE pkey_rangescan_join_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1));
+ - CREATE TABLE pkey_rangescan_join_2(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1));
+ loadRules:
+ - table: pkey_rangescan_join_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG11_pg_pkey_rangescan_join_fetch_1row
+ run:
+ - name: pkey_rangescan_join_fetch_1row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_varchar100_id_1=pkey_rangescan_join_2.col_varchar100_id_1 and pkey_rangescan_join_1.col_varchar100_id_1>'9a';
+ - workload: scanG11_pg_pkey_rangescan_join_fetch_10row
+ run:
+ - name: pkey_rangescan_join_fetch_10row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_varchar100_id_1=pkey_rangescan_join_2.col_varchar100_id_1 and pkey_rangescan_join_1.col_varchar100_id_1>'999995';
+ - workload: scanG11_pg_pkey_rangescan_join_fetch_1000row
+ run:
+ - name: pkey_rangescan_join_fetch_1000row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_varchar100_id_1=pkey_rangescan_join_2.col_varchar100_id_1 and pkey_rangescan_join_1.col_varchar100_id_1>'9990bb';
+ - workload: scanG11_pg_pkey_rangescan_join_fetch_100000row
+ run:
+ - name: pkey_rangescan_join_fetch_100000row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_varchar100_id_1=pkey_rangescan_join_2.col_varchar100_id_1 and pkey_rangescan_join_1.col_varchar100_id_1>'91';
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/postgres/scanVG1_pg_hash_pointlookup_primarykey_vs_index.yaml b/config/yugabyte/scan_workload_varchar/postgres/scanVG1_pg_hash_pointlookup_primarykey_vs_index.yaml
new file mode 100644
index 000000000..6f5171cd8
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/postgres/scanVG1_pg_hash_pointlookup_primarykey_vs_index.yaml
@@ -0,0 +1,118 @@
+#TEST FOR POSTGRES
+#GOAL1 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Range Primary lookup vs Range Index lookup (Index Scan)
+#TESTS:
+# Time to fetch 1 row based (= operator) on a predicate column which is Range Primary key
+# Time to fetch 1 row based (= operator) on a predicate column which is Range indexed
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://sgupta-pg-i-westc-validate.cbtcvpszcgdq.us-west-2.rds.amazonaws.com:5432/postgres?sslmode=require
+username: postgres
+password: Password321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+
+ - DROP TABLE IF EXISTS pkey_hash_point_lookup_v100_tbl_1;
+ - DROP TABLE IF EXISTS indx_hash_point_lookup_v100_tbl_1;
+ - CREATE TABLE pkey_hash_point_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1));
+ - CREATE TABLE indx_hash_point_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE INDEX ON indx_hash_point_lookup_v100_tbl_1(col_varchar100_id_1);
+ loadRules:
+ - table: pkey_hash_point_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: indx_hash_point_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanVG1_pg_pkey_v100_hash_point_lookup
+ run:
+ - name: pkey_v100_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1='500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+
+ - workload: scanVG1_pg_indx_v100_hash_point_lookup
+ run:
+ - name: indx_v100_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1='500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
diff --git a/config/yugabyte/scan_workload_varchar/postgres/scanVG2_pg_pkey_rangeScan_increasingRows.yaml b/config/yugabyte/scan_workload_varchar/postgres/scanVG2_pg_pkey_rangeScan_increasingRows.yaml
new file mode 100755
index 000000000..87291128e
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/postgres/scanVG2_pg_pkey_rangeScan_increasingRows.yaml
@@ -0,0 +1,93 @@
+#TEST FOR POSTGRES
+#GOAL2 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Primary key range scan - Varying number of rows
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 100k rows
+# Range scan time to fetch 500k rows
+# Range scan time to fetch 1M rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://sgupta-pg-i-westc-validate.cbtcvpszcgdq.us-west-2.rds.amazonaws.com:5432/postgres?sslmode=require
+username: postgres
+password: Password321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_lookup_v100_tbl_1;
+ - CREATE TABLE pkey_rangescan_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1));
+ loadRules:
+ - table: pkey_rangescan_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+
+ executeRules:
+ - workload: scanVG2_pg_pkey_rangescan_varying_rows_1row
+ run:
+ - name: pkey_rangescan_1row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_lookup_v100_tbl_1 where col_varchar100_id_1>'9a'
+ - workload: scanVG2_pg_pkey_rangescan_varying_rows_100Krows
+ run:
+ - name: pkey_rangescan_100krow_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_lookup_v100_tbl_1 where col_varchar100_id_1>'91'
+ - workload: scanVG2_pg_pkey_rangescan_varying_rows_500Krows
+ run:
+ - name: pkey_rangescan_500krow_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_lookup_v100_tbl_1 where col_varchar100_id_1>'55'
+ - workload: scanVG2_pg_pkey_rangescan_varying_rows_1Mrows
+ run:
+ - name: pkey_rangescan_1Mrow_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_lookup_v100_tbl_1 where col_varchar100_id_1>'0'
diff --git a/config/yugabyte/scan_workload_varchar/postgres/scanVG3_pg_index_rangeScan_increasingRows.yaml b/config/yugabyte/scan_workload_varchar/postgres/scanVG3_pg_index_rangeScan_increasingRows.yaml
new file mode 100644
index 000000000..889ff85e4
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/postgres/scanVG3_pg_index_rangeScan_increasingRows.yaml
@@ -0,0 +1,94 @@
+#TEST FOR POSTGRES
+#GOAL3 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Indexed column range scan - Varying number of rows
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 100k rows
+# Range scan time to fetch 500k rows
+# Range scan time to fetch 1M rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://sgupta-pg-i-westc-validate.cbtcvpszcgdq.us-west-2.rds.amazonaws.com:5432/postgres?sslmode=require
+username: postgres
+password: Password321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS indx_hash_point_lookup_v100_tbl_1;
+ - CREATE TABLE indx_hash_point_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE INDEX ON indx_hash_point_lookup_v100_tbl_1(col_varchar100_id_1);
+ loadRules:
+ - table: indx_hash_point_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+
+ executeRules:
+ - workload: scanVG3_pg_indx_rangescan_varying_rows_1row
+ run:
+ - name: indx_rangescan_1row_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1>'9a'
+ - workload: scanVG3_pg_indx_rangescan_varying_rows_100Krows
+ run:
+ - name: indx_rangescan_100krow_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1>'91'
+ - workload: scanVG3_pg_indx_rangescan_varying_rows_500Krows
+ run:
+ - name: indx_rangescan_500krow_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1>'55'
+ - workload: scanVG3_pg_indx_rangescan_varying_rows_1Mrows
+ run:
+ - name: indx_rangescan_1Mrow_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1>'0'
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/postgres/scanVG4_pg_pkey_rangeScan_INclause_increasingRows.yaml b/config/yugabyte/scan_workload_varchar/postgres/scanVG4_pg_pkey_rangeScan_INclause_increasingRows.yaml
new file mode 100644
index 000000000..46d130f3e
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/postgres/scanVG4_pg_pkey_rangeScan_INclause_increasingRows.yaml
@@ -0,0 +1,108 @@
+#TEST FOR POSTGRES
+#GOAL4 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Primary key IN scan - Varying number of IN options
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 10 rows
+# Range scan time to fetch 100 rows
+# Range scan time to fetch 1000 rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://sgupta-pg-i-westc-validate.cbtcvpszcgdq.us-west-2.rds.amazonaws.com:5432/postgres?sslmode=require
+username: postgres
+password: Password321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_for_INclause_tbl_1;
+ - CREATE TABLE pkey_rangescan_for_INclause_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1));
+ loadRules:
+ - table: pkey_rangescan_for_INclause_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanVG4_pg_pkey_INclause_rangescan_increasing_rows_1row
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_for_INclause_tbl_1 where col_varchar100_id_1 IN (?)
+ bindings:
+ count: 1
+ util: RandomPKString
+ params: [ 1, 1000000 , 100]
+ - workload: scanVG4_pg_pkey_INclause_rangescan_increasing_rows_10row
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_for_INclause_tbl_1 where col_varchar100_id_1 IN (?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10
+ util: RandomPKString
+ params: [ 1, 1000000 , 100]
+ - workload: scanVG4_pg_pkey_INclause_rangescan_increasing_rows_100row
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_100row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_for_INclause_tbl_1 where col_varchar100_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 100
+ util: RandomPKString
+ params: [ 1, 1000000 , 100]
+ - workload: scanVG4_pg_pkey_INclause_rangescan_increasing_rows_1000row
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1000row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_for_INclause_tbl_1 where col_varchar100_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 1000
+ util: RandomPKString
+ params: [ 1, 1000000 , 100]
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/postgres/scanVG5_pg_pkey_hash_pointLookup_increasingColumn.yaml b/config/yugabyte/scan_workload_varchar/postgres/scanVG5_pg_pkey_hash_pointLookup_increasingColumn.yaml
new file mode 100644
index 000000000..fb023b5bf
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/postgres/scanVG5_pg_pkey_hash_pointLookup_increasingColumn.yaml
@@ -0,0 +1,114 @@
+#TEST FOR POSTGRES REGULAR TABLES
+#GOAL5 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Point lookup with different number of return columns (range primary key)
+#TESTS:
+# Time to fetch 2 column from schema that has 2 column
+# Time to fetch 10 column from schema that has 10 column
+# Time to fetch 25 column from schema that has 25 column
+# Time to fetch 100 column from schema that has 100 column
+
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://sgupta-pg-i-westc-validate.cbtcvpszcgdq.us-west-2.rds.amazonaws.com:5432/postgres?sslmode=require
+username: postgres
+password: Password321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_pointlookup_fullTable_2column_1;
+ - DROP TABLE IF EXISTS pkey_pointlookup_fullTable_10column_1;
+ - DROP TABLE IF EXISTS pkey_pointlookup_fullTable_25column_1;
+ - DROP TABLE IF EXISTS pkey_pointlookup_fullTable_100column_1;
+ - CREATE TABLE pkey_pointlookup_fullTable_2column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_pointlookup_fullTable_10column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,col_bigint_2 bigint,col_bigint_3 bigint,col_bigint_4 bigint,col_bigint_5 bigint,col_bigint_6 bigint,col_bigint_7 bigint,col_bigint_8 bigint,col_bigint_9 bigint,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_pointlookup_fullTable_25column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,col_bigint_2 bigint,col_bigint_3 bigint,col_bigint_4 bigint,col_bigint_5 bigint,col_bigint_6 bigint,col_bigint_7 bigint,col_bigint_8 bigint,col_bigint_9 bigint,col_bigint_10 bigint,col_bigint_11 bigint,col_bigint_12 bigint,col_bigint_13 bigint,col_bigint_14 bigint,col_bigint_15 bigint,col_bigint_16 bigint,col_bigint_17 bigint,col_bigint_18 bigint,col_bigint_19 bigint,col_bigint_20 bigint,col_bigint_21 bigint,col_bigint_22 bigint,col_bigint_23 bigint,col_bigint_24 bigint,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_pointlookup_fullTable_100column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,col_bigint_2 bigint,col_bigint_3 bigint,col_bigint_4 bigint,col_bigint_5 bigint,col_bigint_6 bigint,col_bigint_7 bigint,col_bigint_8 bigint,col_bigint_9 bigint,col_bigint_10 bigint,col_bigint_11 bigint,col_bigint_12 bigint,col_bigint_13 bigint,col_bigint_14 bigint,col_bigint_15 bigint,col_bigint_16 bigint,col_bigint_17 bigint,col_bigint_18 bigint,col_bigint_19 bigint,col_bigint_20 bigint,col_bigint_21 bigint,col_bigint_22 bigint,col_bigint_23 bigint,col_bigint_24 bigint,col_bigint_25 bigint,col_bigint_26 bigint,col_bigint_27 bigint,col_bigint_28 bigint,col_bigint_29 bigint,col_bigint_30 bigint,col_bigint_31 bigint,col_bigint_32 bigint,col_bigint_33 bigint,col_bigint_34 bigint,col_bigint_35 bigint,col_bigint_36 bigint,col_bigint_37 bigint,col_bigint_38 bigint,col_bigint_39 bigint,col_bigint_40 bigint,col_bigint_41 bigint,col_bigint_42 bigint,col_bigint_43 bigint,col_bigint_44 bigint,col_bigint_45 bigint,col_bigint_46 bigint,col_bigint_47 bigint,col_bigint_48 bigint,col_bigint_49 bigint,col_bigint_50 bigint,col_bigint_51 bigint,col_bigint_52 bigint,col_bigint_53 bigint,col_bigint_54 bigint,col_bigint_55 bigint,col_bigint_56 bigint,col_bigint_57 bigint,col_bigint_58 bigint,col_bigint_59 bigint,col_bigint_60 bigint,col_bigint_61 bigint,col_bigint_62 bigint,col_bigint_63 bigint,col_bigint_64 bigint,col_bigint_65 bigint,col_bigint_66 bigint,col_bigint_67 bigint,col_bigint_68 bigint,col_bigint_69 bigint,col_bigint_70 bigint,col_bigint_71 bigint,col_bigint_72 bigint,col_bigint_73 bigint,col_bigint_74 bigint,col_bigint_75 bigint,col_bigint_76 bigint,col_bigint_77 bigint,col_bigint_78 bigint,col_bigint_79 bigint,col_bigint_80 bigint,col_bigint_81 bigint,col_bigint_82 bigint,col_bigint_83 bigint,col_bigint_84 bigint,col_bigint_85 bigint,col_bigint_86 bigint,col_bigint_87 bigint,col_bigint_88 bigint,col_bigint_89 bigint,col_bigint_90 bigint,col_bigint_91 bigint,col_bigint_92 bigint,col_bigint_93 bigint,col_bigint_94 bigint,col_bigint_95 bigint,col_bigint_96 bigint,col_bigint_97 bigint,col_bigint_98 bigint,col_bigint_99 bigint,PRIMARY KEY(col_varchar_id_1));
+
+ loadRules:
+ - table: pkey_pointlookup_fullTable_2column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 1
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_pointlookup_fullTable_10column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 9
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_pointlookup_fullTable_25column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 24
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_pointlookup_fullTable_100column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 99
+ util: RandomNumber
+ params: [1, 1000000]
+
+ executeRules:
+ - workload: scanVG5_pg_pkey_hash_pointLookup_table2column_fetch2column
+ run:
+ - name: pkey_hash_pointLookup_table2column_fetch1column
+ weight: 100
+ queries:
+ - query: select * from pkey_pointlookup_fullTable_2column_1 where col_varchar_id_1 = '500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: scanVG5_pg_pkey_hash_pointLookup_table10column_fetch10column
+ run:
+ - name: pkey_hash_pointLookup_table10column_fetch10column
+ weight: 100
+ queries:
+ - query: select * from pkey_pointlookup_fullTable_10column_1 where col_varchar_id_1 = '500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: scanVG5_pg_pkey_hash_pointLookup_table25column_fetch25column
+ run:
+ - name: pkey_hash_pointLookup_table25column_fetch25column
+ weight: 100
+ queries:
+ - query: select * from pkey_pointlookup_fullTable_25column_1 where col_varchar_id_1 = '500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: scanVG5_pg_pkey_hash_pointLookup_table100column_fetch100column
+ run:
+ - name: pkey_rangescan_fullTable_table100column_fetch100column_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_pointlookup_fullTable_100column_1 where col_varchar_id_1 = '500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/postgres/scanVG7_pg_pkey_rangescan_fullTableScan_increasingColumn.yaml b/config/yugabyte/scan_workload_varchar/postgres/scanVG7_pg_pkey_rangescan_fullTableScan_increasingColumn.yaml
new file mode 100644
index 000000000..e49b0f6c8
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/postgres/scanVG7_pg_pkey_rangescan_fullTableScan_increasingColumn.yaml
@@ -0,0 +1,112 @@
+#TEST FOR POSTGRES REGULAR TABLES
+#GOAL7 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Range lookup with different number of return columns (Range primary key) (full table scan)
+#TESTS:
+# Time to fetch 2 column from schema that has 2 column
+# Time to fetch 10 column from schema that has 10 column
+# Time to fetch 25 column from schema that has 25 column
+# Time to fetch 100 column from schema that has 100 column
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://sgupta-pg-i-westc-validate.cbtcvpszcgdq.us-west-2.rds.amazonaws.com:5432/postgres?sslmode=require
+username: postgres
+password: Password321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_2column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_10column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_100column_1;
+ - CREATE TABLE pkey_rangescan_fullTable_2column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_rangescan_fullTable_10column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,col_bigint_2 bigint,col_bigint_3 bigint,col_bigint_4 bigint,col_bigint_5 bigint,col_bigint_6 bigint,col_bigint_7 bigint,col_bigint_8 bigint,col_bigint_9 bigint,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_rangescan_fullTable_25column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,col_bigint_2 bigint,col_bigint_3 bigint,col_bigint_4 bigint,col_bigint_5 bigint,col_bigint_6 bigint,col_bigint_7 bigint,col_bigint_8 bigint,col_bigint_9 bigint,col_bigint_10 bigint,col_bigint_11 bigint,col_bigint_12 bigint,col_bigint_13 bigint,col_bigint_14 bigint,col_bigint_15 bigint,col_bigint_16 bigint,col_bigint_17 bigint,col_bigint_18 bigint,col_bigint_19 bigint,col_bigint_20 bigint,col_bigint_21 bigint,col_bigint_22 bigint,col_bigint_23 bigint,col_bigint_24 bigint,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_rangescan_fullTable_100column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,col_bigint_2 bigint,col_bigint_3 bigint,col_bigint_4 bigint,col_bigint_5 bigint,col_bigint_6 bigint,col_bigint_7 bigint,col_bigint_8 bigint,col_bigint_9 bigint,col_bigint_10 bigint,col_bigint_11 bigint,col_bigint_12 bigint,col_bigint_13 bigint,col_bigint_14 bigint,col_bigint_15 bigint,col_bigint_16 bigint,col_bigint_17 bigint,col_bigint_18 bigint,col_bigint_19 bigint,col_bigint_20 bigint,col_bigint_21 bigint,col_bigint_22 bigint,col_bigint_23 bigint,col_bigint_24 bigint,col_bigint_25 bigint,col_bigint_26 bigint,col_bigint_27 bigint,col_bigint_28 bigint,col_bigint_29 bigint,col_bigint_30 bigint,col_bigint_31 bigint,col_bigint_32 bigint,col_bigint_33 bigint,col_bigint_34 bigint,col_bigint_35 bigint,col_bigint_36 bigint,col_bigint_37 bigint,col_bigint_38 bigint,col_bigint_39 bigint,col_bigint_40 bigint,col_bigint_41 bigint,col_bigint_42 bigint,col_bigint_43 bigint,col_bigint_44 bigint,col_bigint_45 bigint,col_bigint_46 bigint,col_bigint_47 bigint,col_bigint_48 bigint,col_bigint_49 bigint,col_bigint_50 bigint,col_bigint_51 bigint,col_bigint_52 bigint,col_bigint_53 bigint,col_bigint_54 bigint,col_bigint_55 bigint,col_bigint_56 bigint,col_bigint_57 bigint,col_bigint_58 bigint,col_bigint_59 bigint,col_bigint_60 bigint,col_bigint_61 bigint,col_bigint_62 bigint,col_bigint_63 bigint,col_bigint_64 bigint,col_bigint_65 bigint,col_bigint_66 bigint,col_bigint_67 bigint,col_bigint_68 bigint,col_bigint_69 bigint,col_bigint_70 bigint,col_bigint_71 bigint,col_bigint_72 bigint,col_bigint_73 bigint,col_bigint_74 bigint,col_bigint_75 bigint,col_bigint_76 bigint,col_bigint_77 bigint,col_bigint_78 bigint,col_bigint_79 bigint,col_bigint_80 bigint,col_bigint_81 bigint,col_bigint_82 bigint,col_bigint_83 bigint,col_bigint_84 bigint,col_bigint_85 bigint,col_bigint_86 bigint,col_bigint_87 bigint,col_bigint_88 bigint,col_bigint_89 bigint,col_bigint_90 bigint,col_bigint_91 bigint,col_bigint_92 bigint,col_bigint_93 bigint,col_bigint_94 bigint,col_bigint_95 bigint,col_bigint_96 bigint,col_bigint_97 bigint,col_bigint_98 bigint,col_bigint_99 bigint,PRIMARY KEY(col_varchar_id_1));
+
+ loadRules:
+ - table: pkey_rangescan_fullTable_2column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 1
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_10column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 9
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_25column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 24
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_100column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 99
+ util: RandomNumber
+ params: [1, 1000000]
+ executeRules:
+ - workload: scanVG7_pg_pkey_rangescan_fullTable_table2column_fetch2column
+ run:
+ - name: pkey_rangescan_fullTable_table1column_fetch1column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_2column_1 where col_varchar_id_1>'0'
+ - workload: scanVG7_pg_pkey_rangescan_fullTable_table10column_fetch10column
+ run:
+ - name: pkey_rangescan_fullTable_table10column_fetch10column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_10column_1 where col_varchar_id_1>'0'
+ - workload: scanVG7_pg_pkey_rangescan_fullTable_table25column_fetch25column
+ run:
+ - name: pkey_rangescan_fullTable_table25column_fetch25column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1>'0'
+ - workload: scanVG7_pg_pkey_rangescan_fullTable_table100column_fetch100column
+ run:
+ - name: pkey_rangescan_halfTable_table100column_fetch100column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_100column_1 where col_varchar_id_1>'0'
diff --git a/config/yugabyte/scan_workload_varchar/postgres/scanVG8_pg_nonIndexed_rangescan_fullTableScan_increasingRow.yaml b/config/yugabyte/scan_workload_varchar/postgres/scanVG8_pg_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
new file mode 100644
index 000000000..8706bc8e2
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/postgres/scanVG8_pg_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
@@ -0,0 +1,159 @@
+#TEST FOR POSTGRES
+#GOAL8 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Scan of a non indexed column which returns 0 row (Whole table scan)
+#TESTS:
+# Time to scan a table with 1 million rows
+# Time to scan a table with 5 million rows
+# Time to scan a table with 10 million rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://sgupta-pg-i-westc-validate.cbtcvpszcgdq.us-west-2.rds.amazonaws.com:5432/postgres?sslmode=require
+username: postgres
+password: Password321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_10M_rows_1;
+ - CREATE TABLE noIndex_fullTable_seqScan_1M_rows_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE noIndex_fullTable_seqScan_5M_rows_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE noIndex_fullTable_seqScan_10M_rows_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ loadRules:
+ - table: noIndex_fullTable_seqScan_1M_rows_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: noIndex_fullTable_seqScan_5M_rows_
+ count: 1
+ rows: 5000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 5000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: noIndex_fullTable_seqScan_10M_rows_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 10000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanVG8_pg_noIndex_fullTable_seqScan_1M_rows
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select * from noIndex_fullTable_seqScan_1M_rows_1 where col_varchar100_id_1>'a'
+ - workload: scanVG8_pg_noIndex_fullTable_seqScan_5M_rows
+ run:
+ - name: noIndex_fullTable_seqScan_5M_rows_test
+ weight: 100
+ queries:
+ - query: select * from noIndex_fullTable_seqScan_5M_rows_1 where col_varchar100_id_1>'a'
+ - workload: scanVG8_pg_noIndex_fullTable_seqScan_10M_rows
+ run:
+ - name: noIndex_fullTable_seqScan_10M_rows_test
+ weight: 100
+ queries:
+ - query: select * from noIndex_fullTable_seqScan_10M_rows_1 where col_varchar100_id_1>'a'
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/postgres/scanVG9_pg_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml b/config/yugabyte/scan_workload_varchar/postgres/scanVG9_pg_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
new file mode 100644
index 000000000..7ac16a94c
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/postgres/scanVG9_pg_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
@@ -0,0 +1,159 @@
+#TEST FOR POSTGRES
+#GOAL8 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# count(*) query (Pushdown to docdb)
+#TESTS:
+# Time to scan a table with 1 million rows
+# Time to scan a table with 5 million rows
+# Time to scan a table with 10 million rows
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://sgupta-pg-i-westc-validate.cbtcvpszcgdq.us-west-2.rds.amazonaws.com:5432/postgres?sslmode=require
+username: postgres
+password: Password321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_10M_rows_1;
+ - CREATE TABLE count_noIndex_fullTable_seqScan_1M_rows_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE count_noIndex_fullTable_seqScan_5M_rows_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE count_noIndex_fullTable_seqScan_10M_rows_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ loadRules:
+ - table: count_noIndex_fullTable_seqScan_1M_rows_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: count_noIndex_fullTable_seqScan_5M_rows_
+ count: 1
+ rows: 5000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 5000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 5000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: count_noIndex_fullTable_seqScan_10M_rows_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 10000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 10000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanVG9_pg_count_noIndex_fullTable_seqScan_1M_rows
+ run:
+ - name: count_noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select count(*) from count_noIndex_fullTable_seqScan_1M_rows_1
+ - workload: scanVG9_pg_count_noIndex_fullTable_seqScan_5M_rows
+ run:
+ - name: count_noIndex_fullTable_seqScan_5M_rows_test
+ weight: 100
+ queries:
+ - query: select count(*) from count_noIndex_fullTable_seqScan_5M_rows_1
+ - workload: scanVG9_pg_count_noIndex_fullTable_seqScan_10M_rows
+ run:
+ - name: count_noIndex_fullTable_seqScan_10M_rows_test
+ weight: 100
+ queries:
+ - query: select count(*) from count_noIndex_fullTable_seqScan_10M_rows_1
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/yb_colocated/cattribVG1_ybc_pointlookup_increasing_columnwidth_impact.yaml b/config/yugabyte/scan_workload_varchar/yb_colocated/cattribVG1_ybc_pointlookup_increasing_columnwidth_impact.yaml
new file mode 100644
index 000000000..940287bb2
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/yb_colocated/cattribVG1_ybc_pointlookup_increasing_columnwidth_impact.yaml
@@ -0,0 +1,272 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://172.151.48.253:5433/yugabyte?sslmode=require
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: yugabyte
+password: Password@321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_hash_point_lookup_v10_tbl_1;
+ - DROP TABLE IF EXISTS pkey_hash_point_lookup_v100_tbl_1;
+ - DROP TABLE IF EXISTS pkey_hash_point_lookup_v500_tbl_1;
+ - DROP TABLE IF EXISTS indx_hash_point_lookup_v10_tbl_1;
+ - DROP TABLE IF EXISTS indx_hash_point_lookup_v100_tbl_1;
+ - DROP TABLE IF EXISTS indx_hash_point_lookup_v500_tbl_1;
+ - CREATE TABLE pkey_hash_point_lookup_v10_tbl_1(col_varchar10_id_1 varchar(10), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar10_id_1));
+ - CREATE TABLE pkey_hash_point_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1));
+ - CREATE TABLE pkey_hash_point_lookup_v500_tbl_1(col_varchar500_id_1 varchar(500), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), PRIMARY KEY(col_varchar500_id_1));
+ - CREATE TABLE indx_hash_point_lookup_v10_tbl_1(col_varchar10_id_1 varchar(10), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE indx_hash_point_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE indx_hash_point_lookup_v500_tbl_1(col_varchar500_id_1 varchar(500), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100));
+ - CREATE INDEX ON indx_hash_point_lookup_v10_tbl_1(col_varchar10_id_1 ASC);
+ - CREATE INDEX ON indx_hash_point_lookup_v100_tbl_1(col_varchar100_id_1 ASC);
+ - CREATE INDEX ON indx_hash_point_lookup_v500_tbl_1(col_varchar500_id_1 ASC);
+ loadRules:
+ - table: pkey_hash_point_lookup_v10_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: pkey_hash_point_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: pkey_hash_point_lookup_v500_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+
+ - table: indx_hash_point_lookup_v10_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: indx_hash_point_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: indx_hash_point_lookup_v500_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+
+ executeRules:
+ - workload: cattribVG1_ybc_pkey_v10_hash_point_lookup
+ run:
+ - name: pkey_v10_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_point_lookup_v10_tbl_1 where col_varchar10_id_1='500009aaaa'
+ - workload: cattribVG1_ybc_pkey_v100_hash_point_lookup
+ run:
+ - name: pkey_v100_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1='500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribVG1_ybc_pkey_v500_hash_point_lookup
+ run:
+ - name: pkey_v500_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_point_lookup_v500_tbl_1 where col_varchar500_id_1='500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribVG1_ybc_indx_v10_hash_point_lookup
+ run:
+ - name: indx_v10_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v10_tbl_1 where col_varchar10_id_1='500009aaaa'
+ - workload: cattribVG1_ybc_indx_v100_hash_point_lookup
+ run:
+ - name: indx_v100_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1='500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: cattribVG1_ybc_indx_v500_hash_point_lookup
+ run:
+ - name: indx_v500_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v500_tbl_1 where col_varchar500_id_1='500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/yb_colocated/cattribVG2_ybc_rangelookup_increasing_columnwidth_impact.yaml b/config/yugabyte/scan_workload_varchar/yb_colocated/cattribVG2_ybc_rangelookup_increasing_columnwidth_impact.yaml
new file mode 100644
index 000000000..5c74f807c
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/yb_colocated/cattribVG2_ybc_rangelookup_increasing_columnwidth_impact.yaml
@@ -0,0 +1,272 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://172.151.48.253:5433/yugabyte?sslmode=require
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: yugabyte
+password: Password@321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_range_lookup_v10_tbl_1;
+ - DROP TABLE IF EXISTS pkey_range_lookup_v100_tbl_1;
+ - DROP TABLE IF EXISTS pkey_range_lookup_v500_tbl_1;
+ - DROP TABLE IF EXISTS indx_range_lookup_v10_tbl_1;
+ - DROP TABLE IF EXISTS indx_range_lookup_v100_tbl_1;
+ - DROP TABLE IF EXISTS indx_range_lookup_v500_tbl_1;
+ - CREATE TABLE pkey_range_lookup_v10_tbl_1(col_varchar10_id_1 varchar(10), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar10_id_1 ASC));
+ - CREATE TABLE pkey_range_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1 ASC));
+ - CREATE TABLE pkey_range_lookup_v500_tbl_1(col_varchar500_id_1 varchar(500), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), PRIMARY KEY(col_varchar500_id_1 ASC));
+ - CREATE TABLE indx_range_lookup_v10_tbl_1(col_varchar10_id_1 varchar(10), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE indx_range_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE indx_range_lookup_v500_tbl_1(col_varchar500_id_1 varchar(500), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100));
+ - CREATE INDEX ON indx_range_lookup_v10_tbl_1(col_varchar10_id_1 ASC);
+ - CREATE INDEX ON indx_range_lookup_v100_tbl_1(col_varchar100_id_1 ASC);
+ - CREATE INDEX ON indx_range_lookup_v500_tbl_1(col_varchar500_id_1 ASC);
+ loadRules:
+ - table: pkey_range_lookup_v10_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: pkey_range_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: pkey_range_lookup_v500_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+
+ - table: indx_range_lookup_v10_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar10_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 10]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: indx_range_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: indx_range_lookup_v500_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar500_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 500]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+
+ executeRules:
+ - workload: cattribVG2_ybc_pkey_v10_hash_point_lookup
+ run:
+ - name: pkey_v10_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_range_lookup_v10_tbl_1 where col_varchar10_id_1>'0'
+ - workload: cattribVG2_ybc_pkey_v100_hash_point_lookup
+ run:
+ - name: pkey_v100_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_range_lookup_v100_tbl_1 where col_varchar100_id_1>'0'
+ - workload: cattribVG2_ybc_pkey_v500_hash_point_lookup
+ run:
+ - name: pkey_v500_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_range_lookup_v500_tbl_1 where col_varchar500_id_1>'0'
+ - workload: cattribVG2_ybc_indx_v10_hash_point_lookup
+ run:
+ - name: indx_v10_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_range_lookup_v10_tbl_1 where col_varchar10_id_1>'0'
+ - workload: cattribVG2_ybc_indx_v100_hash_point_lookup
+ run:
+ - name: indx_v100_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_range_lookup_v100_tbl_1 where col_varchar100_id_1>'0'
+ - workload: cattribVG2_ybc_indx_v500_hash_point_lookup
+ run:
+ - name: indx_v500_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_range_lookup_v500_tbl_1 where col_varchar500_id_1>'0'
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/yb_colocated/cattribVG3_ybc_datatype_projection_impact.yaml b/config/yugabyte/scan_workload_varchar/yb_colocated/cattribVG3_ybc_datatype_projection_impact.yaml
new file mode 100644
index 000000000..fdd2717d9
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/yb_colocated/cattribVG3_ybc_datatype_projection_impact.yaml
@@ -0,0 +1,173 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://172.151.48.253:5433/yugabyte?sslmode=require
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: yugabyte
+password: Password@321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_hash_point_lookup_tbl_1;
+ - DROP TABLE IF EXISTS pkey_range_lookup_tbl_1;
+ - CREATE TABLE pkey_hash_point_lookup_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1));
+ - CREATE TABLE pkey_range_lookup_tbl_1(col_bigint_id_1 bigint, col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_bigint_id_1 ASC))
+ loadRules:
+ - table: pkey_hash_point_lookup_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: pkey_range_lookup_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_bigint_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: attbG3_ybc_datatype_proj_indexed_bigint_pointSelect
+ run:
+ - name: ybc_datatype_proj_indexed_bigint
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_hash_point_lookup_tbl_1 where col_bigint_id_1=500009
+ - workload: attbG3_ybc_datatype_proj_nonindexed_bigint_pointSelect
+ run:
+ - name: ybc_datatype_proj_nonindexed_bigint_pointSelect
+ weight: 100
+ queries:
+ - query: select col_bigint_1 from pkey_hash_point_lookup_tbl_1 where col_bigint_id_1=500009
+ - workload: attbG3_ybc_datatype_proj_nonindexed_float_pointSelect
+ run:
+ - name: ybc_datatype_proj_nonindexed_float_pointSelect
+ weight: 100
+ queries:
+ - query: select col_float5_1 from pkey_hash_point_lookup_tbl_1 where col_bigint_id_1=500009
+ - workload: attbG3_ybc_datatype_proj_nonindexed_varchar10_pointSelect
+ run:
+ - name: ybc_datatype_proj_nonindexed_varchar10_pointSelect
+ weight: 100
+ queries:
+ - query: select col_varchar10_1 from pkey_hash_point_lookup_tbl_1 where col_bigint_id_1=500009
+ - workload: attbG3_ybc_datatype_proj_nonindexed_varchar100_pointSelect
+ run:
+ - name: ybc_datatype_proj_nonindexed_varchar100_pointSelect
+ weight: 100
+ queries:
+ - query: select col_varchar100_1 from pkey_hash_point_lookup_tbl_1 where col_bigint_id_1=500009
+ - workload: attbG3_ybc_datatype_proj_nonindexed_varchar500_pointSelect
+ run:
+ - name: ybc_datatype_proj_nonindexed_varchar500_pointSelect
+ weight: 100
+ queries:
+ - query: select col_varchar500_1 from pkey_hash_point_lookup_tbl_1 where col_bigint_id_1=500009
+
+
+ - workload: attbG3_ybc_datatype_proj_indexed_bigint_rangeScan
+ run:
+ - name: ybc_datatype_proj_indexed_bigint_rangeScan
+ weight: 100
+ queries:
+ - query: select col_bigint_id_1 from pkey_range_lookup_tbl_1 where col_bigint_id_1>1
+ - workload: attbG3_ybc_datatype_proj_nonindexed_bigint_rangeScan
+ run:
+ - name: ybc_datatype_proj_nonindexed_bigint_rangeScan
+ weight: 100
+ queries:
+ - query: select col_bigint_1 from pkey_range_lookup_tbl_1 where col_bigint_id_1>1
+ - workload: attbG3_ybc_datatype_proj_nonindexed_float_rangeScan
+ run:
+ - name: ybc_datatype_proj_nonindexed_float_rangeScan
+ weight: 100
+ queries:
+ - query: select col_float5_1 from pkey_range_lookup_tbl_1 where col_bigint_id_1>1
+ - workload: attbG3_ybc_datatype_proj_nonindexed_varchar10_rangeScan
+ run:
+ - name: ybc_datatype_proj_nonindexed_varchar10_rangeScan
+ weight: 100
+ queries:
+ - query: select col_varchar10_1 from pkey_range_lookup_tbl_1 where col_bigint_id_1>1
+ - workload: attbG3_ybc_datatype_proj_nonindexed_varchar100_rangeScan
+ run:
+ - name: ybc_datatype_proj_nonindexed_varchar100_rangeScan
+ weight: 100
+ queries:
+ - query: select col_varchar100_1 from pkey_range_lookup_tbl_1 where col_bigint_id_1>1
+ - workload: attbG3_ybc_datatype_proj_nonindexed_varchar500_rangeScan
+ run:
+ - name: ybc_datatype_proj_nonindexed_varchar500_rangeScan
+ weight: 100
+ queries:
+ - query: select col_varchar500_1 from pkey_range_lookup_tbl_1 where col_bigint_id_1>1
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG11_ybc_pkey_rangescan_join.yaml b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG11_ybc_pkey_rangescan_join.yaml
new file mode 100644
index 000000000..6e9c615ed
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG11_ybc_pkey_rangescan_join.yaml
@@ -0,0 +1,95 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL11 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Join + Primary Key: Range + Join condition: Range Primary key. + Filter: range scan
+#TESTS:
+# Filter condition returns 1 rows
+# Filter condition returns 10 rows
+# Filter condition returns 1000 rows
+# Filter condition returns 100000 rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://172.151.48.253:5433/yugabyte?sslmode=require
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: yugabyte
+password: Password@321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_join_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_join_2;
+ - CREATE TABLE pkey_rangescan_join_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1 ASC));
+ - CREATE TABLE pkey_rangescan_join_2(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1 ASC));
+ loadRules:
+ - table: pkey_rangescan_join_
+ count: 2
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanG11_colo_pkey_rangescan_join_fetch_1row
+ run:
+ - name: pkey_rangescan_join_fetch_1row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_varchar100_id_1=pkey_rangescan_join_2.col_varchar100_id_1 and pkey_rangescan_join_1.col_varchar100_id_1>'9a';
+ - workload: scanG11_colo_pkey_rangescan_join_fetch_10row
+ run:
+ - name: pkey_rangescan_join_fetch_10row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_varchar100_id_1=pkey_rangescan_join_2.col_varchar100_id_1 and pkey_rangescan_join_1.col_varchar100_id_1>'999995';
+ - workload: scanG11_colo_pkey_rangescan_join_fetch_1000row
+ run:
+ - name: pkey_rangescan_join_fetch_1000row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_varchar100_id_1=pkey_rangescan_join_2.col_varchar100_id_1 and pkey_rangescan_join_1.col_varchar100_id_1>'9990bb';
+ - workload: scanG11_colo_pkey_rangescan_join_fetch_100000row
+ run:
+ - name: pkey_rangescan_join_fetch_100000row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_join_1 JOIN pkey_rangescan_join_2 on pkey_rangescan_join_1.col_varchar100_id_1=pkey_rangescan_join_2.col_varchar100_id_1 and pkey_rangescan_join_1.col_varchar100_id_1>'91';
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG1_ybc_hash_pointlookup_primarykey_vs_index.yaml b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG1_ybc_hash_pointlookup_primarykey_vs_index.yaml
new file mode 100644
index 000000000..2691a2d4e
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG1_ybc_hash_pointlookup_primarykey_vs_index.yaml
@@ -0,0 +1,120 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL1 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Range Primary lookup vs Range Index lookup (Index Scan)
+#TESTS:
+# Time to fetch 1 row based (= operator) on a predicate column which is Range Primary key
+# Time to fetch 1 row based (= operator) on a predicate column which is Range indexed
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://172.151.48.253:5433/yugabyte?sslmode=require
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: yugabyte
+password: Password@321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_hash_point_lookup_v100_tbl_1;
+ - DROP TABLE IF EXISTS indx_hash_point_lookup_v100_tbl_1;
+ - CREATE TABLE pkey_hash_point_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1));
+ - CREATE TABLE indx_hash_point_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE INDEX ON indx_hash_point_lookup_v100_tbl_1(col_varchar100_id_1);
+ loadRules:
+
+ - table: pkey_hash_point_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+
+ - table: indx_hash_point_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+
+ executeRules:
+ - workload: scanVG1_ybc_pkey_v100_hash_point_lookup
+ run:
+ - name: pkey_v100_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from pkey_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1='500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: scanVG1_ybc_indx_v100_hash_point_lookup
+ run:
+ - name: indx_v100_hash_point_lookup_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1='500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG2_ybc_pkey_rangeScan_increasingRows.yaml b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG2_ybc_pkey_rangeScan_increasingRows.yaml
new file mode 100755
index 000000000..c6dc1199f
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG2_ybc_pkey_rangeScan_increasingRows.yaml
@@ -0,0 +1,94 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL2 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Primary key range scan - Varying number of rows
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 100k rows
+# Range scan time to fetch 500k rows
+# Range scan time to fetch 1M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://172.151.48.253:5433/yugabyte?sslmode=require
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: yugabyte
+password: Password@321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_lookup_v100_tbl_1;
+ - CREATE TABLE pkey_rangescan_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1 ASC));
+ loadRules:
+ - table: pkey_rangescan_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+
+ executeRules:
+ - workload: scanVG2_ybc_pkey_rangescan_varying_rows_1row
+ run:
+ - name: pkey_rangescan_1row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_lookup_v100_tbl_1 where col_varchar100_id_1>'9a'
+ - workload: scanVG2_ybc_pkey_rangescan_varying_rows_100Krows
+ run:
+ - name: pkey_rangescan_100krow_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_lookup_v100_tbl_1 where col_varchar100_id_1>'91'
+ - workload: scanVG2_ybc_pkey_rangescan_varying_rows_500Krows
+ run:
+ - name: pkey_rangescan_500krow_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_lookup_v100_tbl_1 where col_varchar100_id_1>'55'
+ - workload: scanVG2_ybc_pkey_rangescan_varying_rows_1Mrows
+ run:
+ - name: pkey_rangescan_1Mrow_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_lookup_v100_tbl_1 where col_varchar100_id_1>'0'
diff --git a/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG3_ybc_index_rangeScan_increasingRows.yaml b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG3_ybc_index_rangeScan_increasingRows.yaml
new file mode 100644
index 000000000..f2fa82c61
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG3_ybc_index_rangeScan_increasingRows.yaml
@@ -0,0 +1,95 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL3 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Indexed column range scan - Varying number of rows
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 100k rows
+# Range scan time to fetch 500k rows
+# Range scan time to fetch 1M rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://172.151.48.253:5433/yugabyte?sslmode=require
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: yugabyte
+password: Password@321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS indx_hash_point_lookup_v100_tbl_1;
+ - CREATE TABLE indx_hash_point_lookup_v100_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_bigint_6 bigint,col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE INDEX ON indx_hash_point_lookup_v100_tbl_1(col_varchar100_id_1 ASC);
+ loadRules:
+ - table: indx_hash_point_lookup_v100_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 6
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 1
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+
+ executeRules:
+ - workload: scanVG3_ybc_indx_rangescan_varying_rows_1row
+ run:
+ - name: indx_rangescan_1row_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1>'9a'
+ - workload: scanVG3_ybc_indx_rangescan_varying_rows_100Krows
+ run:
+ - name: indx_rangescan_100krow_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1>'91'
+ - workload: scanVG3_ybc_indx_rangescan_varying_rows_500Krows
+ run:
+ - name: indx_rangescan_500krow_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1>'55'
+ - workload: scanVG3_ybc_indx_rangescan_varying_rows_1Mrows
+ run:
+ - name: indx_rangescan_1Mrow_test
+ weight: 100
+ queries:
+ - query: select * from indx_hash_point_lookup_v100_tbl_1 where col_varchar100_id_1>'0'
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG4_ybc_pkey_rangeScan_INclause_increasingRows.yaml b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG4_ybc_pkey_rangeScan_INclause_increasingRows.yaml
new file mode 100644
index 000000000..2493b72b5
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG4_ybc_pkey_rangeScan_INclause_increasingRows.yaml
@@ -0,0 +1,109 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL4 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Primary key IN scan - Varying number of IN options
+#TESTS:
+# Range scan time to fetch 1 rows
+# Range scan time to fetch 10 rows
+# Range scan time to fetch 100 rows
+# Range scan time to fetch 1000 rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://172.151.48.253:5433/yugabyte?sslmode=require
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: yugabyte
+password: Password@321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_for_INclause_tbl_1;
+ - CREATE TABLE pkey_rangescan_for_INclause_tbl_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500), PRIMARY KEY(col_varchar100_id_1 ASC));
+ loadRules:
+ - table: pkey_rangescan_for_INclause_tbl_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanVG4_ybc_pkey_INclause_rangescan_increasing_rows_1row
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_for_INclause_tbl_1 where col_varchar100_id_1 IN (?)
+ bindings:
+ count: 1
+ util: RandomPKString
+ params: [ 1, 1000000 , 100]
+ - workload: scanVG4_ybc_pkey_INclause_rangescan_increasing_rows_10row
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_10row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_for_INclause_tbl_1 where col_varchar100_id_1 IN (?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 10
+ util: RandomPKString
+ params: [ 1, 1000000 , 100]
+ - workload: scanVG4_ybc_pkey_INclause_rangescan_increasing_rows_100row
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_100row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_for_INclause_tbl_1 where col_varchar100_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 100
+ util: RandomPKString
+ params: [ 1, 1000000 , 100]
+ - workload: scanVG4_ybc_pkey_INclause_rangescan_increasing_rows_1000row
+ run:
+ - name: pkey_INclause_rangescan_increasing_rows_1000row_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_for_INclause_tbl_1 where col_varchar100_id_1 IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ bindings:
+ count: 1000
+ util: RandomPKString
+ params: [ 1, 1000000 , 100]
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG5_ybc_pkey_hash_pointLookup_increasingColumn.yaml b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG5_ybc_pkey_hash_pointLookup_increasingColumn.yaml
new file mode 100644
index 000000000..320bbc837
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG5_ybc_pkey_hash_pointLookup_increasingColumn.yaml
@@ -0,0 +1,115 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL5 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Point lookup with different number of return columns (range primary key)
+#TESTS:
+# Time to fetch 2 column from schema that has 2 column
+# Time to fetch 10 column from schema that has 10 column
+# Time to fetch 25 column from schema that has 25 column
+# Time to fetch 100 column from schema that has 100 column
+
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://172.151.48.253:5433/yugabyte?sslmode=require
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: yugabyte
+password: Password@321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_pointlookup_fullTable_2column_1;
+ - DROP TABLE IF EXISTS pkey_pointlookup_fullTable_10column_1;
+ - DROP TABLE IF EXISTS pkey_pointlookup_fullTable_25column_1;
+ - DROP TABLE IF EXISTS pkey_pointlookup_fullTable_100column_1;
+ - CREATE TABLE pkey_pointlookup_fullTable_2column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_pointlookup_fullTable_10column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,col_bigint_2 bigint,col_bigint_3 bigint,col_bigint_4 bigint,col_bigint_5 bigint,col_bigint_6 bigint,col_bigint_7 bigint,col_bigint_8 bigint,col_bigint_9 bigint,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_pointlookup_fullTable_25column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,col_bigint_2 bigint,col_bigint_3 bigint,col_bigint_4 bigint,col_bigint_5 bigint,col_bigint_6 bigint,col_bigint_7 bigint,col_bigint_8 bigint,col_bigint_9 bigint,col_bigint_10 bigint,col_bigint_11 bigint,col_bigint_12 bigint,col_bigint_13 bigint,col_bigint_14 bigint,col_bigint_15 bigint,col_bigint_16 bigint,col_bigint_17 bigint,col_bigint_18 bigint,col_bigint_19 bigint,col_bigint_20 bigint,col_bigint_21 bigint,col_bigint_22 bigint,col_bigint_23 bigint,col_bigint_24 bigint,PRIMARY KEY(col_varchar_id_1));
+ - CREATE TABLE pkey_pointlookup_fullTable_100column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,col_bigint_2 bigint,col_bigint_3 bigint,col_bigint_4 bigint,col_bigint_5 bigint,col_bigint_6 bigint,col_bigint_7 bigint,col_bigint_8 bigint,col_bigint_9 bigint,col_bigint_10 bigint,col_bigint_11 bigint,col_bigint_12 bigint,col_bigint_13 bigint,col_bigint_14 bigint,col_bigint_15 bigint,col_bigint_16 bigint,col_bigint_17 bigint,col_bigint_18 bigint,col_bigint_19 bigint,col_bigint_20 bigint,col_bigint_21 bigint,col_bigint_22 bigint,col_bigint_23 bigint,col_bigint_24 bigint,col_bigint_25 bigint,col_bigint_26 bigint,col_bigint_27 bigint,col_bigint_28 bigint,col_bigint_29 bigint,col_bigint_30 bigint,col_bigint_31 bigint,col_bigint_32 bigint,col_bigint_33 bigint,col_bigint_34 bigint,col_bigint_35 bigint,col_bigint_36 bigint,col_bigint_37 bigint,col_bigint_38 bigint,col_bigint_39 bigint,col_bigint_40 bigint,col_bigint_41 bigint,col_bigint_42 bigint,col_bigint_43 bigint,col_bigint_44 bigint,col_bigint_45 bigint,col_bigint_46 bigint,col_bigint_47 bigint,col_bigint_48 bigint,col_bigint_49 bigint,col_bigint_50 bigint,col_bigint_51 bigint,col_bigint_52 bigint,col_bigint_53 bigint,col_bigint_54 bigint,col_bigint_55 bigint,col_bigint_56 bigint,col_bigint_57 bigint,col_bigint_58 bigint,col_bigint_59 bigint,col_bigint_60 bigint,col_bigint_61 bigint,col_bigint_62 bigint,col_bigint_63 bigint,col_bigint_64 bigint,col_bigint_65 bigint,col_bigint_66 bigint,col_bigint_67 bigint,col_bigint_68 bigint,col_bigint_69 bigint,col_bigint_70 bigint,col_bigint_71 bigint,col_bigint_72 bigint,col_bigint_73 bigint,col_bigint_74 bigint,col_bigint_75 bigint,col_bigint_76 bigint,col_bigint_77 bigint,col_bigint_78 bigint,col_bigint_79 bigint,col_bigint_80 bigint,col_bigint_81 bigint,col_bigint_82 bigint,col_bigint_83 bigint,col_bigint_84 bigint,col_bigint_85 bigint,col_bigint_86 bigint,col_bigint_87 bigint,col_bigint_88 bigint,col_bigint_89 bigint,col_bigint_90 bigint,col_bigint_91 bigint,col_bigint_92 bigint,col_bigint_93 bigint,col_bigint_94 bigint,col_bigint_95 bigint,col_bigint_96 bigint,col_bigint_97 bigint,col_bigint_98 bigint,col_bigint_99 bigint,PRIMARY KEY(col_varchar_id_1));
+
+ loadRules:
+ - table: pkey_pointlookup_fullTable_2column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 1
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_pointlookup_fullTable_10column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 9
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_pointlookup_fullTable_25column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 24
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_pointlookup_fullTable_100column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 99
+ util: RandomNumber
+ params: [1, 1000000]
+
+ executeRules:
+ - workload: scanVG5_ybc_pkey_hash_pointLookup_table2column_fetch2column
+ run:
+ - name: pkey_hash_pointLookup_table2column_fetch1column
+ weight: 100
+ queries:
+ - query: select * from pkey_pointlookup_fullTable_2column_1 where col_varchar_id_1 = '500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: scanVG5_ybc_pkey_hash_pointLookup_table10column_fetch10column
+ run:
+ - name: pkey_hash_pointLookup_table10column_fetch10column
+ weight: 100
+ queries:
+ - query: select * from pkey_pointlookup_fullTable_10column_1 where col_varchar_id_1 = '500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: scanVG5_ybc_pkey_hash_pointLookup_table25column_fetch25column
+ run:
+ - name: pkey_hash_pointLookup_table25column_fetch25column
+ weight: 100
+ queries:
+ - query: select * from pkey_pointlookup_fullTable_25column_1 where col_varchar_id_1 = '500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ - workload: scanVG5_ybc_pkey_hash_pointLookup_table100column_fetch100column
+ run:
+ - name: pkey_rangescan_fullTable_table100column_fetch100column_1MRowsFetched
+ weight: 100
+ queries:
+ - query: select * from pkey_pointlookup_fullTable_100column_1 where col_varchar_id_1 = '500009aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG7_ybc_pkey_rangescan_fullTableScan_increasingColumn.yaml b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG7_ybc_pkey_rangescan_fullTableScan_increasingColumn.yaml
new file mode 100644
index 000000000..0a5760683
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG7_ybc_pkey_rangescan_fullTableScan_increasingColumn.yaml
@@ -0,0 +1,113 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL7 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Range lookup with different number of return columns (Range primary key) (full table scan)
+#TESTS:
+# Time to fetch 2 column from schema that has 2 column
+# Time to fetch 10 column from schema that has 10 column
+# Time to fetch 25 column from schema that has 25 column
+# Time to fetch 100 column from schema that has 100 column
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://172.151.48.253:5433/yugabyte?sslmode=require
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: yugabyte
+password: Password@321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_2column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_10column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_25column_1;
+ - DROP TABLE IF EXISTS pkey_rangescan_fullTable_100column_1;
+ - CREATE TABLE pkey_rangescan_fullTable_2column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,PRIMARY KEY(col_varchar_id_1 ASC));
+ - CREATE TABLE pkey_rangescan_fullTable_10column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,col_bigint_2 bigint,col_bigint_3 bigint,col_bigint_4 bigint,col_bigint_5 bigint,col_bigint_6 bigint,col_bigint_7 bigint,col_bigint_8 bigint,col_bigint_9 bigint,PRIMARY KEY(col_varchar_id_1 ASC));
+ - CREATE TABLE pkey_rangescan_fullTable_25column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,col_bigint_2 bigint,col_bigint_3 bigint,col_bigint_4 bigint,col_bigint_5 bigint,col_bigint_6 bigint,col_bigint_7 bigint,col_bigint_8 bigint,col_bigint_9 bigint,col_bigint_10 bigint,col_bigint_11 bigint,col_bigint_12 bigint,col_bigint_13 bigint,col_bigint_14 bigint,col_bigint_15 bigint,col_bigint_16 bigint,col_bigint_17 bigint,col_bigint_18 bigint,col_bigint_19 bigint,col_bigint_20 bigint,col_bigint_21 bigint,col_bigint_22 bigint,col_bigint_23 bigint,col_bigint_24 bigint,PRIMARY KEY(col_varchar_id_1 ASC));
+ - CREATE TABLE pkey_rangescan_fullTable_100column_1(col_varchar_id_1 varchar(100),col_bigint_1 bigint,col_bigint_2 bigint,col_bigint_3 bigint,col_bigint_4 bigint,col_bigint_5 bigint,col_bigint_6 bigint,col_bigint_7 bigint,col_bigint_8 bigint,col_bigint_9 bigint,col_bigint_10 bigint,col_bigint_11 bigint,col_bigint_12 bigint,col_bigint_13 bigint,col_bigint_14 bigint,col_bigint_15 bigint,col_bigint_16 bigint,col_bigint_17 bigint,col_bigint_18 bigint,col_bigint_19 bigint,col_bigint_20 bigint,col_bigint_21 bigint,col_bigint_22 bigint,col_bigint_23 bigint,col_bigint_24 bigint,col_bigint_25 bigint,col_bigint_26 bigint,col_bigint_27 bigint,col_bigint_28 bigint,col_bigint_29 bigint,col_bigint_30 bigint,col_bigint_31 bigint,col_bigint_32 bigint,col_bigint_33 bigint,col_bigint_34 bigint,col_bigint_35 bigint,col_bigint_36 bigint,col_bigint_37 bigint,col_bigint_38 bigint,col_bigint_39 bigint,col_bigint_40 bigint,col_bigint_41 bigint,col_bigint_42 bigint,col_bigint_43 bigint,col_bigint_44 bigint,col_bigint_45 bigint,col_bigint_46 bigint,col_bigint_47 bigint,col_bigint_48 bigint,col_bigint_49 bigint,col_bigint_50 bigint,col_bigint_51 bigint,col_bigint_52 bigint,col_bigint_53 bigint,col_bigint_54 bigint,col_bigint_55 bigint,col_bigint_56 bigint,col_bigint_57 bigint,col_bigint_58 bigint,col_bigint_59 bigint,col_bigint_60 bigint,col_bigint_61 bigint,col_bigint_62 bigint,col_bigint_63 bigint,col_bigint_64 bigint,col_bigint_65 bigint,col_bigint_66 bigint,col_bigint_67 bigint,col_bigint_68 bigint,col_bigint_69 bigint,col_bigint_70 bigint,col_bigint_71 bigint,col_bigint_72 bigint,col_bigint_73 bigint,col_bigint_74 bigint,col_bigint_75 bigint,col_bigint_76 bigint,col_bigint_77 bigint,col_bigint_78 bigint,col_bigint_79 bigint,col_bigint_80 bigint,col_bigint_81 bigint,col_bigint_82 bigint,col_bigint_83 bigint,col_bigint_84 bigint,col_bigint_85 bigint,col_bigint_86 bigint,col_bigint_87 bigint,col_bigint_88 bigint,col_bigint_89 bigint,col_bigint_90 bigint,col_bigint_91 bigint,col_bigint_92 bigint,col_bigint_93 bigint,col_bigint_94 bigint,col_bigint_95 bigint,col_bigint_96 bigint,col_bigint_97 bigint,col_bigint_98 bigint,col_bigint_99 bigint,PRIMARY KEY(col_varchar_id_1 ASC));
+
+ loadRules:
+ - table: pkey_rangescan_fullTable_2column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 1
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_10column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 9
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_25column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 24
+ util: RandomNumber
+ params: [1, 1000000]
+ - table: pkey_rangescan_fullTable_100column_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 99
+ util: RandomNumber
+ params: [1, 1000000]
+ executeRules:
+ - workload: scanVG7_ybc_pkey_rangescan_fullTable_table2column_fetch2column
+ run:
+ - name: pkey_rangescan_fullTable_table1column_fetch1column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_2column_1 where col_varchar_id_1>'0'
+ - workload: scanVG7_ybc_pkey_rangescan_fullTable_table10column_fetch10column
+ run:
+ - name: pkey_rangescan_fullTable_table10column_fetch10column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_10column_1 where col_varchar_id_1>'0'
+ - workload: scanVG7_ybc_pkey_rangescan_fullTable_table25column_fetch25column
+ run:
+ - name: pkey_rangescan_fullTable_table25column_fetch25column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_25column_1 where col_varchar_id_1>'0'
+ - workload: scanVG7_ybc_pkey_rangescan_fullTable_table100column_fetch100column
+ run:
+ - name: pkey_rangescan_halfTable_table100column_fetch100column_test
+ weight: 100
+ queries:
+ - query: select * from pkey_rangescan_fullTable_100column_1 where col_varchar_id_1>'0'
diff --git a/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG8_ybc_nonIndexed_rangescan_fullTableScan_increasingRow.yaml b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG8_ybc_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
new file mode 100644
index 000000000..d14150955
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG8_ybc_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
@@ -0,0 +1,160 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL8 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# Scan of a non indexed column which returns 0 row (Whole table scan)
+#TESTS:
+# Time to scan a table with 1 million rows
+# Time to scan a table with 5 million rows
+# Time to scan a table with 10 million rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://172.151.48.253:5433/yugabyte?sslmode=require
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: yugabyte
+password: Password@321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS noIndex_fullTable_seqScan_10M_rows_1;
+ - CREATE TABLE noIndex_fullTable_seqScan_1M_rows_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE noIndex_fullTable_seqScan_5M_rows_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE noIndex_fullTable_seqScan_10M_rows_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ loadRules:
+ - table: noIndex_fullTable_seqScan_1M_rows_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: noIndex_fullTable_seqScan_5M_rows_
+ count: 1
+ rows: 5000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 5000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: noIndex_fullTable_seqScan_10M_rows_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 10000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanVG8_ybc_noIndex_fullTable_seqScan_1M_rows
+ run:
+ - name: noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select * from noIndex_fullTable_seqScan_1M_rows_1 where col_varchar100_id_1>'a'
+ - workload: scanVG8_ybc_noIndex_fullTable_seqScan_5M_rows
+ run:
+ - name: noIndex_fullTable_seqScan_5M_rows_test
+ weight: 100
+ queries:
+ - query: select * from noIndex_fullTable_seqScan_5M_rows_1 where col_varchar100_id_1>'a'
+ - workload: scanVG8_ybc_noIndex_fullTable_seqScan_10M_rows
+ run:
+ - name: noIndex_fullTable_seqScan_10M_rows_test
+ weight: 100
+ queries:
+ - query: select * from noIndex_fullTable_seqScan_10M_rows_1 where col_varchar100_id_1>'a'
\ No newline at end of file
diff --git a/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG9_ybc_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG9_ybc_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
new file mode 100644
index 000000000..94e8ec45a
--- /dev/null
+++ b/config/yugabyte/scan_workload_varchar/yb_colocated/scanVG9_ybc_count_nonIndexed_rangescan_fullTableScan_increasingRow.yaml
@@ -0,0 +1,160 @@
+#TEST FOR YUGABYTE COLOCATED TABLES
+#GOAL8 from tab Scan queries of doc https://docs.google.com/spreadsheets/d/1-M1i5tWJQJdbmtv7mz_20MZsT2Oqh_T3-6m12qKAMcA/edit#gid=796784261:
+# count(*) query (Pushdown to docdb)
+#TESTS:
+# Time to scan a table with 1 million rows
+# Time to scan a table with 5 million rows
+# Time to scan a table with 10 million rows
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://172.151.48.253:5433/yugabyte?sslmode=require
+createdb: drop database if exists yb_colocated; create database yb_colocated with colocated=true
+username: yugabyte
+password: Password@321
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 180
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: true
+ create:
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_1M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_5M_rows_1;
+ - DROP TABLE IF EXISTS count_noIndex_fullTable_seqScan_10M_rows_1;
+ - CREATE TABLE count_noIndex_fullTable_seqScan_1M_rows_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE count_noIndex_fullTable_seqScan_5M_rows_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ - CREATE TABLE count_noIndex_fullTable_seqScan_10M_rows_1(col_varchar100_id_1 varchar(100), col_bigint_1 bigint, col_bigint_2 bigint, col_bigint_3 bigint, col_bigint_4 bigint, col_bigint_5 bigint, col_float2_1 float(2), col_float2_2 float(2), col_float5_1 float(5), col_float5_2 float(5), col_boolean_1 boolean, col_varchar10_1 varchar(10), col_varchar100_1 varchar(100), col_varchar100_2 varchar(100), col_varchar500_1 varchar(500));
+ loadRules:
+ - table: count_noIndex_fullTable_seqScan_1M_rows_
+ count: 1
+ rows: 1000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryStringGen
+ params: [1, 100]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 1000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: count_noIndex_fullTable_seqScan_5M_rows_
+ count: 1
+ rows: 5000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 5000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 5000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 5000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ - table: count_noIndex_fullTable_seqScan_10M_rows_
+ count: 1
+ rows: 10000000
+ columns:
+ - name: col_varchar100_id_
+ count: 1
+ util: PrimaryIntGen
+ params: [1, 10000000]
+ - name: col_bigint_
+ count: 5
+ util: RandomNumber
+ params: [1, 10000000]
+ - name: col_float2_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 2]
+ - name: col_float5_
+ count: 2
+ util: RandomNoWithDecimalPoints
+ params: [1, 10000000, 5]
+ - name: col_boolean_
+ count: 1
+ util: RandomBoolean
+ - name: col_varchar10_
+ count: 1
+ util: RandomAString
+ params: [10, 10]
+ - name: col_varchar100_
+ count: 2
+ util: RandomAString
+ params: [100, 100]
+ - name: col_varchar500_
+ count: 1
+ util: RandomAString
+ params: [500, 500]
+ executeRules:
+ - workload: scanVG9_ybc_count_noIndex_fullTable_seqScan_1M_rows
+ run:
+ - name: count_noIndex_fullTable_seqScan_1M_rows_test
+ weight: 100
+ queries:
+ - query: select count(*) from count_noIndex_fullTable_seqScan_1M_rows_1
+ - workload: scanVG9_ybc_count_noIndex_fullTable_seqScan_5M_rows
+ run:
+ - name: count_noIndex_fullTable_seqScan_5M_rows_test
+ weight: 100
+ queries:
+ - query: select count(*) from count_noIndex_fullTable_seqScan_5M_rows_1
+ - workload: scanVG9_ybc_count_noIndex_fullTable_seqScan_10M_rows
+ run:
+ - name: count_noIndex_fullTable_seqScan_10M_rows_test
+ weight: 100
+ queries:
+ - query: select count(*) from count_noIndex_fullTable_seqScan_10M_rows_1
\ No newline at end of file
diff --git a/config/yugabyte/test/featurebench_CLI_changes.yaml b/config/yugabyte/test/featurebench_CLI_changes.yaml
new file mode 100644
index 000000000..9993b8a16
--- /dev/null
+++ b/config/yugabyte/test/featurebench_CLI_changes.yaml
@@ -0,0 +1,99 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 10
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit : true
+ create:
+ - DROP TABLE IF EXISTS demo100col;
+ - CREATE TABLE demo100col (id INT, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, primary key (id ASC)) ;
+ loadRules:
+ - table: demo100col
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000
+ - name: col
+ count: 100
+ util: RandomStringNumeric
+ params:
+ - 128
+ executeRules:
+ - workload: RangeScan1
+ run:
+ - name: ReadQuery1
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo100col WHERE id < 10
+
+ - name: WriteQuery1
+ weight: 50
+ queries:
+ - query: UPDATE demo100col set col2 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
+
+
+ - workload: RangeScan2
+ run:
+ - name: ReadQuery2
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo100col WHERE id < 10
+
+ - name: WriteQuery2
+ weight: 50
+ queries:
+ - query: UPDATE demo100col set col3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
+ - workload: RangeScan3
+ run:
+ - name: ReadQuery3
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo100col WHERE id < 50
+
+ - name: WriteQuery3
+ weight: 50
+ queries:
+ - query: UPDATE demo100col set col4 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
diff --git a/config/yugabyte/test/featurebench_testing.yaml b/config/yugabyte/test/featurebench_testing.yaml
new file mode 100644
index 000000000..cc8879ab0
--- /dev/null
+++ b/config/yugabyte/test/featurebench_testing.yaml
@@ -0,0 +1,97 @@
+type: YUGABYTE
+driver: com.yugabyte.Driver
+url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=disable&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: yugabyte
+password:
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 1
+terminals: 1
+#collect_pg_stat_statements: false
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 3
+ rate: 1000
+ warmup: 0
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit : true
+ create:
+ - DROP TABLE IF EXISTS demo1;
+ - CREATE TABLE demo1 (id INT);
+ - DROP TABLE IF EXISTS demo2;
+ - CREATE TABLE demo2 (id INT);
+ - DROP TABLE IF EXISTS demo3;
+ - CREATE TABLE demo3 (id INT);
+ - DROP TABLE IF EXISTS demo3col;
+ - CREATE TABLE demo3col (id INT, col1 TEXT, col2 TEXT, col3 TEXT)
+ loadRules:
+ - table: demo3col
+ rows: 10
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params:
+ - 1
+ - 1000
+ - name: col
+ count: 3
+ util: RandomStringNumeric
+ params:
+ - 128
+ executeRules:
+ - workload: test1
+ run:
+ - name: INSERT1
+ weight: 50
+ queries:
+ - query: INSERT INTO demo1(id) values (?)
+ count : 3
+ bindings:
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
+ - query: INSERT INTO demo2(id) values (?)
+ bindings:
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
+ - name: INSERT2
+ weight: 50
+ queries:
+ - query: INSERT INTO demo3(id) values (?)
+ bindings:
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
+ - workload: test2
+ run:
+ - name: ReadQuery1
+ weight: 50
+ queries:
+ - query: SELECT * FROM demo3col WHERE id < 10
+
+ - name: WriteQuery1
+ weight: 50
+ queries:
+ - query: UPDATE demo3col set col2 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params:
+ - 10
+ - 20
+ - util: RandomNumber
+ params:
+ - 1
+ - 1000
+
+
+
+
+
+
diff --git a/config/yugabyte/write_workloads/aurora/insertG1_varying_index_aurora.yaml b/config/yugabyte/write_workloads/aurora/insertG1_varying_index_aurora.yaml
new file mode 100644
index 000000000..3aa689ffb
--- /dev/null
+++ b/config/yugabyte/write_workloads/aurora/insertG1_varying_index_aurora.yaml
@@ -0,0 +1,135 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists index_test_1;
+ - drop table if exists index_test_2;
+ - drop table if exists index_test_3;
+ - drop table if exists index_test_4;
+ - create table index_test_1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table index_test_4 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create index index_test_2_idx1 on index_test_2(col_int_1);
+ - create index index_test_3_idx1 on index_test_3(col_int_1);
+ - create index index_test_3_idx2 on index_test_3(col_int_2);
+ - create index index_test_3_idx3 on index_test_3(col_int_3);
+ - create index index_test_3_idx4 on index_test_3(col_int_4);
+ - create index index_test_3_idx5 on index_test_3(col_int_5);
+ - create index index_test_4_idx1 on index_test_4(col_int_1);
+ - create index index_test_4_idx2 on index_test_4(col_int_2);
+ - create index index_test_4_idx3 on index_test_4(col_int_3);
+ - create index index_test_4_idx4 on index_test_4(col_int_4);
+ - create index index_test_4_idx5 on index_test_4(col_int_5);
+ - create index index_test_4_idx6 on index_test_4(col_int_6);
+ - create index index_test_4_idx7 on index_test_4(col_int_7);
+ - create index index_test_4_idx8 on index_test_4(col_int_8);
+ - create index index_test_4_idx9 on index_test_4(col_int_9);
+ - create index index_test_4_idx10 on index_test_4(col_int_10);
+ loadRules:
+ - table: index_test_
+ count: 4
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [ 20, 20 ]
+ - name: col_date
+ util: RandomAString
+ params: [ 20, 20 ]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: no_index
+ run:
+ - name: Insert_without_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_1 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 1_index_test
+ run:
+ - name: Insert_with_1_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_2 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 5_index_test
+ run:
+ - name: Insert_with_5_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_3 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
+ - workload: 10_index_test
+ run:
+ - name: Insert_with_10_index_test
+ weight: 100
+ queries:
+ - query: INSERT INTO index_test_4 (id, col_int_1, col_int_2, col_int_3, col_int_4, col_int_5, col_int_6, col_int_7, col_int_8, col_int_9, col_int_10, col_varchar_1, col_varchar_2, col_varchar_3, col_date, col_boolean) values (?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomNumber
+ count: 10
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 4
+ params: [ 20, 20 ]
+ - util: RandomBoolean
diff --git a/config/yugabyte/write_workloads/aurora/insertG2_varying_columns_aurora.yaml b/config/yugabyte/write_workloads/aurora/insertG2_varying_columns_aurora.yaml
new file mode 100644
index 000000000..000f799f7
--- /dev/null
+++ b/config/yugabyte/write_workloads/aurora/insertG2_varying_columns_aurora.yaml
@@ -0,0 +1,100 @@
+type: POSTGRES
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 4
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ active_terminals: 1
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists table_10_cols;
+ - drop table if exists table_100_cols;
+ - drop table if exists table_1000_cols;
+ - CREATE TABLE table_10_cols (id INT primary key, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT);
+ - CREATE TABLE table_100_cols (id INT primary key, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT);
+ - CREATE TABLE table_1000_cols (id INT primary key, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT);
+ loadRules:
+ - table: table_10_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col
+ count: 10
+ util: RandomAString
+ params: [ 5, 5 ]
+ - table: table_100_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col
+ count: 100
+ util: RandomAString
+ params: [ 5, 5 ]
+ - table: table_1000_cols
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col
+ count: 1000
+ util: RandomAString
+ params: [ 5, 5 ]
+ executeRules:
+ - workload: 10_col_test
+ run:
+ - name: Insert_with_10cols_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_10_cols values (?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 10
+ params: [ 5, 5 ]
+ - workload: 100_col_test
+ run:
+ - name: Insert_with_100_cols_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_100_cols values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 100
+ params: [ 5, 5 ]
+ - workload: 1000_col_test
+ run:
+ - name: Insert_with_1000_cols_test
+ weight: 100
+ queries:
+ - query: INSERT INTO table_1000_cols values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+ count: 10
+ bindings:
+ - util: PrimaryIntGen
+ params: [ 1000001, 9000000 ]
+ - util: RandomAString
+ count: 1000
+ params: [ 5, 5 ]
+
diff --git a/config/yugabyte/write_workloads/aurora/updateG1_varying_rows_aurora.yaml b/config/yugabyte/write_workloads/aurora/updateG1_varying_rows_aurora.yaml
new file mode 100644
index 000000000..2afd7d2a9
--- /dev/null
+++ b/config/yugabyte/write_workloads/aurora/updateG1_varying_rows_aurora.yaml
@@ -0,0 +1,78 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table update_test_table2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table update_test_table3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ loadRules:
+ - table: update_test_table
+ count: 3
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 1000000]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [1, 1000000]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [20, 20]
+ - name: col_date
+ util: RandomAString
+ params: [20, 20]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: update_1_row
+ run:
+ - name: Update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table1 set col_varchar_3 = ? where id = ?
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+ - util: RandomNumber
+ params: [1, 1000000]
+ - workload: update_100
+ run:
+ - name: update_100_rows
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table2 set col_varchar_3 = ? where id > 100 and id <= 200
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
+
+ - workload: update_1000
+ run:
+ - name: update_1000_rows
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table3 set col_varchar_3 = ? where id > 1000 and id <= 2000
+ bindings:
+ - util: RandomAString
+ params: [20, 20]
\ No newline at end of file
diff --git a/config/yugabyte/write_workloads/aurora/updateG2_varying_indexs_aurora.yaml b/config/yugabyte/write_workloads/aurora/updateG2_varying_indexs_aurora.yaml
new file mode 100644
index 000000000..6c5ee563f
--- /dev/null
+++ b/config/yugabyte/write_workloads/aurora/updateG2_varying_indexs_aurora.yaml
@@ -0,0 +1,85 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ - create table update_test_table1 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table update_test_table2 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create table update_test_table3 (id bigint, col_int_1 int, col_int_2 int, col_int_3 int, col_int_4 int, col_int_5 int, col_int_6 int, col_int_7 int, col_int_8 int, col_int_9 int, col_int_10 int, col_varchar_1 varchar(20), col_varchar_2 varchar(20), col_varchar_3 varchar(20), col_date text, col_boolean boolean, primary key (id))
+ - create index index_update_test_table2 on update_test_table2(col_int_1);
+ - create index index_update_test_table3 on update_test_table3(col_int_2) include (col_int_1);
+ loadRules:
+ - table: update_test_table
+ count: 3
+ rows: 1000000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [ 1, 1000000 ]
+ - name: col_int_
+ count: 10
+ util: RandomNumber
+ params: [ 1, 1000000 ]
+ - name: col_varchar_
+ count: 3
+ util: RandomAString
+ params: [ 20, 20 ]
+ - name: col_date
+ util: RandomAString
+ params: [ 20, 20 ]
+ - name: col_boolean
+ util: RandomBoolean
+ executeRules:
+ - workload: update_non_index_column
+ run:
+ - name: Update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table1 set col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 10000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: update_1_index_column
+ run:
+ - name: update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table2 set col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 10000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+ - workload: update_covering_index_column
+ run:
+ - name: update_1_row
+ weight: 100
+ queries:
+ - query: UPDATE update_test_table3 set col_int_1 = ? where id = ?
+ bindings:
+ - util: RandomNumber
+ params: [ 1, 10000 ]
+ - util: RandomNumber
+ params: [ 1, 1000000 ]
+
+
diff --git a/config/yugabyte/write_workloads/aurora/updateG3_varying_columns_aurora.yaml b/config/yugabyte/write_workloads/aurora/updateG3_varying_columns_aurora.yaml
new file mode 100644
index 000000000..52e9d1a38
--- /dev/null
+++ b/config/yugabyte/write_workloads/aurora/updateG3_varying_columns_aurora.yaml
@@ -0,0 +1,77 @@
+type: postgres
+driver: org.postgresql.Driver
+url: jdbc:postgresql://{{endpoint}}:5432/postgres?sslmode=require&ApplicationName=featurebench&reWriteBatchedInserts=true
+username: {{username}}
+password: {{password}}
+batchsize: 128
+isolation: TRANSACTION_REPEATABLE_READ
+loaderthreads: 4
+terminals: 1
+collect_pg_stat_statements: true
+works:
+ work:
+ time_secs: 300
+ rate: unlimited
+ warmup: 60
+microbenchmark:
+ class: com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark
+ properties:
+ setAutoCommit: false
+ create:
+ - drop table if exists update_test_table1;
+ - drop table if exists update_test_table2;
+ - drop table if exists update_test_table3;
+ - CREATE TABLE update_test_table1 (id INT primary key, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT, col1001 TEXT, col1002 TEXT, col1003 TEXT, col1004 TEXT, col1005 TEXT, col1006 TEXT, col1007 TEXT, col1008 TEXT, col1009 TEXT, col1010 TEXT, col1011 TEXT, col1012 TEXT, col1013 TEXT, col1014 TEXT, col1015 TEXT, col1016 TEXT, col1017 TEXT, col1018 TEXT, col1019 TEXT, col1020 TEXT, col1021 TEXT, col1022 TEXT, col1023 TEXT, col1024 TEXT, col1025 TEXT, col1026 TEXT, col1027 TEXT, col1028 TEXT, col1029 TEXT, col1030 TEXT, col1031 TEXT, col1032 TEXT, col1033 TEXT, col1034 TEXT, col1035 TEXT, col1036 TEXT, col1037 TEXT, col1038 TEXT, col1039 TEXT, col1040 TEXT, col1041 TEXT, col1042 TEXT, col1043 TEXT, col1044 TEXT, col1045 TEXT, col1046 TEXT, col1047 TEXT, col1048 TEXT, col1049 TEXT, col1050 TEXT, col1051 TEXT, col1052 TEXT, col1053 TEXT, col1054 TEXT, col1055 TEXT, col1056 TEXT, col1057 TEXT, col1058 TEXT, col1059 TEXT, col1060 TEXT, col1061 TEXT, col1062 TEXT, col1063 TEXT, col1064 TEXT, col1065 TEXT, col1066 TEXT, col1067 TEXT, col1068 TEXT, col1069 TEXT, col1070 TEXT, col1071 TEXT, col1072 TEXT, col1073 TEXT, col1074 TEXT, col1075 TEXT, col1076 TEXT, col1077 TEXT, col1078 TEXT, col1079 TEXT, col1080 TEXT, col1081 TEXT, col1082 TEXT, col1083 TEXT, col1084 TEXT, col1085 TEXT, col1086 TEXT, col1087 TEXT, col1088 TEXT, col1089 TEXT, col1090 TEXT, col1091 TEXT, col1092 TEXT, col1093 TEXT, col1094 TEXT, col1095 TEXT, col1096 TEXT, col1097 TEXT, col1098 TEXT, col1099 TEXT, col1100 TEXT);
+ - CREATE TABLE update_test_table2 (id INT primary key, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT, col1001 TEXT, col1002 TEXT, col1003 TEXT, col1004 TEXT, col1005 TEXT, col1006 TEXT, col1007 TEXT, col1008 TEXT, col1009 TEXT, col1010 TEXT, col1011 TEXT, col1012 TEXT, col1013 TEXT, col1014 TEXT, col1015 TEXT, col1016 TEXT, col1017 TEXT, col1018 TEXT, col1019 TEXT, col1020 TEXT, col1021 TEXT, col1022 TEXT, col1023 TEXT, col1024 TEXT, col1025 TEXT, col1026 TEXT, col1027 TEXT, col1028 TEXT, col1029 TEXT, col1030 TEXT, col1031 TEXT, col1032 TEXT, col1033 TEXT, col1034 TEXT, col1035 TEXT, col1036 TEXT, col1037 TEXT, col1038 TEXT, col1039 TEXT, col1040 TEXT, col1041 TEXT, col1042 TEXT, col1043 TEXT, col1044 TEXT, col1045 TEXT, col1046 TEXT, col1047 TEXT, col1048 TEXT, col1049 TEXT, col1050 TEXT, col1051 TEXT, col1052 TEXT, col1053 TEXT, col1054 TEXT, col1055 TEXT, col1056 TEXT, col1057 TEXT, col1058 TEXT, col1059 TEXT, col1060 TEXT, col1061 TEXT, col1062 TEXT, col1063 TEXT, col1064 TEXT, col1065 TEXT, col1066 TEXT, col1067 TEXT, col1068 TEXT, col1069 TEXT, col1070 TEXT, col1071 TEXT, col1072 TEXT, col1073 TEXT, col1074 TEXT, col1075 TEXT, col1076 TEXT, col1077 TEXT, col1078 TEXT, col1079 TEXT, col1080 TEXT, col1081 TEXT, col1082 TEXT, col1083 TEXT, col1084 TEXT, col1085 TEXT, col1086 TEXT, col1087 TEXT, col1088 TEXT, col1089 TEXT, col1090 TEXT, col1091 TEXT, col1092 TEXT, col1093 TEXT, col1094 TEXT, col1095 TEXT, col1096 TEXT, col1097 TEXT, col1098 TEXT, col1099 TEXT, col1100 TEXT);
+ - CREATE TABLE update_test_table3 (id INT primary key, col1 TEXT, col2 TEXT, col3 TEXT, col4 TEXT, col5 TEXT, col6 TEXT, col7 TEXT, col8 TEXT, col9 TEXT, col10 TEXT, col11 TEXT, col12 TEXT, col13 TEXT, col14 TEXT, col15 TEXT, col16 TEXT, col17 TEXT, col18 TEXT, col19 TEXT, col20 TEXT, col21 TEXT, col22 TEXT, col23 TEXT, col24 TEXT, col25 TEXT, col26 TEXT, col27 TEXT, col28 TEXT, col29 TEXT, col30 TEXT, col31 TEXT, col32 TEXT, col33 TEXT, col34 TEXT, col35 TEXT, col36 TEXT, col37 TEXT, col38 TEXT, col39 TEXT, col40 TEXT, col41 TEXT, col42 TEXT, col43 TEXT, col44 TEXT, col45 TEXT, col46 TEXT, col47 TEXT, col48 TEXT, col49 TEXT, col50 TEXT, col51 TEXT, col52 TEXT, col53 TEXT, col54 TEXT, col55 TEXT, col56 TEXT, col57 TEXT, col58 TEXT, col59 TEXT, col60 TEXT, col61 TEXT, col62 TEXT, col63 TEXT, col64 TEXT, col65 TEXT, col66 TEXT, col67 TEXT, col68 TEXT, col69 TEXT, col70 TEXT, col71 TEXT, col72 TEXT, col73 TEXT, col74 TEXT, col75 TEXT, col76 TEXT, col77 TEXT, col78 TEXT, col79 TEXT, col80 TEXT, col81 TEXT, col82 TEXT, col83 TEXT, col84 TEXT, col85 TEXT, col86 TEXT, col87 TEXT, col88 TEXT, col89 TEXT, col90 TEXT, col91 TEXT, col92 TEXT, col93 TEXT, col94 TEXT, col95 TEXT, col96 TEXT, col97 TEXT, col98 TEXT, col99 TEXT, col100 TEXT, col101 TEXT, col102 TEXT, col103 TEXT, col104 TEXT, col105 TEXT, col106 TEXT, col107 TEXT, col108 TEXT, col109 TEXT, col110 TEXT, col111 TEXT, col112 TEXT, col113 TEXT, col114 TEXT, col115 TEXT, col116 TEXT, col117 TEXT, col118 TEXT, col119 TEXT, col120 TEXT, col121 TEXT, col122 TEXT, col123 TEXT, col124 TEXT, col125 TEXT, col126 TEXT, col127 TEXT, col128 TEXT, col129 TEXT, col130 TEXT, col131 TEXT, col132 TEXT, col133 TEXT, col134 TEXT, col135 TEXT, col136 TEXT, col137 TEXT, col138 TEXT, col139 TEXT, col140 TEXT, col141 TEXT, col142 TEXT, col143 TEXT, col144 TEXT, col145 TEXT, col146 TEXT, col147 TEXT, col148 TEXT, col149 TEXT, col150 TEXT, col151 TEXT, col152 TEXT, col153 TEXT, col154 TEXT, col155 TEXT, col156 TEXT, col157 TEXT, col158 TEXT, col159 TEXT, col160 TEXT, col161 TEXT, col162 TEXT, col163 TEXT, col164 TEXT, col165 TEXT, col166 TEXT, col167 TEXT, col168 TEXT, col169 TEXT, col170 TEXT, col171 TEXT, col172 TEXT, col173 TEXT, col174 TEXT, col175 TEXT, col176 TEXT, col177 TEXT, col178 TEXT, col179 TEXT, col180 TEXT, col181 TEXT, col182 TEXT, col183 TEXT, col184 TEXT, col185 TEXT, col186 TEXT, col187 TEXT, col188 TEXT, col189 TEXT, col190 TEXT, col191 TEXT, col192 TEXT, col193 TEXT, col194 TEXT, col195 TEXT, col196 TEXT, col197 TEXT, col198 TEXT, col199 TEXT, col200 TEXT, col201 TEXT, col202 TEXT, col203 TEXT, col204 TEXT, col205 TEXT, col206 TEXT, col207 TEXT, col208 TEXT, col209 TEXT, col210 TEXT, col211 TEXT, col212 TEXT, col213 TEXT, col214 TEXT, col215 TEXT, col216 TEXT, col217 TEXT, col218 TEXT, col219 TEXT, col220 TEXT, col221 TEXT, col222 TEXT, col223 TEXT, col224 TEXT, col225 TEXT, col226 TEXT, col227 TEXT, col228 TEXT, col229 TEXT, col230 TEXT, col231 TEXT, col232 TEXT, col233 TEXT, col234 TEXT, col235 TEXT, col236 TEXT, col237 TEXT, col238 TEXT, col239 TEXT, col240 TEXT, col241 TEXT, col242 TEXT, col243 TEXT, col244 TEXT, col245 TEXT, col246 TEXT, col247 TEXT, col248 TEXT, col249 TEXT, col250 TEXT, col251 TEXT, col252 TEXT, col253 TEXT, col254 TEXT, col255 TEXT, col256 TEXT, col257 TEXT, col258 TEXT, col259 TEXT, col260 TEXT, col261 TEXT, col262 TEXT, col263 TEXT, col264 TEXT, col265 TEXT, col266 TEXT, col267 TEXT, col268 TEXT, col269 TEXT, col270 TEXT, col271 TEXT, col272 TEXT, col273 TEXT, col274 TEXT, col275 TEXT, col276 TEXT, col277 TEXT, col278 TEXT, col279 TEXT, col280 TEXT, col281 TEXT, col282 TEXT, col283 TEXT, col284 TEXT, col285 TEXT, col286 TEXT, col287 TEXT, col288 TEXT, col289 TEXT, col290 TEXT, col291 TEXT, col292 TEXT, col293 TEXT, col294 TEXT, col295 TEXT, col296 TEXT, col297 TEXT, col298 TEXT, col299 TEXT, col300 TEXT, col301 TEXT, col302 TEXT, col303 TEXT, col304 TEXT, col305 TEXT, col306 TEXT, col307 TEXT, col308 TEXT, col309 TEXT, col310 TEXT, col311 TEXT, col312 TEXT, col313 TEXT, col314 TEXT, col315 TEXT, col316 TEXT, col317 TEXT, col318 TEXT, col319 TEXT, col320 TEXT, col321 TEXT, col322 TEXT, col323 TEXT, col324 TEXT, col325 TEXT, col326 TEXT, col327 TEXT, col328 TEXT, col329 TEXT, col330 TEXT, col331 TEXT, col332 TEXT, col333 TEXT, col334 TEXT, col335 TEXT, col336 TEXT, col337 TEXT, col338 TEXT, col339 TEXT, col340 TEXT, col341 TEXT, col342 TEXT, col343 TEXT, col344 TEXT, col345 TEXT, col346 TEXT, col347 TEXT, col348 TEXT, col349 TEXT, col350 TEXT, col351 TEXT, col352 TEXT, col353 TEXT, col354 TEXT, col355 TEXT, col356 TEXT, col357 TEXT, col358 TEXT, col359 TEXT, col360 TEXT, col361 TEXT, col362 TEXT, col363 TEXT, col364 TEXT, col365 TEXT, col366 TEXT, col367 TEXT, col368 TEXT, col369 TEXT, col370 TEXT, col371 TEXT, col372 TEXT, col373 TEXT, col374 TEXT, col375 TEXT, col376 TEXT, col377 TEXT, col378 TEXT, col379 TEXT, col380 TEXT, col381 TEXT, col382 TEXT, col383 TEXT, col384 TEXT, col385 TEXT, col386 TEXT, col387 TEXT, col388 TEXT, col389 TEXT, col390 TEXT, col391 TEXT, col392 TEXT, col393 TEXT, col394 TEXT, col395 TEXT, col396 TEXT, col397 TEXT, col398 TEXT, col399 TEXT, col400 TEXT, col401 TEXT, col402 TEXT, col403 TEXT, col404 TEXT, col405 TEXT, col406 TEXT, col407 TEXT, col408 TEXT, col409 TEXT, col410 TEXT, col411 TEXT, col412 TEXT, col413 TEXT, col414 TEXT, col415 TEXT, col416 TEXT, col417 TEXT, col418 TEXT, col419 TEXT, col420 TEXT, col421 TEXT, col422 TEXT, col423 TEXT, col424 TEXT, col425 TEXT, col426 TEXT, col427 TEXT, col428 TEXT, col429 TEXT, col430 TEXT, col431 TEXT, col432 TEXT, col433 TEXT, col434 TEXT, col435 TEXT, col436 TEXT, col437 TEXT, col438 TEXT, col439 TEXT, col440 TEXT, col441 TEXT, col442 TEXT, col443 TEXT, col444 TEXT, col445 TEXT, col446 TEXT, col447 TEXT, col448 TEXT, col449 TEXT, col450 TEXT, col451 TEXT, col452 TEXT, col453 TEXT, col454 TEXT, col455 TEXT, col456 TEXT, col457 TEXT, col458 TEXT, col459 TEXT, col460 TEXT, col461 TEXT, col462 TEXT, col463 TEXT, col464 TEXT, col465 TEXT, col466 TEXT, col467 TEXT, col468 TEXT, col469 TEXT, col470 TEXT, col471 TEXT, col472 TEXT, col473 TEXT, col474 TEXT, col475 TEXT, col476 TEXT, col477 TEXT, col478 TEXT, col479 TEXT, col480 TEXT, col481 TEXT, col482 TEXT, col483 TEXT, col484 TEXT, col485 TEXT, col486 TEXT, col487 TEXT, col488 TEXT, col489 TEXT, col490 TEXT, col491 TEXT, col492 TEXT, col493 TEXT, col494 TEXT, col495 TEXT, col496 TEXT, col497 TEXT, col498 TEXT, col499 TEXT, col500 TEXT, col501 TEXT, col502 TEXT, col503 TEXT, col504 TEXT, col505 TEXT, col506 TEXT, col507 TEXT, col508 TEXT, col509 TEXT, col510 TEXT, col511 TEXT, col512 TEXT, col513 TEXT, col514 TEXT, col515 TEXT, col516 TEXT, col517 TEXT, col518 TEXT, col519 TEXT, col520 TEXT, col521 TEXT, col522 TEXT, col523 TEXT, col524 TEXT, col525 TEXT, col526 TEXT, col527 TEXT, col528 TEXT, col529 TEXT, col530 TEXT, col531 TEXT, col532 TEXT, col533 TEXT, col534 TEXT, col535 TEXT, col536 TEXT, col537 TEXT, col538 TEXT, col539 TEXT, col540 TEXT, col541 TEXT, col542 TEXT, col543 TEXT, col544 TEXT, col545 TEXT, col546 TEXT, col547 TEXT, col548 TEXT, col549 TEXT, col550 TEXT, col551 TEXT, col552 TEXT, col553 TEXT, col554 TEXT, col555 TEXT, col556 TEXT, col557 TEXT, col558 TEXT, col559 TEXT, col560 TEXT, col561 TEXT, col562 TEXT, col563 TEXT, col564 TEXT, col565 TEXT, col566 TEXT, col567 TEXT, col568 TEXT, col569 TEXT, col570 TEXT, col571 TEXT, col572 TEXT, col573 TEXT, col574 TEXT, col575 TEXT, col576 TEXT, col577 TEXT, col578 TEXT, col579 TEXT, col580 TEXT, col581 TEXT, col582 TEXT, col583 TEXT, col584 TEXT, col585 TEXT, col586 TEXT, col587 TEXT, col588 TEXT, col589 TEXT, col590 TEXT, col591 TEXT, col592 TEXT, col593 TEXT, col594 TEXT, col595 TEXT, col596 TEXT, col597 TEXT, col598 TEXT, col599 TEXT, col600 TEXT, col601 TEXT, col602 TEXT, col603 TEXT, col604 TEXT, col605 TEXT, col606 TEXT, col607 TEXT, col608 TEXT, col609 TEXT, col610 TEXT, col611 TEXT, col612 TEXT, col613 TEXT, col614 TEXT, col615 TEXT, col616 TEXT, col617 TEXT, col618 TEXT, col619 TEXT, col620 TEXT, col621 TEXT, col622 TEXT, col623 TEXT, col624 TEXT, col625 TEXT, col626 TEXT, col627 TEXT, col628 TEXT, col629 TEXT, col630 TEXT, col631 TEXT, col632 TEXT, col633 TEXT, col634 TEXT, col635 TEXT, col636 TEXT, col637 TEXT, col638 TEXT, col639 TEXT, col640 TEXT, col641 TEXT, col642 TEXT, col643 TEXT, col644 TEXT, col645 TEXT, col646 TEXT, col647 TEXT, col648 TEXT, col649 TEXT, col650 TEXT, col651 TEXT, col652 TEXT, col653 TEXT, col654 TEXT, col655 TEXT, col656 TEXT, col657 TEXT, col658 TEXT, col659 TEXT, col660 TEXT, col661 TEXT, col662 TEXT, col663 TEXT, col664 TEXT, col665 TEXT, col666 TEXT, col667 TEXT, col668 TEXT, col669 TEXT, col670 TEXT, col671 TEXT, col672 TEXT, col673 TEXT, col674 TEXT, col675 TEXT, col676 TEXT, col677 TEXT, col678 TEXT, col679 TEXT, col680 TEXT, col681 TEXT, col682 TEXT, col683 TEXT, col684 TEXT, col685 TEXT, col686 TEXT, col687 TEXT, col688 TEXT, col689 TEXT, col690 TEXT, col691 TEXT, col692 TEXT, col693 TEXT, col694 TEXT, col695 TEXT, col696 TEXT, col697 TEXT, col698 TEXT, col699 TEXT, col700 TEXT, col701 TEXT, col702 TEXT, col703 TEXT, col704 TEXT, col705 TEXT, col706 TEXT, col707 TEXT, col708 TEXT, col709 TEXT, col710 TEXT, col711 TEXT, col712 TEXT, col713 TEXT, col714 TEXT, col715 TEXT, col716 TEXT, col717 TEXT, col718 TEXT, col719 TEXT, col720 TEXT, col721 TEXT, col722 TEXT, col723 TEXT, col724 TEXT, col725 TEXT, col726 TEXT, col727 TEXT, col728 TEXT, col729 TEXT, col730 TEXT, col731 TEXT, col732 TEXT, col733 TEXT, col734 TEXT, col735 TEXT, col736 TEXT, col737 TEXT, col738 TEXT, col739 TEXT, col740 TEXT, col741 TEXT, col742 TEXT, col743 TEXT, col744 TEXT, col745 TEXT, col746 TEXT, col747 TEXT, col748 TEXT, col749 TEXT, col750 TEXT, col751 TEXT, col752 TEXT, col753 TEXT, col754 TEXT, col755 TEXT, col756 TEXT, col757 TEXT, col758 TEXT, col759 TEXT, col760 TEXT, col761 TEXT, col762 TEXT, col763 TEXT, col764 TEXT, col765 TEXT, col766 TEXT, col767 TEXT, col768 TEXT, col769 TEXT, col770 TEXT, col771 TEXT, col772 TEXT, col773 TEXT, col774 TEXT, col775 TEXT, col776 TEXT, col777 TEXT, col778 TEXT, col779 TEXT, col780 TEXT, col781 TEXT, col782 TEXT, col783 TEXT, col784 TEXT, col785 TEXT, col786 TEXT, col787 TEXT, col788 TEXT, col789 TEXT, col790 TEXT, col791 TEXT, col792 TEXT, col793 TEXT, col794 TEXT, col795 TEXT, col796 TEXT, col797 TEXT, col798 TEXT, col799 TEXT, col800 TEXT, col801 TEXT, col802 TEXT, col803 TEXT, col804 TEXT, col805 TEXT, col806 TEXT, col807 TEXT, col808 TEXT, col809 TEXT, col810 TEXT, col811 TEXT, col812 TEXT, col813 TEXT, col814 TEXT, col815 TEXT, col816 TEXT, col817 TEXT, col818 TEXT, col819 TEXT, col820 TEXT, col821 TEXT, col822 TEXT, col823 TEXT, col824 TEXT, col825 TEXT, col826 TEXT, col827 TEXT, col828 TEXT, col829 TEXT, col830 TEXT, col831 TEXT, col832 TEXT, col833 TEXT, col834 TEXT, col835 TEXT, col836 TEXT, col837 TEXT, col838 TEXT, col839 TEXT, col840 TEXT, col841 TEXT, col842 TEXT, col843 TEXT, col844 TEXT, col845 TEXT, col846 TEXT, col847 TEXT, col848 TEXT, col849 TEXT, col850 TEXT, col851 TEXT, col852 TEXT, col853 TEXT, col854 TEXT, col855 TEXT, col856 TEXT, col857 TEXT, col858 TEXT, col859 TEXT, col860 TEXT, col861 TEXT, col862 TEXT, col863 TEXT, col864 TEXT, col865 TEXT, col866 TEXT, col867 TEXT, col868 TEXT, col869 TEXT, col870 TEXT, col871 TEXT, col872 TEXT, col873 TEXT, col874 TEXT, col875 TEXT, col876 TEXT, col877 TEXT, col878 TEXT, col879 TEXT, col880 TEXT, col881 TEXT, col882 TEXT, col883 TEXT, col884 TEXT, col885 TEXT, col886 TEXT, col887 TEXT, col888 TEXT, col889 TEXT, col890 TEXT, col891 TEXT, col892 TEXT, col893 TEXT, col894 TEXT, col895 TEXT, col896 TEXT, col897 TEXT, col898 TEXT, col899 TEXT, col900 TEXT, col901 TEXT, col902 TEXT, col903 TEXT, col904 TEXT, col905 TEXT, col906 TEXT, col907 TEXT, col908 TEXT, col909 TEXT, col910 TEXT, col911 TEXT, col912 TEXT, col913 TEXT, col914 TEXT, col915 TEXT, col916 TEXT, col917 TEXT, col918 TEXT, col919 TEXT, col920 TEXT, col921 TEXT, col922 TEXT, col923 TEXT, col924 TEXT, col925 TEXT, col926 TEXT, col927 TEXT, col928 TEXT, col929 TEXT, col930 TEXT, col931 TEXT, col932 TEXT, col933 TEXT, col934 TEXT, col935 TEXT, col936 TEXT, col937 TEXT, col938 TEXT, col939 TEXT, col940 TEXT, col941 TEXT, col942 TEXT, col943 TEXT, col944 TEXT, col945 TEXT, col946 TEXT, col947 TEXT, col948 TEXT, col949 TEXT, col950 TEXT, col951 TEXT, col952 TEXT, col953 TEXT, col954 TEXT, col955 TEXT, col956 TEXT, col957 TEXT, col958 TEXT, col959 TEXT, col960 TEXT, col961 TEXT, col962 TEXT, col963 TEXT, col964 TEXT, col965 TEXT, col966 TEXT, col967 TEXT, col968 TEXT, col969 TEXT, col970 TEXT, col971 TEXT, col972 TEXT, col973 TEXT, col974 TEXT, col975 TEXT, col976 TEXT, col977 TEXT, col978 TEXT, col979 TEXT, col980 TEXT, col981 TEXT, col982 TEXT, col983 TEXT, col984 TEXT, col985 TEXT, col986 TEXT, col987 TEXT, col988 TEXT, col989 TEXT, col990 TEXT, col991 TEXT, col992 TEXT, col993 TEXT, col994 TEXT, col995 TEXT, col996 TEXT, col997 TEXT, col998 TEXT, col999 TEXT, col1000 TEXT, col1001 TEXT, col1002 TEXT, col1003 TEXT, col1004 TEXT, col1005 TEXT, col1006 TEXT, col1007 TEXT, col1008 TEXT, col1009 TEXT, col1010 TEXT, col1011 TEXT, col1012 TEXT, col1013 TEXT, col1014 TEXT, col1015 TEXT, col1016 TEXT, col1017 TEXT, col1018 TEXT, col1019 TEXT, col1020 TEXT, col1021 TEXT, col1022 TEXT, col1023 TEXT, col1024 TEXT, col1025 TEXT, col1026 TEXT, col1027 TEXT, col1028 TEXT, col1029 TEXT, col1030 TEXT, col1031 TEXT, col1032 TEXT, col1033 TEXT, col1034 TEXT, col1035 TEXT, col1036 TEXT, col1037 TEXT, col1038 TEXT, col1039 TEXT, col1040 TEXT, col1041 TEXT, col1042 TEXT, col1043 TEXT, col1044 TEXT, col1045 TEXT, col1046 TEXT, col1047 TEXT, col1048 TEXT, col1049 TEXT, col1050 TEXT, col1051 TEXT, col1052 TEXT, col1053 TEXT, col1054 TEXT, col1055 TEXT, col1056 TEXT, col1057 TEXT, col1058 TEXT, col1059 TEXT, col1060 TEXT, col1061 TEXT, col1062 TEXT, col1063 TEXT, col1064 TEXT, col1065 TEXT, col1066 TEXT, col1067 TEXT, col1068 TEXT, col1069 TEXT, col1070 TEXT, col1071 TEXT, col1072 TEXT, col1073 TEXT, col1074 TEXT, col1075 TEXT, col1076 TEXT, col1077 TEXT, col1078 TEXT, col1079 TEXT, col1080 TEXT, col1081 TEXT, col1082 TEXT, col1083 TEXT, col1084 TEXT, col1085 TEXT, col1086 TEXT, col1087 TEXT, col1088 TEXT, col1089 TEXT, col1090 TEXT, col1091 TEXT, col1092 TEXT, col1093 TEXT, col1094 TEXT, col1095 TEXT, col1096 TEXT, col1097 TEXT, col1098 TEXT, col1099 TEXT, col1100 TEXT);
+ loadRules:
+ - table: update_test_table
+ count: 3
+ rows: 100000
+ columns:
+ - name: id
+ util: PrimaryIntGen
+ params: [1, 100000]
+ - name: col
+ count: 1100
+ util: RandomAString
+ params: [4, 4]
+ executeRules:
+ - workload: update_10_cols
+ run:
+ - name: update_10_cols
+ weight: 100
+ queries:
+ - query: update update_test_table1 set col1=?, col2=?, col3=?, col4=?, col5=?, col6=?, col7=?, col8=?, col9=?, col10=? where id = ?
+ bindings:
+ - util: RandomAString
+ count: 10
+ params: [4, 4]
+ - util: RandomNumber
+ params: [1, 100000]
+
+ - workload: update_100_cols
+ run:
+ - name: update_100_cols
+ weight: 100
+ queries:
+ - query: update update_test_table2 set col1=?, col2=?, col3=?, col4=?, col5=?, col6=?, col7=?, col8=?, col9=?, col10=?, col11=?, col12=?, col13=?, col14=?, col15=?, col16=?, col17=?, col18=?, col19=?, col20=?, col21=?, col22=?, col23=?, col24=?, col25=?, col26=?, col27=?, col28=?, col29=?, col30=?, col31=?, col32=?, col33=?, col34=?, col35=?, col36=?, col37=?, col38=?, col39=?, col40=?, col41=?, col42=?, col43=?, col44=?, col45=?, col46=?, col47=?, col48=?, col49=?, col50=? , col51=?, col52=?, col53=?, col54=?, col55=?, col56=?, col57=?, col58=?, col59=?, col60=?, col61=?, col62=?, col63=?, col64=?, col65=?, col66=?, col67=?, col68=?, col69=?, col70=?, col71=?, col72=?, col73=?, col74=?, col75=?, col76=?, col77=?, col78=?, col79=?, col80=?, col81=?, col82=?, col83=?, col84=?, col85=?, col86=?, col87=?, col88=?, col89=?, col90=?, col91=?, col92=?, col93=?, col94=?, col95=?, col96=?, col97=?, col98=?, col99=?, col100=? where id=?;
+ bindings:
+ - util: RandomAString
+ count: 100
+ params: [4, 4]
+ - util: RandomNumber
+ params: [1, 100000]
+
+ - workload: update_1000_cols
+ run:
+ - name: update_1000_cols
+ weight: 100
+ queries:
+ - query: update update_test_table3 set col1=?, col2=?, col3=?, col4=?, col5=?, col6=?, col7=?, col8=?, col9=?, col10=?, col11=?, col12=?, col13=?, col14=?, col15=?, col16=?, col17=?, col18=?, col19=?, col20=?, col21=?, col22=?, col23=?, col24=?, col25=?, col26=?, col27=?, col28=?, col29=?, col30=?, col31=?, col32=?, col33=?, col34=?, col35=?, col36=?, col37=?, col38=?, col39=?, col40=?, col41=?, col42=?, col43=?, col44=?, col45=?, col46=?, col47=?, col48=?, col49=?, col50=? , col51=?, col52=?, col53=?, col54=?, col55=?, col56=?, col57=?, col58=?, col59=?, col60=?, col61=?, col62=?, col63=?, col64=?, col65=?, col66=?, col67=?, col68=?, col69=?, col70=?, col71=?, col72=?, col73=?, col74=?, col75=?, col76=?, col77=?, col78=?, col79=?, col80=?, col81=?, col82=?, col83=?, col84=?, col85=?, col86=?, col87=?, col88=?, col89=?, col90=?, col91=?, col92=?, col93=?, col94=?, col95=?, col96=?, col97=?, col98=?, col99=?, col100=?, col101=?, col102=?, col103=?, col104=?, col105=?, col106=?, col107=?, col108=?, col109=?, col110=?, col111=?, col112=?, col113=?, col114=?, col115=?, col116=?, col117=?, col118=?, col119=?, col120=?, col121=?, col122=?, col123=?, col124=?, col125=?, col126=?, col127=?, col128=?, col129=?, col130=?, col131=?, col132=?, col133=?, col134=?, col135=?, col136=?, col137=?, col138=?, col139=?, col140=?, col141=?, col142=?, col143=?, col144=?, col145=?, col146=?, col147=?, col148=?, col149=?, col150=?, col151=?, col152=?, col153=?, col154=?, col155=?, col156=?, col157=?, col158=?, col159=?, col160=?, col161=?, col162=?, col163=?, col164=?, col165=?, col166=?, col167=?, col168=?, col169=?, col170=?, col171=?, col172=?, col173=?, col174=?, col175=?, col176=?, col177=?, col178=?, col179=?, col180=?, col181=?, col182=?, col183=?, col184=?, col185=?, col186=?, col187=?, col188=?, col189=?, col190=?, col191=?, col192=?, col193=?, col194=?, col195=?, col196=?, col197=?, col198=?, col199=?, col200=?, col201=?, col202=?, col203=?, col204=?, col205=?, col206=?, col207=?, col208=?, col209=?, col210=?, col211=?, col212=?, col213=?, col214=?, col215=?, col216=?, col217=?, col218=?, col219=?, col220=?, col221=?, col222=?, col223=?, col224=?, col225=?, col226=?, col227=?, col228=?, col229=?, col230=?, col231=?, col232=?, col233=?, col234=?, col235=?, col236=?, col237=?, col238=?, col239=?, col240=?, col241=?, col242=?, col243=?, col244=?, col245=?, col246=?, col247=?, col248=?, col249=?, col250=?, col251=?, col252=?, col253=?, col254=?, col255=?, col256=?, col257=?, col258=?, col259=?, col260=?, col261=?, col262=?, col263=?, col264=?, col265=?, col266=?, col267=?, col268=?, col269=?, col270=?, col271=?, col272=?, col273=?, col274=?, col275=?, col276=?, col277=?, col278=?, col279=?, col280=?, col281=?, col282=?, col283=?, col284=?, col285=?, col286=?, col287=?, col288=?, col289=?, col290=?, col291=?, col292=?, col293=?, col294=?, col295=?, col296=?, col297=?, col298=?, col299=?, col300=?, col301=?, col302=?, col303=?, col304=?, col305=?, col306=?, col307=?, col308=?, col309=?, col310=?, col311=?, col312=?, col313=?, col314=?, col315=?, col316=?, col317=?, col318=?, col319=?, col320=?, col321=?, col322=?, col323=?, col324=?, col325=?, col326=?, col327=?, col328=?, col329=?, col330=?, col331=?, col332=?, col333=?, col334=?, col335=?, col336=?, col337=?, col338=?, col339=?, col340=?, col341=?, col342=?, col343=?, col344=?, col345=?, col346=?, col347=?, col348=?, col349=?, col350=?, col351=?, col352=?, col353=?, col354=?, col355=?, col356=?, col357=?, col358=?, col359=?, col360=?, col361=?, col362=?, col363=?, col364=?, col365=?, col366=?, col367=?, col368=?, col369=?, col370=?, col371=?, col372=?, col373=?, col374=?, col375=?, col376=?, col377=?, col378=?, col379=?, col380=?, col381=?, col382=?, col383=?, col384=?, col385=?, col386=?, col387=?, col388=?, col389=?, col390=?, col391=?, col392=?, col393=?, col394=?, col395=?, col396=?, col397=?, col398=?, col399=?, col400=?, col401=?, col402=?, col403=?, col404=?, col405=?, col406=?, col407=?, col408=?, col409=?, col410=?, col411=?, col412=?, col413=?, col414=?, col415=?, col416=?, col417=?, col418=?, col419=?, col420=?, col421=?, col422=?, col423=?, col424=?, col425=?, col426=?, col427=?, col428=?, col429=?, col430=?, col431=?, col432=?, col433=?, col434=?, col435=?, col436=?, col437=?, col438=?, col439=?, col440=?, col441=?, col442=?, col443=?, col444=?, col445=?, col446=?, col447=?, col448=?, col449=?, col450=?, col451=?, col452=?, col453=?, col454=?, col455=?, col456=?, col457=?, col458=?, col459=?, col460=?, col461=?, col462=?, col463=?, col464=?, col465=?, col466=?, col467=?, col468=?, col469=?, col470=?, col471=?, col472=?, col473=?, col474=?, col475=?, col476=?, col477=?, col478=?, col479=?, col480=?, col481=?, col482=?, col483=?, col484=?, col485=?, col486=?, col487=?, col488=?, col489=?, col490=?, col491=?, col492=?, col493=?, col494=?, col495=?, col496=?, col497=?, col498=?, col499=?, col500=?, col501=?, col502=?, col503=?, col504=?, col505=?, col506=?, col507=?, col508=?, col509=?, col510=?, col511=?, col512=?, col513=?, col514=?, col515=?, col516=?, col517=?, col518=?, col519=?, col520=?, col521=?, col522=?, col523=?, col524=?, col525=?, col526=?, col527=?, col528=?, col529=?, col530=?, col531=?, col532=?, col533=?, col534=?, col535=?, col536=?, col537=?, col538=?, col539=?, col540=?, col541=?, col542=?, col543=?, col544=?, col545=?, col546=?, col547=?, col548=?, col549=?, col550=?, col551=?, col552=?, col553=?, col554=?, col555=?, col556=?, col557=?, col558=?, col559=?, col560=?, col561=?, col562=?, col563=?, col564=?, col565=?, col566=?, col567=?, col568=?, col569=?, col570=?, col571=?, col572=?, col573=?, col574=?, col575=?, col576=?, col577=?, col578=?, col579=?, col580=?, col581=?, col582=?, col583=?, col584=?, col585=?, col586=?, col587=?, col588=?, col589=?, col590=?, col591=?, col592=?, col593=?, col594=?, col595=?, col596=?, col597=?, col598=?, col599=?, col600=?, col601=?, col602=?, col603=?, col604=?, col605=?, col606=?, col607=?, col608=?, col609=?, col610=?, col611=?, col612=?, col613=?, col614=?, col615=?, col616=?, col617=?, col618=?, col619=?, col620=?, col621=?, col622=?, col623=?, col624=?, col625=?, col626=?, col627=?, col628=?, col629=?, col630=?, col631=?, col632=?, col633=?, col634=?, col635=?, col636=?, col637=?, col638=?, col639=?, col640=?, col641=?, col642=?, col643=?, col644=?, col645=?, col646=?, col647=?, col648=?, col649=?, col650=?, col651=?, col652=?, col653=?, col654=?, col655=?, col656=?, col657=?, col658=?, col659=?, col660=?, col661=?, col662=?, col663=?, col664=?, col665=?, col666=?, col667=?, col668=?, col669=?, col670=?, col671=?, col672=?, col673=?, col674=?, col675=?, col676=?, col677=?, col678=?, col679=?, col680=?, col681=?, col682=?, col683=?, col684=?, col685=?, col686=?, col687=?, col688=?, col689=?, col690=?, col691=?, col692=?, col693=?, col694=?, col695=?, col696=?, col697=?, col698=?, col699=?, col700=?, col701=?, col702=?, col703=?, col704=?, col705=?, col706=?, col707=?, col708=?, col709=?, col710=?, col711=?, col712=?, col713=?, col714=?, col715=?, col716=?, col717=?, col718=?, col719=?, col720=?, col721=?, col722=?, col723=?, col724=?, col725=?, col726=?, col727=?, col728=?, col729=?, col730=?, col731=?, col732=?, col733=?, col734=?, col735=?, col736=?, col737=?, col738=?, col739=?, col740=?, col741=?, col742=?, col743=?, col744=?, col745=?, col746=?, col747=?, col748=?, col749=?, col750=?, col751=?, col752=?, col753=?, col754=?, col755=?, col756=?, col757=?, col758=?, col759=?, col760=?, col761=?, col762=?, col763=?, col764=?, col765=?, col766=?, col767=?, col768=?, col769=?, col770=?, col771=?, col772=?, col773=?, col774=?, col775=?, col776=?, col777=?, col778=?, col779=?, col780=?, col781=?, col782=?, col783=?, col784=?, col785=?, col786=?, col787=?, col788=?, col789=?, col790=?, col791=?, col792=?, col793=?, col794=?, col795=?, col796=?, col797=?, col798=?, col799=?, col800=?, col801=?, col802=?, col803=?, col804=?, col805=?, col806=?, col807=?, col808=?, col809=?, col810=?, col811=?, col812=?, col813=?, col814=?, col815=?, col816=?, col817=?, col818=?, col819=?, col820=?, col821=?, col822=?, col823=?, col824=?, col825=?, col826=?, col827=?, col828=?, col829=?, col830=?, col831=?, col832=?, col833=?, col834=?, col835=?, col836=?, col837=?, col838=?, col839=?, col840=?, col841=?, col842=?, col843=?, col844=?, col845=?, col846=?, col847=?, col848=?, col849=?, col850=?, col851=?, col852=?, col853=?, col854=?, col855=?, col856=?, col857=?, col858=?, col859=?, col860=?, col861=?, col862=?, col863=?, col864=?, col865=?, col866=?, col867=?, col868=?, col869=?, col870=?, col871=?, col872=?, col873=?, col874=?, col875=?, col876=?, col877=?, col878=?, col879=?, col880=?, col881=?, col882=?, col883=?, col884=?, col885=?, col886=?, col887=?, col888=?, col889=?, col890=?, col891=?, col892=?, col893=?, col894=?, col895=?, col896=?, col897=?, col898=?, col899=?, col900=?, col901=?, col902=?, col903=?, col904=?, col905=?, col906=?, col907=?, col908=?, col909=?, col910=?, col911=?, col912=?, col913=?, col914=?, col915=?, col916=?, col917=?, col918=?, col919=?, col920=?, col921=?, col922=?, col923=?, col924=?, col925=?, col926=?, col927=?, col928=?, col929=?, col930=?, col931=?, col932=?, col933=?, col934=?, col935=?, col936=?, col937=?, col938=?, col939=?, col940=?, col941=?, col942=?, col943=?, col944=?, col945=?, col946=?, col947=?, col948=?, col949=?, col950=?, col951=?, col952=?, col953=?, col954=?, col955=?, col956=?, col957=?, col958=?, col959=?, col960=?, col961=?, col962=?, col963=?, col964=?, col965=?, col966=?, col967=?, col968=?, col969=?, col970=?, col971=?, col972=?, col973=?, col974=?, col975=?, col976=?, col977=?, col978=?, col979=?, col980=?, col981=?, col982=?, col983=?, col984=?, col985=?, col986=?, col987=?, col988=?, col989=?, col990=?, col991=?, col992=?, col993=?, col994=?, col995=?, col996=?, col997=?, col998=?, col999=?, col1000=? where id=?;
+ bindings:
+ - util: RandomAString
+ count: 1000
+ params: [4, 4]
+ - util: RandomNumber
+ params: [1, 100000]
\ No newline at end of file
diff --git a/config/yugabyte/write_workloads/universe_creation.yaml b/config/yugabyte/write_workloads/universe_creation.yaml
new file mode 100644
index 000000000..622083f08
--- /dev/null
+++ b/config/yugabyte/write_workloads/universe_creation.yaml
@@ -0,0 +1,56 @@
+benchmarks:
+ - name: perf-sysbench
+ workloadSpec:
+ type: sysbench
+ properties:
+ create: false
+ load: false
+ run: false
+ client-instance-type: c5.xlarge
+ sysbench-repo-branch: master
+ tables: 100
+ table_size: 4000000
+ workload_subtype: oltp_read_only
+ load_threads: 10
+ run_threads: 10
+ point_selects: 10
+ num_rows_in_insert: 10
+ test-user: <>
+ time: 100
+ warmup-time: 100
+ range_key_partitioning: false
+ range_selects: false
+ serial_cache_size: 1000
+ thread-init-timeout: 90
+ yb_owner: perf-team
+ clusterSpec:
+ platformId: 301
+ #Template has ysql auth enabled . Password is Password@321
+ templateName: m6i_8core_3node_1az_secure
+ properties:
+ ybSoftwareVersion: 2.17.1.0-b44
+ # Review the gflags with actual before using in this yaml.
+ masterGFlags:
+ - "name": "enable_automatic_tablet_splitting"
+ "value": true
+ - "name": "ysql_enable_packed_row"
+ "value": true
+ # - "name": "ysql_yb_enable_expression_pushdown"
+ # "value": true
+ tserverGFlags:
+ - "name": "enable_automatic_tablet_splitting"
+ "value": true
+ - "name": "ysql_enable_packed_row"
+ "value": true
+ # - "name": "ysql_yb_enable_expression_pushdown"
+ # "value": true
+ jobGroup:
+ - name: sysbench
+ numClusters: 1
+ reuse: true
+ clusterSpec:
+ overrides: {}
+ workloadSpec:
+ overrides:
+ workload_subtype:
+ - '{"workload": "oltp_read_only", "threads": [120]}'
\ No newline at end of file
diff --git a/modifyconfig.py b/modifyconfig.py
new file mode 100644
index 000000000..fb411bbb4
--- /dev/null
+++ b/modifyconfig.py
@@ -0,0 +1,51 @@
+from logging import root
+import xml.etree.ElementTree as ET
+import sys
+import json
+import re
+data = json.loads(sys.argv[1])
+
+tree = ET.parse('config/{}/sample_{}_config.xml'.format(sys.argv[3], sys.argv[2]))
+root = tree.getroot()
+
+
+
+for key, value in data.items():
+ element = root.find(key)
+ value = str(value)
+ if key == "warmup":
+ element = root.find("works/work/warmup")
+ if element == None:
+ element = root.find("works/work")
+ newarmp = ET.SubElement(element, "warmup")
+ newarmp.text = value
+ else:
+ element.text = value
+ elif key == "time":
+ element = root.find("works/work/time")
+ if element != None:
+ element.text = value
+ # Check if loaderThreads is in the data
+ elif key == 'loaderThreads':
+ loader_threads_value = str(data['loaderThreads'])
+
+ # Check if already exists
+ element = root.find("loaderThreads")
+ if element is None:
+ # Create element at the top level (direct child of root)
+ new_loader_threads = ET.SubElement(root, "loaderThreads")
+ new_loader_threads.text = loader_threads_value
+ else:
+ # If it exists, update its value
+ element.text = loader_threads_value
+ elif element != None:
+ if key == "url":
+ element.text = element.text.replace("localhost", value)
+ if "sslmode" in data:
+ element.text = element.text.replace("disable", "require") if data["sslmode"] else element.text.replace(
+ "require", "disable")
+ else:
+ element.text = value
+
+tree.write('config/{}/sample_{}_config.xml'.format(sys.argv[3], sys.argv[2]))
+# python modifyconfig.py '{"url":"jdbc:postgresql://localhost:5433/yugabyte","username":"yugabyte","password":""}' seats
\ No newline at end of file
diff --git a/modifyyaml.py b/modifyyaml.py
new file mode 100644
index 000000000..b48a664a5
--- /dev/null
+++ b/modifyyaml.py
@@ -0,0 +1,181 @@
+#!/usr/bin/python
+
+import json
+import sys
+import yaml
+import os # Import the 'os' module for path manipulation
+from jinja2 import Environment, FileSystemLoader, Undefined
+from functools import reduce
+from operator import getitem
+from collections import OrderedDict
+
+
+# Custom Undefined handler to return an empty string or leave placeholders as-is
+class SilentUndefined(Undefined):
+ def _fail_with_undefined_error(self, *args, **kwargs):
+ return '' # Return empty string if undefined
+
+ def __str__(self):
+ return self._fail_with_undefined_error()
+
+
+def jinja2_modification(context, input_yaml):
+ """
+ Renders the input YAML file as a Jinja2 template, supporting both
+ relative and absolute file paths.
+ """
+ # Get the absolute path of the directory containing the template
+ template_dir = os.path.dirname(os.path.abspath(input_yaml))
+ # Get the base name of the template file
+ template_file = os.path.basename(input_yaml)
+
+ # Initialize Jinja2 environment with the correct template directory
+ template_env = Environment(loader=FileSystemLoader(searchpath=template_dir), undefined=SilentUndefined)
+
+ # Load the template using its base name
+ template = template_env.get_template(template_file)
+
+ # Write the rendered content back to the original file path
+ with open(input_yaml, 'w') as f:
+ f.write(template.render(context))
+
+
+# Load the YAML using OrderedDict to preserve the order of elements
+def ordered_yaml_loader(stream, Loader=yaml.SafeLoader, object_pairs_hook=OrderedDict):
+ class OrderedLoader(Loader):
+ pass
+
+ def construct_mapping(loader, node):
+ loader.flatten_mapping(node)
+ return object_pairs_hook(loader.construct_pairs(node))
+
+ OrderedLoader.add_constructor(
+ yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG,
+ construct_mapping)
+ return yaml.load(stream, OrderedLoader)
+
+
+# Custom dumper to preserve empty strings as "" instead of null
+def ordered_yaml_dumper(data, stream=None, Dumper=yaml.SafeDumper, **kwds):
+ class OrderedDumper(Dumper):
+ pass
+
+ # Add custom representer for OrderedDict to preserve order
+ def _dict_representer(dumper, data):
+ return dumper.represent_dict(data.items())
+
+ # Add custom representer for empty strings to prevent 'null' output
+ def _str_representer(dumper, value):
+ if not value or value == '' or value == 'null':
+ return dumper.represent_scalar('tag:yaml.org,2002:str', '') # Keep as empty string
+ return dumper.represent_scalar('tag:yaml.org,2002:str', value)
+
+ OrderedDumper.add_representer(OrderedDict, _dict_representer)
+ OrderedDumper.add_representer(str, _str_representer) # Ensure empty strings are represented as ""
+
+ return yaml.dump(data, stream, OrderedDumper, **kwds)
+
+
+def set_nested_item(dataDict, mapList, val):
+ """Set item in nested dictionary, handling list indices if present."""
+ for i, key in enumerate(mapList[:-1]):
+ if isinstance(reduce(getitem, mapList[:i], dataDict), list):
+ index = int(key[key.find("[") + 1:key.find("]")]) # Extract index inside brackets
+ mapList[i] = index # Replace the string with an integer index
+ reduce(getitem, mapList[:-1], dataDict)[mapList[-1]] = val
+ return dataDict
+
+
+def handle_load_balance_url(url, driver, optimal_threads):
+ """
+ Handle load-balance parameter in URL based on driver and optimalThreads setting.
+ If optimalThreads is true and driver is com.yugabyte.Driver, ensure load-balance=true is present.
+ """
+ if not optimal_threads or driver != "com.yugabyte.Driver":
+ return url
+
+ # Check if load-balance is already present in the URL
+ if "load-balance=" in url:
+ # If load-balance is present, ensure it's set to true
+ if "load-balance=false" in url:
+ url = url.replace("load-balance=false", "load-balance=true")
+ elif "load-balance=true" in url:
+ # Already set to true, no change needed
+ pass
+ else:
+ # load-balance is present but with no value, ensure it's true
+ # This handles cases like "load-balance" without a value
+ url = url.replace("load-balance&", "load-balance=true&")
+ url = url.replace("load-balance?", "load-balance=true?")
+ if url.endswith("load-balance"):
+ url = url.replace("load-balance", "load-balance=true")
+ else:
+ # load-balance is not present, add it
+ if "?" in url:
+ url += "&load-balance=true"
+ else:
+ url += "?load-balance=true"
+
+ return url
+
+
+def main():
+ if len(sys.argv) != 3:
+ print(f"Usage: {sys.argv[0]} ")
+ sys.exit(1)
+
+ yaml_file = sys.argv[2]
+
+ try:
+ data = json.loads(sys.argv[1], strict=False)
+ except json.JSONDecodeError as e:
+ print(f"Error: Invalid JSON context provided. {e}")
+ sys.exit(1)
+
+ if not os.path.exists(yaml_file):
+ print(f"Error: YAML file not found at '{yaml_file}'")
+ sys.exit(1)
+
+ jinja2_modification(data, yaml_file)
+
+ with open(yaml_file) as f:
+ doc = ordered_yaml_loader(f, Loader=yaml.FullLoader)
+
+ # Check if optimalThreads is set and handle load-balance URL modification
+ optimal_threads = data.get("optimalThreads", False)
+ driver = doc.get("driver", "")
+
+ for key, value in data.items():
+ if key == "warmup":
+ doc["works"]["work"]["warmup"] = value
+ elif key == "time":
+ doc["works"]["work"]["time_secs"] = value
+ elif key == "url":
+ doc[key] = doc[key].replace("localhost", value)
+ if "sslmode" in data:
+ doc[key] = doc[key].replace("disable", "require") if data["sslmode"] else doc[key].replace(
+ "require", "disable")
+ if "load-balance" in data and data['load-balance'] == True:
+ doc[key] = doc[key] + "&load-balance=true"
+ # Handle optimalThreads load-balance logic
+ if optimal_threads:
+ doc[key] = handle_load_balance_url(doc[key], driver, optimal_threads)
+ elif key == "optimalThreads":
+ # Set the optimalThreads property in the YAML
+ doc[key] = value
+ # Also handle load-balance URL modification if URL exists
+ if "url" in doc:
+ doc["url"] = handle_load_balance_url(doc["url"], driver, value)
+ elif key == "setAutoCommit":
+ doc["microbenchmark"]["properties"]["setAutoCommit"] = value
+ else:
+ nested_key = key.replace('[', '.[').split('.')
+ set_nested_item(doc, nested_key, value)
+
+ with open(yaml_file, 'w') as fnew:
+ ordered_yaml_dumper(doc, fnew, Dumper=yaml.SafeDumper, allow_unicode=True)
+ return
+
+
+if __name__ == "__main__":
+ main()
diff --git a/perf-data-loader b/perf-data-loader
new file mode 100755
index 000000000..4c64bfa6e
--- /dev/null
+++ b/perf-data-loader
@@ -0,0 +1,278 @@
+#!/bin/bash
+
+# Initialize variables
+CONFIG=""
+TABLE_NAME=""
+ROWS=""
+GENERATE_ONLY=false
+LOAD_ONLY=false
+GEN_LOAD_ORDER=false
+JAR_PATH=""
+
+# ANSI color codes
+GREEN="\033[32m"
+RED="\033[31m"
+RESET="\033[0m"
+
+# Function to display help
+function display_help {
+ echo "Usage: $0 --config --table-name --rows [--gen-config-only] [--load-only] [--gen-load-order]"
+ echo "Short forms: -c -t -r "
+ echo "Options:"
+ echo " -c, --config Configuration file"
+ echo " -t, --table-name Table name"
+ echo " -r, --rows Number of rows"
+ echo " --gen-config-only Only generate the loader/config file"
+ echo " --load-only Only load data into the database"
+ echo " --gen-load-order Generate table load order in the provided database"
+ echo " -h, --help Display this help message"
+ exit 0
+}
+
+# Function to find the jar file
+function find_jar {
+ # Check current directory first
+ if [[ -f "benchbase.jar" ]]; then
+ JAR_PATH="benchbase.jar"
+ return
+ fi
+
+ # Check target/benchbase-yugabyte/
+ if [[ -f "target/benchbase-yugabyte/benchbase.jar" ]]; then
+ JAR_PATH="target/benchbase-yugabyte/benchbase.jar"
+ return
+ fi
+
+ # Check target/benchbase-postgres/
+ if [[ -f "target/benchbase-postgres/benchbase.jar" ]]; then
+ JAR_PATH="target/benchbase-postgres/benchbase.jar"
+ return
+ fi
+
+ echo "Error: benchbase.jar not found in any expected location."
+ exit 1
+}
+
+# Function to show a fake progress bar while a command is running
+show_progress_bar() {
+ local CMD_PID=$1
+ local SECONDS=0
+
+ while kill -0 "$CMD_PID" 2>/dev/null; do
+ printf "\r["
+ for ((i=0; i<50; i++)); do
+ if (( i < (SECONDS % 50) )); then
+ printf "="
+ else
+ printf " "
+ fi
+ done
+ printf "] %d%%" $((SECONDS % 50 * 2))
+ sleep 0.1
+ done
+}
+
+# Function to check command success or failure
+# Function to check command success or failure
+check_command_status() {
+ local CMD_PID=$1
+ local SUCCESS_MSG=$2
+ local FAILURE_MSG=$3
+ local LOG_FILE=$4
+
+ wait "$CMD_PID"
+ CMD_EXIT_CODE=$?
+ # Clear the progress bar line
+ printf "\r\033[K"
+ if [ $CMD_EXIT_CODE -eq 0 ]; then
+ # Ensure the progress bar finishes at 100% on success
+ printf "\r[==================================================] 100%%\n"
+ echo -e "${GREEN}$SUCCESS_MSG${RESET}"
+ else
+ # Avoid showing 100% if the command fails
+ echo -e "${RED}$FAILURE_MSG${RESET}"
+ echo -e "${RED}\nConsole log:${RESET}"
+ cat "$LOG_FILE"
+ fi
+}
+
+# Parse arguments
+while [[ $# -gt 0 ]]; do
+ case $1 in
+ -c|--config)
+ CONFIG="$2"
+ shift # past argument
+ shift # past value
+ ;;
+ -t|--table-name)
+ TABLE_NAME="$2"
+ shift # past argument
+ shift # past value
+ ;;
+ -r|--rows)
+ ROWS="$2"
+ shift # past argument
+ shift # past value
+ ;;
+ --gen-config-only)
+ GENERATE_ONLY=true
+ shift # past argument
+ ;;
+ --load-only)
+ LOAD_ONLY=true
+ shift # past argument
+ ;;
+ --gen-load-order)
+ GEN_LOAD_ORDER=true
+ shift # past argument
+ ;;
+ -h|--help)
+ display_help
+ ;;
+ *)
+ echo "Invalid option: $1"
+ display_help
+ ;;
+ esac
+done
+
+# Ensure that both --gen-config-only and --load-only are not provided simultaneously
+if { [ "$GENERATE_ONLY" = true ] && [ "$LOAD_ONLY" = true ]; } || \
+ { [ "$GENERATE_ONLY" = true ] && [ "$GEN_LOAD_ORDER" = true ]; } || \
+ { [ "$LOAD_ONLY" = true ] && [ "$GEN_LOAD_ORDER" = true ]; }; then
+ echo "Error: Cannot use these conflicting parameters simultaneously. --gen-config-only, --load-only, --gen-load-order ."
+ exit 1
+fi
+
+# Find the JAR file
+find_jar
+
+if [ "$LOAD_ONLY" = true ]; then
+ if [ -z "$CONFIG" ]; then
+ echo "Error: --config parameter is required with --load-only."
+ display_help
+ fi
+
+ # Create a temporary file to capture output and errors
+ LOG_FILE=$(mktemp)
+ echo "Loading the data into the database now..."
+ # Start the Java command in the background
+ java -jar "$JAR_PATH" -b featurebench -c "$CONFIG" --load=True > "$LOG_FILE" 2>&1 &
+ CMD_PID=$!
+ # Show the progress bar while the command is running
+ show_progress_bar "$CMD_PID"
+ # Check if the command was successful and print the appropriate message
+ check_command_status "$CMD_PID" \
+ "Data load to the table \`${TABLE_NAME}\` is successful." \
+ "Failed to load data into the table: ${TABLE_NAME}." \
+ "$LOG_FILE"
+
+ # Clean up the log file
+ rm "$LOG_FILE"
+ exit 0
+fi
+
+if [ "$GENERATE_ONLY" = true ]; then
+ if [ -z "$CONFIG" ] || [ -z "$TABLE_NAME" ] || [ -z "$ROWS" ]; then
+ echo "Error: --config, --table-name, and --rows parameters are required with --gen-config-only."
+ display_help
+ fi
+ # Create a temporary file to capture output and errors
+ LOG_FILE=$(mktemp)
+ echo "Generating loader file for the table..."
+ # Start the Java command in the background
+ java -jar "$JAR_PATH" -b perf-dataloader -c "$CONFIG" -p tableName="$TABLE_NAME" -p rows="$ROWS" --load=True > "$LOG_FILE" 2>&1 &
+ CMD_PID=$!
+ # Show the progress bar while the command is running
+ show_progress_bar "$CMD_PID"
+ # Check if the command was successful and print the appropriate message
+ check_command_status "$CMD_PID" \
+ "Loader file generated successfully: ${TABLE_NAME}_loader.yaml" \
+ "Failed to generate loader file." \
+ "$LOG_FILE"
+
+ # Clean up the log file
+ rm "$LOG_FILE"
+ exit 0
+fi
+
+if [ "$GEN_LOAD_ORDER" = true ]; then
+ if [ -z "$CONFIG" ]; then
+ echo "Error: --config parameter is required with --gen-load-order."
+ display_help
+ fi
+ # Create a temporary file
+ TEMP_CONFIG=$(mktemp)
+ # Create a temporary file to capture output and errors
+ LOG_FILE=$(mktemp)
+ # Copy the content of the original CONFIG file to the temporary file
+ cp "$CONFIG" "$TEMP_CONFIG"
+
+ # Append text to the temporary config file (you can customize the text as needed)
+ echo >> "$TEMP_CONFIG"
+ echo "gen-db-load-order: true" >> "$TEMP_CONFIG"
+ echo "Generating load order based on the provided config file..."
+ java -jar "$JAR_PATH" -b perf-dataloader -c "$TEMP_CONFIG" -p tableName="dummy" -p rows="1" --load=True > "$LOG_FILE" 2>&1 &
+ CMD_PID=$!
+ # Show the progress bar while the command is running
+ show_progress_bar "$CMD_PID"
+ # Check if the command was successful and print the appropriate message
+ check_command_status "$CMD_PID" \
+ "Load order generated successfully in file \`load_order.json\` and is as follows: " \
+ "Failed to generate load order for the database." \
+ "$LOG_FILE"
+ # If successful, print the contents of the load order file
+ if [ $CMD_EXIT_CODE -eq 0 ]; then
+ cat "load_order.json"
+ echo ""
+ fi
+ # Clean up: delete the temporary config file
+ rm -f "$TEMP_CONFIG"
+ # Clean up the log file
+ rm "$LOG_FILE"
+ exit 0
+fi
+
+
+# Check if required parameters are provided for the default operation
+if [ -z "$CONFIG" ] || [ -z "$TABLE_NAME" ] || [ -z "$ROWS" ]; then
+ echo "Error: Missing required parameters."
+ display_help
+fi
+
+# If no specific option is provided, do both generate and load with default config file location
+# Create a temporary file to capture output and errors
+LOG_FILE=$(mktemp)
+echo "Generating loader file for the table..."
+# Start the Java command in the background
+java -jar "$JAR_PATH" -b perf-dataloader -c "$CONFIG" -p tableName="$TABLE_NAME" -p rows="$ROWS" --load=True > "$LOG_FILE" 2>&1 &
+CMD_PID=$!
+# Show the progress bar while the command is running
+show_progress_bar "$CMD_PID"
+# Check if the command was successful and print the appropriate message
+check_command_status "$CMD_PID" \
+ "Loader file generated successfully: ${TABLE_NAME}_loader.yaml" \
+ "Failed to generate loader file." \
+ "$LOG_FILE"
+
+# Clean up the log file
+rm "$LOG_FILE"
+
+DEFAULT_CONFIG="${TABLE_NAME}_loader.yaml"
+
+# Create a temporary file to capture output and errors
+LOG_FILE=$(mktemp)
+echo "Loading the data into the database now..."
+# Start the Java command in the background
+java -jar "$JAR_PATH" -b featurebench -c "$DEFAULT_CONFIG" --load=True > "$LOG_FILE" 2>&1 &
+CMD_PID=$!
+# Show the progress bar while the command is running
+show_progress_bar "$CMD_PID"
+# Check if the command was successful and print the appropriate message
+check_command_status "$CMD_PID" \
+ "Data load to the table \`${TABLE_NAME}\` is successful." \
+ "Failed to load data into the table: ${TABLE_NAME}." \
+ "$LOG_FILE"
+
+# Clean up the log file
+rm "$LOG_FILE"
diff --git a/pom.xml b/pom.xml
index f91c2054b..dbf69e366 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,5 +1,7 @@
-
+
4.0.0
@@ -15,6 +17,7 @@
17
17
17
+ posix
${project.basedir}/target
@@ -112,6 +115,24 @@
+
+ yugabyte
+
+ yugabyte
+
+
+
+ com.yugabyte
+ jdbc-yugabytedb
+ 42.7.3-yb-4
+
+
+ org.postgresql
+ postgresql
+ 42.4.0
+
+
+
phoenix
@@ -212,7 +233,11 @@
jaxb-runtime
4.0.0
-
+
+ com.fasterxml.jackson.dataformat
+ jackson-dataformat-yaml
+ 2.13.4
+
org.hsqldb
hsqldb
@@ -226,6 +251,68 @@
test
+
+ com.hubspot.jinjava
+ jinjava
+ 2.6.0
+
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+ 2.13.4
+
+
+ org.postgresql
+ postgresql
+ 42.4.0
+
+
+ com.yugabyte
+ jdbc-yugabytedb
+ 42.3.4
+
+
+
+
+ software.amazon.awssdk
+ cloudwatch
+ 2.20.162
+
+
+ software.amazon.awssdk
+ auth
+ 2.20.162
+
+
+ software.amazon.awssdk
+ regions
+ 2.20.162
+
+
+
+ software.amazon.awssdk
+ sso
+ 2.20.162
+
+
+ software.amazon.awssdk
+ ssooidc
+ 2.20.162
+
+
+
+ com.github.jsqlparser
+ jsqlparser
+ 5.3
+
+
+
+
+ org.openjdk.nashorn
+ nashorn-core
+ 15.4
+
@@ -349,4 +436,4 @@
-
+
\ No newline at end of file
diff --git a/src/main/assembly/tgz.xml b/src/main/assembly/tgz.xml
index 6e7182cdf..58a41760e 100644
--- a/src/main/assembly/tgz.xml
+++ b/src/main/assembly/tgz.xml
@@ -11,9 +11,9 @@
${project.basedir}/config
-
- ${project.basedir}/data
-
+
+
+
${project.basedir}/scripts
@@ -36,6 +36,10 @@
${project.basedir}/CONTRIBUTORS.md
+
+ ${project.basedir}/perf-data-loader
+
+
diff --git a/src/main/assembly/zip.xml b/src/main/assembly/zip.xml
index be2c442f5..894278e38 100644
--- a/src/main/assembly/zip.xml
+++ b/src/main/assembly/zip.xml
@@ -11,9 +11,9 @@
${project.basedir}/config
-
- ${project.basedir}/data
-
+
+
+
${project.basedir}/scripts
@@ -36,6 +36,10 @@
${project.basedir}/CONTRIBUTORS.md
+
+ ${project.basedir}/perf-data-loader
+
+
diff --git a/src/main/java/com/oltpbenchmark/BenchmarkState.java b/src/main/java/com/oltpbenchmark/BenchmarkState.java
index b6d084ce3..fbaf131b1 100644
--- a/src/main/java/com/oltpbenchmark/BenchmarkState.java
+++ b/src/main/java/com/oltpbenchmark/BenchmarkState.java
@@ -32,6 +32,7 @@ public final class BenchmarkState {
private final CountDownLatch startBarrier;
private final AtomicInteger notDoneCount;
private volatile State state = State.WARMUP;
+ private volatile long measurementStartNs = -1;
/**
* @param numThreads number of threads involved in the test: including the
@@ -51,6 +52,10 @@ public long getTestStartNs() {
return testStartNs;
}
+ public long getMeasurementStartNs() {
+ return measurementStartNs;
+ }
+
public State getState() {
synchronized (this) {
return state;
@@ -74,6 +79,9 @@ public void blockForStart() {
public void startMeasure() {
state = State.MEASURE;
+ if (measurementStartNs == -1) {
+ measurementStartNs = System.nanoTime();
+ }
}
public void startColdQuery() {
@@ -82,6 +90,9 @@ public void startColdQuery() {
public void startHotQuery() {
state = State.MEASURE;
+ if (measurementStartNs == -1) {
+ measurementStartNs = System.nanoTime();
+ }
}
public void signalLatencyComplete() {
diff --git a/src/main/java/com/oltpbenchmark/DBWorkload.java b/src/main/java/com/oltpbenchmark/DBWorkload.java
index 3a7f87aaa..de762b991 100644
--- a/src/main/java/com/oltpbenchmark/DBWorkload.java
+++ b/src/main/java/com/oltpbenchmark/DBWorkload.java
@@ -18,16 +18,27 @@
package com.oltpbenchmark;
+
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.hubspot.jinjava.Jinjava;
+import com.hubspot.jinjava.JinjavaConfig;
+import com.hubspot.jinjava.interpret.RenderResult;
import com.oltpbenchmark.api.BenchmarkModule;
import com.oltpbenchmark.api.TransactionType;
import com.oltpbenchmark.api.TransactionTypes;
import com.oltpbenchmark.api.Worker;
import com.oltpbenchmark.types.DatabaseType;
+import com.oltpbenchmark.types.State;
import com.oltpbenchmark.util.*;
+import org.json.JSONObject;
import org.apache.commons.cli.*;
import org.apache.commons.collections4.map.ListOrderedMap;
import org.apache.commons.configuration2.HierarchicalConfiguration;
import org.apache.commons.configuration2.XMLConfiguration;
+import org.apache.commons.configuration2.YAMLConfiguration;
import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
import org.apache.commons.configuration2.builder.fluent.Parameters;
import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler;
@@ -37,12 +48,26 @@
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintStream;
+import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
+import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
+import software.amazon.awssdk.core.retry.RetryPolicy;
+import software.amazon.awssdk.regions.Region;
+import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
+import software.amazon.awssdk.services.cloudwatch.model.*;
+
+import java.io.*;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.sql.Connection;
+import java.sql.ResultSet;
import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.Duration;
+import java.time.Instant;
import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
public class DBWorkload {
private static final Logger LOG = LoggerFactory.getLogger(DBWorkload.class);
@@ -56,6 +81,16 @@ public class DBWorkload {
* @param args
* @throws Exception
*/
+ private static boolean isOptionTrueForOptimalThreads(XMLConfiguration config, String key) {
+ if (!config.containsKey(key)) return false;
+ Object val = config.getProperty(key);
+ if (val instanceof Boolean) {
+ return (Boolean) val;
+ } else if (val instanceof String) {
+ return ((String) val).equalsIgnoreCase("true");
+ }
+ return false;
+ }
public static void main(String[] args) throws Exception {
// create the command line parser
@@ -95,18 +130,31 @@ public static void main(String[] args) throws Exception {
String[] targetList = targetBenchmarks.split(",");
List benchList = new ArrayList<>();
+ List copyBenchList = new ArrayList<>();
// Use this list for filtering of the output
List activeTXTypes = new ArrayList<>();
String configFile = argsLine.getOptionValue("c");
- XMLConfiguration xmlConfig = buildConfiguration(configFile);
+ XMLConfiguration xmlConfig = null;
// Load the configuration for each benchmark
int lastTxnId = 0;
for (String plugin : targetList) {
String pluginTest = "[@bench='" + plugin + "']";
+ if (plugin.equalsIgnoreCase("featurebench") || plugin.equalsIgnoreCase("perf-dataloader"))
+ {
+ String[] params=null;
+ if (argsLine.hasOption("params")) {
+ params = argsLine.getOptionValues("params");
+ LOG.info("Creating modified temporary input yaml with passed parameters from : "+ configFile);
+ configFile = replaceParametersInYaml(params,configFile);
+ }
+ xmlConfig = buildConfigurationFromYaml(configFile);
+ }
+ else
+ xmlConfig = buildConfiguration(configFile);
// ----------------------------------------------------------------
// BEGIN LOADING WORKLOAD CONFIGURATION
@@ -115,6 +163,7 @@ public static void main(String[] args) throws Exception {
WorkloadConfiguration wrkld = new WorkloadConfiguration();
wrkld.setBenchmarkName(plugin);
wrkld.setXmlConfig(xmlConfig);
+ wrkld.setConfigFilePath(configFile);
// Pull in database configuration
wrkld.setDatabaseType(DatabaseType.get(xmlConfig.getString("type")));
@@ -190,292 +239,715 @@ public static void main(String[] args) throws Exception {
numTxnTypes = xmlConfig.configurationsAt("transactiontypes" + pluginTest + "/transactiontype").size();
}
+ List> workloads =
+ xmlConfig.configurationsAt("microbenchmark/properties/executeRules");
- List ttypes = new ArrayList<>();
- ttypes.add(TransactionType.INVALID);
- int txnIdOffset = lastTxnId;
- for (int i = 1; i <= numTxnTypes; i++) {
- String key = "transactiontypes" + pluginTest + "/transactiontype[" + i + "]";
- String txnName = xmlConfig.getString(key + "/name");
+ // optimalThreads check will be done later in execute phase only
+ int totalWorkloadCount =
+ plugin.equalsIgnoreCase("featurebench") ?
+ (workloads == null ? 1 : (workloads.size() == 0 ? 1 : workloads.size())) : 1;
- // Get ID if specified; else increment from last one.
- int txnId = i;
- if (xmlConfig.containsKey(key + "/id")) {
- txnId = xmlConfig.getInt(key + "/id");
+ boolean createDone = false;
+ boolean loadDone = false;
+
+
+ Set uniqueRunWorkloads = new HashSet<>();
+ List workloadsFromExecuteRules = new ArrayList<>();
+ String fileForAllWorkloadList = "allWorkloads" + ".txt";
+
+ if (workloads != null && workloads.size() != 0) {
+ for (int workCount = 1; workCount <= totalWorkloadCount; workCount++) {
+ workloadsFromExecuteRules.add(workloads.get(workCount - 1)
+ .containsKey("workload") ? workloads.get(workCount - 1)
+ .getString("workload") : String.valueOf(workCount));
}
- long preExecutionWait = 0;
- if (xmlConfig.containsKey(key + "/preExecutionWait")) {
- preExecutionWait = xmlConfig.getLong(key + "/preExecutionWait");
+ try (PrintStream ps = new PrintStream(FileUtil.joinPath(fileForAllWorkloadList))) {
+ System.out.println("All Workloads:");
+ for (int workCount = 1; workCount <= totalWorkloadCount; workCount++) {
+ ps.println((workloads.get(workCount - 1)
+ .containsKey("workload") ? workloads.get(workCount - 1).getString("workload") : workCount));
+ System.out.println((workloads.get(workCount - 1)
+ .containsKey("workload") ? workloads.get(workCount - 1).getString("workload") : workCount));
+ }
+ }
+ } else {
+ try (PrintStream ps = new PrintStream(FileUtil.joinPath(fileForAllWorkloadList))) {
+ ps.println("DEFAULT_WORKLOAD");
}
+ }
- long postExecutionWait = 0;
- if (xmlConfig.containsKey(key + "/postExecutionWait")) {
- postExecutionWait = xmlConfig.getLong(key + "/postExecutionWait");
+ if (isBooleanOptionSet(argsLine, "execute")) {
+ if ((argsLine.hasOption("workloads")) && !argsLine.getOptionValue("workloads").isEmpty()) {
+ List runWorkloads = List.of(argsLine.getOptionValue("workloads").trim().split("\\s*,\\s*"));
+ uniqueRunWorkloads.addAll(runWorkloads);
+ uniqueRunWorkloads.forEach(uniqueWorkload -> {
+ if (workloadsFromExecuteRules.contains(uniqueWorkload)) {
+ LOG.info("Workload: " + uniqueWorkload + " will be scheduled to run");
+ } else if (workloadsFromExecuteRules.size() == 0 &&
+ uniqueWorkload.equalsIgnoreCase("DEFAULT_WORKLOAD")) {
+ LOG.info("Running workload specified through code implementation");
+ } else {
+ throw new RuntimeException("Wrong workload name provided in --workloads args: " + uniqueWorkload);
+ }
+ });
+ } else {
+ workloadsFromExecuteRules
+ .forEach(workloadFromExecuteRule -> LOG.info("Workload: "
+ + workloadFromExecuteRule + " will be scheduled to run"));
+ uniqueRunWorkloads.addAll(workloadsFromExecuteRules);
}
+ }
- TransactionType tmpType = bench.initTransactionType(txnName, txnId + txnIdOffset, preExecutionWait, postExecutionWait);
- // Keep a reference for filtering
- activeTXTypes.add(tmpType);
+ for (int workCount = 1; workCount <= totalWorkloadCount; workCount++) {
- // Add a ref for the active TTypes in this benchmark
- ttypes.add(tmpType);
- lastTxnId = i;
- }
+ List> executeRules =
+ (workloads == null || workloads.size() == 0) ? null : workloads.get(workCount - 1)
+ .configurationsAt("run");
- // Wrap the list of transactions and save them
- TransactionTypes tt = new TransactionTypes(ttypes);
- wrkld.setTransTypes(tt);
- LOG.debug("Using the following transaction types: {}", tt);
- // Read in the groupings of transactions (if any) defined for this
- // benchmark
- int numGroupings = xmlConfig.configurationsAt("transactiontypes" + pluginTest + "/groupings/grouping").size();
- LOG.debug("Num groupings: {}", numGroupings);
- for (int i = 1; i < numGroupings + 1; i++) {
- String key = "transactiontypes" + pluginTest + "/groupings/grouping[" + i + "]";
+ boolean isExecutePresent = xmlConfig.containsKey("microbenchmark/properties/execute");
+ boolean isExecuteTrue = false;
+ if (isExecutePresent) {
+ isExecuteTrue = xmlConfig.getBoolean("microbenchmark/properties/execute");
+ }
- // Get the name for the grouping and make sure it's valid.
- String groupingName = xmlConfig.getString(key + "/name").toLowerCase();
- if (!groupingName.matches("^[a-z]\\w*$")) {
- LOG.error(String.format("Grouping name \"%s\" is invalid." + " Must begin with a letter and contain only" + " alphanumeric characters.", groupingName));
- System.exit(-1);
- } else if (groupingName.equals("all")) {
- LOG.error("Grouping name \"all\" is reserved." + " Please pick a different name.");
- System.exit(-1);
+ if (plugin.equalsIgnoreCase("featurebench")) {
+ if (executeRules == null) {
+ numTxnTypes = 1;
+
+ } else if (executeRules.size() == 0) {
+ executeRules = null;
+ numTxnTypes = 1;
+ } else {
+ if (!executeRules.get(0).containsKey("name")) {
+ executeRules = null;
+ numTxnTypes = 1;
+ } else {
+ numTxnTypes = executeRules.size();
+ }
+ }
}
- // Get the weights for this grouping and make sure that there
- // is an appropriate number of them.
- List groupingWeights = Arrays.asList(xmlConfig.getString(key + "/weights").split("\\s*,\\s*"));
- if (groupingWeights.size() != numTxnTypes) {
- LOG.error(String.format("Grouping \"%s\" has %d weights," + " but there are %d transactions in this" + " benchmark.", groupingName, groupingWeights.size(), numTxnTypes));
- System.exit(-1);
+ List ttypes = new ArrayList<>();
+ ttypes.add(TransactionType.INVALID);
+
+ int txnIdOffset = lastTxnId;
+ if (plugin.equalsIgnoreCase("featurebench")) {
+ txnIdOffset = 0;
}
+ for (int i = 1; i <= numTxnTypes; i++) {
+ String key = "transactiontypes" + pluginTest + "/transactiontype[" + i + "]";
+ String txnName = xmlConfig.getString(key + "/name");
+
+ // Get ID if specified; else increment from last one.
+ int txnId = i;
+ if (xmlConfig.containsKey(key + "/id")) {
+ txnId = xmlConfig.getInt(key + "/id");
+ }
- LOG.debug("Creating grouping with name, weights: {}, {}", groupingName, groupingWeights);
- }
+ long preExecutionWait = 0;
+ if (xmlConfig.containsKey(key + "/preExecutionWait")) {
+ preExecutionWait = xmlConfig.getLong(key + "/preExecutionWait");
+ }
+ long postExecutionWait = 0;
+ if (xmlConfig.containsKey(key + "/postExecutionWait")) {
+ postExecutionWait = xmlConfig.getLong(key + "/postExecutionWait");
+ }
+ TransactionType tmpType;
+ if (plugin.equalsIgnoreCase("featurebench")) {
+ if (isExecuteTrue) {
+ tmpType = bench.initTransactionType("FeatureBench", txnId + txnIdOffset, preExecutionWait,
+ postExecutionWait, "execute");
+ } else if (executeRules != null) {
+ tmpType = bench.initTransactionType("FeatureBench", txnId + txnIdOffset, preExecutionWait,
+ postExecutionWait, executeRules.get(i - 1).getString("name"));
+ } else {
+ tmpType = bench.initTransactionType("FeatureBench", txnId + txnIdOffset, preExecutionWait,
+ postExecutionWait, "executeOnce");
+ }
+ } else {
+ tmpType = bench.initTransactionType(txnName, txnId + txnIdOffset, preExecutionWait, postExecutionWait);
+ }
- benchList.add(bench);
+ // Keep a reference for filtering
+ activeTXTypes.add(tmpType);
- // ----------------------------------------------------------------
- // WORKLOAD CONFIGURATION
- // ----------------------------------------------------------------
+ // Add a ref for the active TTypes in this benchmark
+ ttypes.add(tmpType);
+ lastTxnId = i;
+ }
- int size = xmlConfig.configurationsAt("/works/work").size();
- for (int i = 1; i < size + 1; i++) {
- final HierarchicalConfiguration work = xmlConfig.configurationAt("works/work[" + i + "]");
- List weight_strings;
+ // Wrap the list of transactions and save them
+ TransactionTypes tt = new TransactionTypes(ttypes);
+ wrkld.setTransTypes(tt);
+ LOG.debug("Using the following transaction types: {}", tt);
+
+ // Read in the groupings of transactions (if any) defined for this
+ // benchmark
+ int numGroupings = xmlConfig.configurationsAt("transactiontypes" + pluginTest + "/groupings/grouping").size();
+ LOG.debug("Num groupings: {}", numGroupings);
+ for (int i = 1; i < numGroupings + 1; i++) {
+ String key = "transactiontypes" + pluginTest + "/groupings/grouping[" + i + "]";
+
+ // Get the name for the grouping and make sure it's valid.
+ String groupingName = xmlConfig.getString(key + "/name").toLowerCase();
+ if (!groupingName.matches("^[a-z]\\w*$")) {
+ LOG.error(String.format("Grouping name \"%s\" is invalid." + " Must begin with a letter and contain only" + " alphanumeric characters.", groupingName));
+ System.exit(-1);
+ } else if (groupingName.equals("all")) {
+ LOG.error("Grouping name \"all\" is reserved." + " Please pick a different name.");
+ System.exit(-1);
+ }
- // use a workaround if there are multiple workloads or single
- // attributed workload
- if (targetList.length > 1 || work.containsKey("weights[@bench]")) {
- weight_strings = Arrays.asList(work.getString("weights" + pluginTest).split("\\s*,\\s*"));
- } else {
- weight_strings = Arrays.asList(work.getString("weights[not(@bench)]").split("\\s*,\\s*"));
- }
-
- int rate = 1;
- boolean rateLimited = true;
- boolean disabled = false;
- boolean timed;
-
- // can be "disabled", "unlimited" or a number
- String rate_string;
- rate_string = work.getString("rate[not(@bench)]", "");
- rate_string = work.getString("rate" + pluginTest, rate_string);
- if (rate_string.equals(RATE_DISABLED)) {
- disabled = true;
- } else if (rate_string.equals(RATE_UNLIMITED)) {
- rateLimited = false;
- } else if (rate_string.isEmpty()) {
- LOG.error(String.format("Please specify the rate for phase %d and workload %s", i, plugin));
- System.exit(-1);
- } else {
- try {
- rate = Integer.parseInt(rate_string);
- if (rate < 1) {
- LOG.error("Rate limit must be at least 1. Use unlimited or disabled values instead.");
- System.exit(-1);
- }
- } catch (NumberFormatException e) {
- LOG.error(String.format("Rate string must be '%s', '%s' or a number", RATE_DISABLED, RATE_UNLIMITED));
+ // Get the weights for this grouping and make sure that there
+ // is an appropriate number of them.
+ List groupingWeights = Arrays.asList(xmlConfig.getString(key + "/weights").split("\\s*,\\s*"));
+ if (groupingWeights.size() != numTxnTypes) {
+ LOG.error(String.format("Grouping \"%s\" has %d weights," + " but there are %d transactions in this" + " benchmark.", groupingName, groupingWeights.size(), numTxnTypes));
System.exit(-1);
}
- }
- Phase.Arrival arrival = Phase.Arrival.REGULAR;
- String arrive = work.getString("@arrival", "regular");
- if (arrive.equalsIgnoreCase("POISSON")) {
- arrival = Phase.Arrival.POISSON;
- }
- // We now have the option to run all queries exactly once in
- // a serial (rather than random) order.
- boolean serial = Boolean.parseBoolean(work.getString("serial", Boolean.FALSE.toString()));
+ LOG.debug("Creating grouping with name, weights: {}, {}", groupingName, groupingWeights);
+ }
- int activeTerminals;
- activeTerminals = work.getInt("active_terminals[not(@bench)]", terminals);
- activeTerminals = work.getInt("active_terminals" + pluginTest, activeTerminals);
- // If using serial, we should have only one terminal
- if (serial && activeTerminals != 1) {
- LOG.warn("Serial ordering is enabled, so # of active terminals is clamped to 1.");
- activeTerminals = 1;
- }
- if (activeTerminals > terminals) {
- LOG.error(String.format("Configuration error in work %d: " + "Number of active terminals is bigger than the total number of terminals", i));
- System.exit(-1);
+ benchList.add(bench);
+ if (workCount == 1) {
+ copyBenchList.add(bench);
}
- int time = work.getInt("/time", 0);
- int warmup = work.getInt("/warmup", 0);
- timed = (time > 0);
- if (!timed) {
- if (serial) {
- LOG.info("Timer disabled for serial run; will execute" + " all queries exactly once.");
+ // ----------------------------------------------------------------
+ // WORKLOAD CONFIGURATION
+ // ----------------------------------------------------------------
+
+ int size = xmlConfig.configurationsAt("/works/work").size();
+ for (int i = 1; i < size + 1; i++) {
+ final HierarchicalConfiguration work = xmlConfig.configurationAt("works/work[" + i + "]");
+ List weight_strings;
+
+ // use a workaround if there are multiple workloads or single
+ // attributed workload
+ int time = work.getInt("/time", 0);
+ int warmup = work.getInt("/warmup", 0);
+
+ if (targetList.length > 1 || work.containsKey("weights[@bench]")) {
+ weight_strings = Arrays.asList(work.getString("weights" + pluginTest).split("\\s*,\\s*"));
+ } else if (plugin.equalsIgnoreCase("featurebench") || plugin.equalsIgnoreCase("perf-dataloader")) {
+ weight_strings = List.of();
+ time = work.getInt("/time_secs", 0);
+ // get workload specific time in secs
+ if(workloads != null && workloads.size() >= workCount && workloads.get(workCount-1).containsKey("time_secs")){
+ time = workloads.get(workCount-1).getInt("time_secs");
+ }
} else {
- LOG.error("Must provide positive time bound for" + " non-serial executions. Either provide" + " a valid time or enable serial mode.");
+ weight_strings = Arrays.asList(work.getString("weights[not(@bench)]").split("\\s*,\\s*"));
+ }
+
+ int rate = 1;
+ boolean rateLimited = true;
+ boolean disabled = false;
+ boolean timed;
+
+ // can be "disabled", "unlimited" or a number
+ String rate_string;
+ rate_string = work.getString("rate[not(@bench)]", "");
+ rate_string = work.getString("rate" + pluginTest, rate_string);
+ if (rate_string.equals(RATE_DISABLED)) {
+ disabled = true;
+ } else if (rate_string.equals(RATE_UNLIMITED)) {
+ rateLimited = false;
+ } else if (rate_string.isEmpty()) {
+ LOG.error(String.format("Please specify the rate for phase %d and workload %s", i, plugin));
System.exit(-1);
+ } else {
+ try {
+ rate = Integer.parseInt(rate_string);
+ if (rate < 1) {
+ LOG.error("Rate limit must be at least 1. Use unlimited or disabled values instead.");
+ System.exit(-1);
+ }
+ } catch (NumberFormatException e) {
+ LOG.error(String.format("Rate string must be '%s', '%s' or a number", RATE_DISABLED, RATE_UNLIMITED));
+ System.exit(-1);
+ }
+ }
+ Phase.Arrival arrival = Phase.Arrival.REGULAR;
+ String arrive = work.getString("@arrival", "regular");
+ if (arrive.equalsIgnoreCase("POISSON")) {
+ arrival = Phase.Arrival.POISSON;
}
- } else if (serial) {
- LOG.info("Timer enabled for serial run; will run queries" + " serially in a loop until the timer expires.");
- }
- if (warmup < 0) {
- LOG.error("Must provide non-negative time bound for" + " warmup.");
- System.exit(-1);
- }
- ArrayList weights = new ArrayList<>();
+ // We now have the option to run all queries exactly once in
+ // a serial (rather than random) order.
+ boolean serial = Boolean.parseBoolean(work.getString("serial", Boolean.FALSE.toString()));
- double totalWeight = 0;
- for (String weightString : weight_strings) {
- double weight = Double.parseDouble(weightString);
- totalWeight += weight;
- weights.add(weight);
- }
+ int activeTerminals;
+ activeTerminals = work.getInt("active_terminals[not(@bench)]", terminals);
+ activeTerminals = work.getInt("active_terminals" + pluginTest, activeTerminals);
+ // If using serial, we should have only one terminal
+ if (serial && activeTerminals != 1) {
+ LOG.warn("Serial ordering is enabled, so # of active terminals is clamped to 1.");
+ activeTerminals = 1;
+ }
+ if (activeTerminals > terminals) {
+ LOG.error(String.format("Configuration error in work %d: " + "Number of active terminals is bigger than the total number of terminals", i));
+ System.exit(-1);
+ }
- long roundedWeight = Math.round(totalWeight);
- if (roundedWeight != 100) {
- LOG.warn("rounded weight [{}] does not equal 100. Original weight is [{}]", roundedWeight, totalWeight);
- }
+ //----------->
+ if (plugin.equalsIgnoreCase("featurebench") && executeRules == null && !isExecuteTrue) {
+ serial = true;
+ time = 0;
+ }
+ timed = (time > 0);
+ if (!timed) {
+ if (serial) {
+ LOG.info("Timer disabled for serial run; will execute" + " all queries exactly once.");
+ } else {
+ LOG.error("Must provide positive time bound for" + " non-serial executions. Either provide" + " a valid time or enable serial mode.");
+ System.exit(-1);
+ }
+ } else if (serial) {
+ LOG.info("Timer enabled for serial run; will run queries" + " serially in a loop until the timer expires.");
+ }
+ if (warmup < 0) {
+ LOG.error("Must provide non-negative time bound for" + " warmup.");
+ System.exit(-1);
+ }
+ ArrayList weights = new ArrayList<>();
+
+ double totalWeight = 0;
+ if (plugin.equalsIgnoreCase("featurebench")) {
+ if (executeRules == null) {
+ totalWeight = 100;
+ weights.add(100.0);
+ } else {
+ double defaultweight = 100.0 / executeRules.size();
+ boolean containWeight = executeRules.get(0).containsKey("weight");
+ for (HierarchicalConfiguration rule : executeRules) {
+ double weight;
+ if (containWeight) {
+ if (!rule.containsKey("weight")) {
+ throw new RuntimeException("Please Provide weight or not to all queries");
+ }
+ weight = rule.getDouble("weight");
+ } else {
+ if (rule.containsKey("weight")) {
+ throw new RuntimeException("Please Provide weight or not to all queries");
+ }
+ weight = defaultweight;
+ }
+
+ totalWeight += weight;
+ weights.add(weight);
+ }
+ }
+ } else {
+ for (String weightString : weight_strings) {
+ double weight = Double.parseDouble(weightString);
+ totalWeight += weight;
+ weights.add(weight);
+ }
+ }
- wrkld.addPhase(i, time, warmup, rate, weights, rateLimited, disabled, serial, timed, activeTerminals, arrival);
- }
+ long roundedWeight = Math.round(totalWeight);
- // CHECKING INPUT PHASES
- int j = 0;
- for (Phase p : wrkld.getPhases()) {
- j++;
- if (p.getWeightCount() != numTxnTypes) {
- LOG.error(String.format("Configuration files is inconsistent, phase %d contains %d weights but you defined %d transaction types", j, p.getWeightCount(), numTxnTypes));
- if (p.isSerial()) {
- LOG.error("However, note that since this a serial phase, the weights are irrelevant (but still must be included---sorry).");
+ if (roundedWeight != 100) {
+ LOG.warn("rounded weight [{}] does not equal 100. Original weight is [{}]", roundedWeight, totalWeight);
}
- System.exit(-1);
- }
- }
- // Generate the dialect map
- wrkld.init();
+ wrkld.addPhase(i, time, warmup, rate, weights, rateLimited, disabled, serial, timed, activeTerminals, arrival);
+ }
- }
+ // CHECKING INPUT PHASES
+ int j = 0;
+ for (Phase p : wrkld.getPhases()) {
+ j++;
+ if (p.getWeightCount() != numTxnTypes) {
+ LOG.error(String.format("Configuration files is inconsistent, phase %d contains %d weights but you defined %d transaction types", j, p.getWeightCount(), numTxnTypes));
+ if (p.isSerial()) {
+ LOG.error("However, note that since this a serial phase, the weights are irrelevant (but still must be included---sorry).");
+ }
+ System.exit(-1);
+ }
+ }
+ // Generate the dialect map
+ wrkld.init();
- // Export StatementDialects
- if (isBooleanOptionSet(argsLine, "dialects-export")) {
- BenchmarkModule bench = benchList.get(0);
- if (bench.getStatementDialects() != null) {
- LOG.info("Exporting StatementDialects for {}", bench);
- String xml = bench.getStatementDialects().export(bench.getWorkloadConfiguration().getDatabaseType(), bench.getProcedures().values());
- LOG.debug(xml);
- System.exit(0);
- }
- throw new RuntimeException("No StatementDialects is available for " + bench);
- }
- // Create the Benchmark's Database
- if (isBooleanOptionSet(argsLine, "create")) {
- try {
- for (BenchmarkModule benchmark : benchList) {
- LOG.info("Creating new {} database...", benchmark.getBenchmarkName().toUpperCase());
- runCreator(benchmark);
- LOG.info("Finished creating new {} database...", benchmark.getBenchmarkName().toUpperCase());
+ // Export StatementDialects
+ if (isBooleanOptionSet(argsLine, "dialects-export")) {
+ BenchmarkModule benchtemp = benchList.get(0);
+ if (benchtemp.getStatementDialects() != null) {
+ LOG.info("Exporting StatementDialects for {}", benchtemp);
+ String xml = benchtemp.getStatementDialects().export(benchtemp.getWorkloadConfiguration().getDatabaseType(), benchtemp.getProcedures().values());
+ LOG.debug(xml);
+ System.exit(0);
+ }
+ throw new RuntimeException("No StatementDialects is available for " + benchtemp);
}
- } catch (Throwable ex) {
- LOG.error("Unexpected error when creating benchmark database tables.", ex);
- System.exit(1);
- }
- } else {
- LOG.debug("Skipping creating benchmark database tables");
- }
- // Refresh the catalog.
- for (BenchmarkModule benchmark : benchList) {
- benchmark.refreshCatalog();
- }
+ // Create the Benchmark's Database
+ if (isBooleanOptionSet(argsLine, "create") && !createDone) {
+ try {
+ for (BenchmarkModule benchmark : benchList) {
+ LOG.info("Creating new {} database...", benchmark.getBenchmarkName().toUpperCase());
+
+ boolean analyze_on_all_tables = benchmark.getWorkloadConfiguration().getXmlConfig()
+ .getBoolean("analyze_on_all_tables", false);
+
+ if (benchmark.getBenchmarkName().equalsIgnoreCase("featurebench"))
+ {
+ if (benchmark.getWorkloadConfiguration().getXmlConfig().containsKey("createdb")) {
+ String createDbDDL =
+ benchmark.getWorkloadConfiguration().getXmlConfig().getString("createdb");
+ String newUrl = runCreatorDB(benchmark, createDbDDL, analyze_on_all_tables);
+ LOG.info("New JDBC URL : " + newUrl);
+ benchmark.getWorkloadConfiguration().setUrl(newUrl);
+ benchmark.getWorkloadConfiguration().getXmlConfig().setProperty("url", newUrl);
+ }
+ else if(analyze_on_all_tables) {
+ enableOptimizerStatistics(benchmark);
+ }
+ }
+ runCreator(benchmark);
+ LOG.info("Finished creating new {} database...", benchmark.getBenchmarkName().toUpperCase());
+ }
+ } catch (Throwable ex) {
+ LOG.error("Unexpected error when creating benchmark database tables.", ex);
+ System.exit(1);
+ }
+ createDone = true;
+ } else {
+ LOG.debug("Skipping creating benchmark database tables");
+ }
+ if (!isBooleanOptionSet(argsLine, "create") && !createDone) {
+ for (BenchmarkModule benchmark : benchList) {
+ if (benchmark.getBenchmarkName().equalsIgnoreCase("featurebench") && benchmark.getWorkloadConfiguration().getXmlConfig().containsKey("createdb")) {
+ String newUrl = getNewUrl(benchmark, benchmark.getWorkloadConfiguration().getXmlConfig().getString("createdb"));
+ LOG.info("New JDBC URL : " + newUrl);
+ benchmark.getWorkloadConfiguration().setUrl(newUrl);
+ benchmark.getWorkloadConfiguration().getXmlConfig().setProperty("url", newUrl);
+ }
+ }
+ createDone = true;
+ }
- // Clear the Benchmark's Database
- if (isBooleanOptionSet(argsLine, "clear")) {
- try {
+
+ // Refresh the catalog.
for (BenchmarkModule benchmark : benchList) {
- LOG.info("Clearing {} database...", benchmark.getBenchmarkName().toUpperCase());
benchmark.refreshCatalog();
- benchmark.clearDatabase();
- benchmark.refreshCatalog();
- LOG.info("Finished clearing {} database...", benchmark.getBenchmarkName().toUpperCase());
}
- } catch (Throwable ex) {
- LOG.error("Unexpected error when clearing benchmark database tables.", ex);
- System.exit(1);
- }
- } else {
- LOG.debug("Skipping clearing benchmark database tables");
- }
- // Execute Loader
- if (isBooleanOptionSet(argsLine, "load")) {
- try {
- for (BenchmarkModule benchmark : benchList) {
- LOG.info("Loading data into {} database...", benchmark.getBenchmarkName().toUpperCase());
- runLoader(benchmark);
- LOG.info("Finished loading data into {} database...", benchmark.getBenchmarkName().toUpperCase());
+ // Clear the Benchmark's Database
+ if (isBooleanOptionSet(argsLine, "clear")) {
+ try {
+ for (BenchmarkModule benchmark : benchList) {
+ LOG.info("Clearing {} database...", benchmark.getBenchmarkName().toUpperCase());
+ benchmark.refreshCatalog();
+ benchmark.clearDatabase();
+ benchmark.refreshCatalog();
+ LOG.info("Finished clearing {} database...", benchmark.getBenchmarkName().toUpperCase());
+ }
+ } catch (Throwable ex) {
+ LOG.error("Unexpected error when clearing benchmark database tables.", ex);
+ System.exit(1);
+ }
+ } else {
+ LOG.debug("Skipping clearing benchmark database tables");
}
- } catch (Throwable ex) {
- LOG.error("Unexpected error when loading benchmark database records.", ex);
- System.exit(1);
- }
- } else {
- LOG.debug("Skipping loading benchmark database records");
- }
+ // Execute Loader
+ if (isBooleanOptionSet(argsLine, "load") && !loadDone) {
+ try {
+ for (BenchmarkModule benchmark : benchList) {
+ LOG.info("Loading data into {} database...", benchmark.getBenchmarkName().toUpperCase());
+ runLoader(benchmark);
+ LOG.info("Finished loading data into {} database...", benchmark.getBenchmarkName().toUpperCase());
+ }
+ } catch (Throwable ex) {
+ LOG.error("Unexpected error when loading benchmark database records.", ex);
+ System.exit(1);
+ }
+ loadDone = true;
+ } else {
+ LOG.debug("Skipping loading benchmark database records");
+ }
+
+
+ // Check optimalThreads constraint for execute phase
+ if (isBooleanOptionSet(argsLine, "execute") && isOptionTrueForOptimalThreads(xmlConfig, "optimalThreads")) {
+ // Determine the number of workloads to be executed
+ int workloadsToExecute = 0;
+ if (argsLine.hasOption("workloads") && !argsLine.getOptionValue("workloads").isEmpty()) {
+ // If --workloads option is specified, count the workloads in that option
+ List runWorkloads = List.of(argsLine.getOptionValue("workloads").trim().split("\\s*,\\s*"));
+ workloadsToExecute = runWorkloads.size();
+ } else {
+ // If no --workloads option, all workloads from XML configuration will be executed
+ // For optimalThreads, we expect only one workload in the YAML file
+ workloadsToExecute = workloads == null ? 1 : (workloads.size() == 0 ? 1 : workloads.size());
+ }
+
+ if (workloadsToExecute > 1) {
+ LOG.error("Error: optimalThreads can only be used when there is exactly one workload. Found {} workloads to execute.", workloadsToExecute);
+ System.exit(1);
+ }
+ }
+
+ if (isBooleanOptionSet(argsLine, "execute") && (argsLine.hasOption("workloads")) && executeRules != null) {
+ String val = workloads.get(workCount - 1).getString("workload");
+ if (uniqueRunWorkloads.contains(val) || uniqueRunWorkloads.contains("DEFAULT_WORKLOAD")) {
+ LOG.info("Starting Workload " + (workloads.get(workCount - 1).containsKey("workload") ? workloads.get(workCount - 1).getString("workload") : workCount));
+ // Add optimal thread finding here for current workload
+ if (xmlConfig.containsKey("optimalThreads") && xmlConfig.getBoolean("optimalThreads")) {
+ double targetCPU = xmlConfig.getDouble("targetCPU", 80.0);
+ double toleranceCPU = xmlConfig.getDouble("toleranceCPU", 5.0);
+ int samplingTime = xmlConfig.getInt("samplingTime", 0);
+
+ LOG.info("Finding optimal threads for workload: {}", val);
+ LOG.info("First BenchmarkModule: {}", benchList.get(0));
+ LOG.info("targetCPU: {}, toleranceCPU: {}", targetCPU, toleranceCPU);
+
+ // Store original terminal count
+ int originalTerminals = benchList.get(0).getWorkloadConfiguration().getTerminals();
+ LOG.info("Terminal for starting: {}", originalTerminals);
+ String workloadName = executeRules == null ? null : workloads.get(workCount - 1).getString("workload");
+ // Find optimal threads for this workload
+ double scalingMinDeltaPercent = xmlConfig.getDouble("scalingMinDeltaPercent", DEFAULT_SCALING_MIN_DELTA_PERCENT);
+ boolean linearPGthread = xmlConfig.getBoolean("linearPGthread", false);
+ int threadIncrement = xmlConfig.getInt("threadIncrement", 3);
+ int restingTimeSecs = xmlConfig.getInt("restingTimeSecs", 120);
+ int flatMaxScalingSteps = xmlConfig.getInt("flatMaxScalingSteps", DEFAULT_FLAT_MAX_SCALING_STEPS);
+ boolean useThroughputThreshold = xmlConfig.getBoolean("useThroughputThreshold", false);
+ boolean truncateBetweenIterations = xmlConfig.getBoolean("truncateBetweenIterations", false);
+ List iterationCleanupDDLs = xmlConfig.containsKey("microbenchmark/properties/iterationCleanup")
+ ? xmlConfig.getList(String.class, "microbenchmark/properties/iterationCleanup")
+ : (xmlConfig.containsKey("microbenchmark/properties/create")
+ ? xmlConfig.getList(String.class, "microbenchmark/properties/create")
+ : null);
+ int optimalThreads = findOptimalThreadCount(benchList.get(0), terminals, targetCPU, toleranceCPU, workloadName, workCount, samplingTime,
+ scalingMinDeltaPercent, threadIncrement, restingTimeSecs, flatMaxScalingSteps, linearPGthread,
+ useThroughputThreshold, truncateBetweenIterations, iterationCleanupDDLs);
+
+ // Sleep between optimal-threads search and the final measured run so system can stabilize
+ if (restingTimeSecs > 0) {
+ try {
+ LOG.info("Sleeping for {} seconds before the measured run so system can stabilize", restingTimeSecs);
+ Thread.sleep(restingTimeSecs * 1000L);
+ } catch (InterruptedException e) {
+ LOG.error("Error sleeping", e);
+ }
+ }
+
+ // Update the configuration with optimal thread count
+ for (BenchmarkModule benchi : benchList) {
+ Phase oldPhase = benchi.getWorkloadConfiguration().getPhases().get(0);
+ Phase newPhase = new Phase(
+ // Use the correct constructor arguments for Phase
+ "FEATUREBENCH",
+ oldPhase.getId(),
+ oldPhase.getTime(),
+ oldPhase.getWarmupTime(),
+ oldPhase.getRate(),
+ oldPhase.getWeights(),
+ oldPhase.isRateLimited(),
+ oldPhase.isDisabled(),
+ oldPhase.isSerial(),
+ oldPhase.isTimed(),
+ optimalThreads,
+ oldPhase.getArrival()
+ );
+ // Replace the phase in the config
+ benchi.getWorkloadConfiguration().getPhases().clear();
+ benchi.getWorkloadConfiguration().getPhases().add(newPhase);
+ benchi.getWorkloadConfiguration().setTerminals(optimalThreads);
+ benchi.getWorkloadConfiguration().setTerminals(optimalThreads);
+ benchi.getWorkloadConfiguration().setIsOptimalThreadsWorkload(false);
+ }
+ xmlConfig.setProperty("terminals", optimalThreads);
+ LOG.info("Using optimal thread count for workload {}: {} (original was: {})",
+ val, optimalThreads, originalTerminals);
+
+ }
+
+ try {
+ Results r = runWorkload(benchList, intervalMonitor, workCount);
+ writeOutputs(r, activeTXTypes, argsLine, xmlConfig,
+ executeRules == null ? null : workloads.get(workCount - 1).getString("workload"),
+ executeRules == null ? null : workloads.get(workCount - 1).getString("customTags", null),
+ executeRules != null && workloads.get(workCount - 1).getBoolean("skipReport", false)
+ );
+ writeHistograms(r);
+
+ boolean checkZeroRows = benchList.get(0).getBenchmarkName().equalsIgnoreCase("featurebench") && (executeRules == null ? true : workloads.get(workCount - 1).getBoolean("zeroRowsValidation", true));
+
+ if(checkZeroRows){
+ checkCompletedTransaction(r);
+ }
+
+ if (argsLine.hasOption("json-histograms")) {
+ String histogram_json = writeJSONHistograms(r);
+ String fileName = argsLine.getOptionValue("json-histograms");
+ FileUtil.writeStringToFile(new File(fileName), histogram_json);
+ LOG.info("Histograms JSON Data: " + fileName);
+ }
+ } catch (Throwable ex) {
+ LOG.error("Unexpected error when executing benchmarks.", ex);
+ System.exit(1);
+ }
+ }
+ }
- // Execute Workload
- if (isBooleanOptionSet(argsLine, "execute")) {
- // Bombs away!
- try {
- Results r = runWorkload(benchList, intervalMonitor);
- writeOutputs(r, activeTXTypes, argsLine, xmlConfig);
- writeHistograms(r);
- if (argsLine.hasOption("json-histograms")) {
- String histogram_json = writeJSONHistograms(r);
- String fileName = argsLine.getOptionValue("json-histograms");
- FileUtil.writeStringToFile(new File(fileName), histogram_json);
- LOG.info("Histograms JSON Data: " + fileName);
+ // Execute Workload
+ else if (isBooleanOptionSet(argsLine, "execute")) {
+ if (executeRules == null) {
+ LOG.info("Starting Workload " + workCount);
+ } else {
+ LOG.info("Starting Workload " + (workloads.get(workCount - 1).containsKey("workload") ? workloads.get(workCount - 1).getString("workload") : workCount));
+ if (xmlConfig.containsKey("optimalThreads") && xmlConfig.getBoolean("optimalThreads")) {
+ String val = workloads.get(workCount - 1).getString("workload");
+ double targetCPU = xmlConfig.getDouble("targetCPU", 80.0);
+ double toleranceCPU = xmlConfig.getDouble("toleranceCPU", 5.0);
+ int samplingTime = xmlConfig.getInt("samplingTime", 0);
+
+ LOG.info("Finding optimal threads for workload: {}", val);
+ LOG.info("First BenchmarkModule: {}", benchList.get(0));
+ LOG.info("targetCPU: {}, toleranceCPU: {}", targetCPU, toleranceCPU);
+
+ // Store original terminal count
+ int originalTerminals = benchList.get(0).getWorkloadConfiguration().getTerminals();
+ LOG.info("Terminal for starting: {}", originalTerminals);
+ String workloadName = executeRules == null ? null : workloads.get(workCount - 1).getString("workload");
+ // Find optimal threads for this workload
+ double scalingMinDeltaPercent = xmlConfig.getDouble("scalingMinDeltaPercent", DEFAULT_SCALING_MIN_DELTA_PERCENT);
+ boolean linearPGthread = xmlConfig.getBoolean("linearPGthread", false);
+ int threadIncrement = xmlConfig.getInt("threadIncrement", 3);
+ int restingTimeSecs = xmlConfig.getInt("restingTimeSecs", 120);
+ int flatMaxScalingSteps = xmlConfig.getInt("flatMaxScalingSteps", DEFAULT_FLAT_MAX_SCALING_STEPS);
+ boolean useThroughputThreshold = xmlConfig.getBoolean("useThroughputThreshold", false);
+ boolean truncateBetweenIterations = xmlConfig.getBoolean("truncateBetweenIterations", false);
+ List iterationCleanupDDLs = xmlConfig.containsKey("microbenchmark/properties/iterationCleanup")
+ ? xmlConfig.getList(String.class, "microbenchmark/properties/iterationCleanup")
+ : (xmlConfig.containsKey("microbenchmark/properties/create")
+ ? xmlConfig.getList(String.class, "microbenchmark/properties/create")
+ : null);
+ int optimalThreads = findOptimalThreadCount(benchList.get(0), terminals, targetCPU, toleranceCPU, workloadName, workCount, samplingTime,
+ scalingMinDeltaPercent, threadIncrement, restingTimeSecs, flatMaxScalingSteps, linearPGthread,
+ useThroughputThreshold, truncateBetweenIterations, iterationCleanupDDLs);
+
+ // Sleep between optimal-threads search and the final measured run so system can stabilize
+ if (restingTimeSecs > 0) {
+ try {
+ LOG.info("Sleeping for {} seconds before the measured run so system can stabilize", restingTimeSecs);
+ Thread.sleep(restingTimeSecs * 1000L);
+ } catch (InterruptedException e) {
+ LOG.error("Error sleeping", e);
+ }
+ }
+
+ // Update the configuration with optimal thread count
+ for (BenchmarkModule benchi : benchList) {
+ Phase oldPhase = benchi.getWorkloadConfiguration().getPhases().get(0);
+ Phase newPhase = new Phase(
+ // Use the correct constructor arguments for Phase
+ "FEATUREBENCH",
+ oldPhase.getId(),
+ oldPhase.getTime(),
+ oldPhase.getWarmupTime(),
+ oldPhase.getRate(),
+ oldPhase.getWeights(),
+ oldPhase.isRateLimited(),
+ oldPhase.isDisabled(),
+ oldPhase.isSerial(),
+ oldPhase.isTimed(),
+ optimalThreads,
+ oldPhase.getArrival()
+ );
+ // Replace the phase in the config
+ benchi.getWorkloadConfiguration().getPhases().clear();
+ benchi.getWorkloadConfiguration().getPhases().add(newPhase);
+ benchi.getWorkloadConfiguration().setTerminals(optimalThreads);
+ benchi.getWorkloadConfiguration().setTerminals(optimalThreads);
+ benchi.getWorkloadConfiguration().setIsOptimalThreadsWorkload(false);
+ }
+ // Update the configuration with optimal thread count
+ xmlConfig.setProperty("terminals", optimalThreads);
+
+ LOG.info("Using optimal thread count for workload {}: {} (original was: {})",
+ val, optimalThreads, originalTerminals);
+ }
+ }
+ // Bombs away!
+ try {
+ Results r = runWorkload(benchList, intervalMonitor, workCount);
+ // if block currently only valid for bulkload experiments
+ if(xmlConfig.containsKey("microbenchmark/properties/workload")) {
+ writeOutputs(r, activeTXTypes, argsLine, xmlConfig,
+ xmlConfig.getString("microbenchmark/properties/workload"), null,false);
+ }
+ else {
+ writeOutputs(r, activeTXTypes, argsLine, xmlConfig,
+ executeRules == null ? null : workloads.get(workCount - 1).getString("workload"),
+ executeRules == null ? null : workloads.get(workCount - 1).getString("customTags", null),
+ executeRules != null && workloads.get(workCount - 1).getBoolean("skipReport", false));
+ }
+ writeHistograms(r);
+
+ boolean checkZeroRows = benchList.get(0).getBenchmarkName().equalsIgnoreCase("featurebench") && (executeRules == null ? true : workloads.get(workCount - 1).getBoolean("zeroRowsValidation", true));
+
+ if(checkZeroRows){
+ checkCompletedTransaction(r);
+ }
+
+ if (argsLine.hasOption("json-histograms")) {
+ String histogram_json = writeJSONHistograms(r);
+ String fileName = argsLine.getOptionValue("json-histograms");
+ FileUtil.writeStringToFile(new File(fileName), histogram_json);
+ LOG.info("Histograms JSON Data: " + fileName);
+ }
+ } catch (Throwable ex) {
+ LOG.error("Unexpected error when executing benchmarks.", ex);
+ System.exit(1);
+ }
+
+ } else {
+ LOG.info("Skipping benchmark workload execution");
}
- } catch (Throwable ex) {
- LOG.error("Unexpected error when executing benchmarks.", ex);
- System.exit(1);
+ benchList.clear();
+ wrkld.clearPhase();
+ activeTXTypes.clear();
}
- } else {
- LOG.info("Skipping benchmark workload execution");
+ if (argsLine.hasOption("cleanup") && isBooleanOptionSet(argsLine, "cleanup")) {
+ for (BenchmarkModule benchmarkModule : copyBenchList) {
+ if (xmlConfig.containsKey("microbenchmark/properties/cleanup")) {
+ List ddls = xmlConfig.getList(String.class, "microbenchmark/properties/cleanup");
+ try {
+ Statement stmtObj = benchmarkModule.makeConnection().createStatement();
+ for (String ddl : ddls) {
+ stmtObj.execute(ddl);
+ }
+ LOG.info("\n=================Cleanup Phase taking from Yaml=========\n");
+ stmtObj.close();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+ else {
+ LOG.info("No cleanup phase mentioned in YAML, but flag provided in run! ");
+ }
+ }
+ }
}
}
@@ -493,21 +965,32 @@ private static Options buildOptions(XMLConfiguration pluginConfig) {
options.addOption("d", "directory", true, "Base directory for the result files, default is current directory");
options.addOption(null, "dialects-export", true, "Export benchmark SQL to a dialects file");
options.addOption("jh", "json-histograms", true, "Export histograms to JSON file");
+ options.addOption("workloads", "workloads", true, "Run some specific workloads");
+ options.addOption("p", "params", true, "Use variables through CLI for YAML");
+ options.addOption(null, "cleanup", true, "Clean up the database");
return options;
}
private static XMLConfiguration buildConfiguration(String filename) throws ConfigurationException {
Parameters params = new Parameters();
- FileBasedConfigurationBuilder builder = new FileBasedConfigurationBuilder<>(XMLConfiguration.class)
- .configure(params.xml()
- .setFileName(filename)
- .setListDelimiterHandler(new DisabledListDelimiterHandler())
- .setExpressionEngine(new XPathExpressionEngine()));
+ FileBasedConfigurationBuilder builder = new FileBasedConfigurationBuilder<>(XMLConfiguration.class).configure(params.xml().setFileName(filename).setListDelimiterHandler(new DisabledListDelimiterHandler()).setExpressionEngine(new XPathExpressionEngine()));
return builder.getConfiguration();
}
+ private static XMLConfiguration buildConfigurationFromYaml(String filename) throws ConfigurationException {
+
+ Parameters params = new Parameters();
+ FileBasedConfigurationBuilder builder = new FileBasedConfigurationBuilder<>(YAMLConfiguration.class).configure(params.hierarchical().setFileName(filename).setListDelimiterHandler(new DisabledListDelimiterHandler()).setExpressionEngine(new XPathExpressionEngine()));
+
+ XMLConfiguration conf = new XMLConfiguration(builder.getConfiguration());
+ conf.setListDelimiterHandler(new DisabledListDelimiterHandler());
+ conf.setExpressionEngine(new XPathExpressionEngine());
+ return conf;
+
+ }
+
private static void writeHistograms(Results r) {
StringBuilder sb = new StringBuilder();
sb.append("\n");
@@ -524,6 +1007,7 @@ private static void writeHistograms(Results r) {
sb.append(StringUtil.bold("Unknown Status Transactions:")).append("\n").append(r.getUnknown()).append("\n\n");
+ sb.append(StringUtil.bold("Zero Rows Transactions:")).append("\n").append(r.getZeroRows()).append("\n\n");
if (!r.getAbortMessages().isEmpty()) {
sb.append("\n\n").append(StringUtil.bold("User Aborts:")).append("\n").append(r.getAbortMessages());
}
@@ -551,22 +1035,29 @@ private static String writeJSONHistograms(Results r) {
* @param xmlConfig
* @throws Exception
*/
- private static void writeOutputs(Results r, List activeTXTypes, CommandLine argsLine, XMLConfiguration xmlConfig) throws Exception {
+ private static void writeOutputs(Results r, List activeTXTypes, CommandLine argsLine,
+ XMLConfiguration xmlConfig, String workload_name,
+ String customTags,Boolean skipReport) throws Exception {
// If an output directory is used, store the information
String outputDirectory = "results";
+ String filePathForOutputJson = "results/output.json";
+ Map> workloadToSummaryMap = new TreeMap<>();
+
if (argsLine.hasOption("d")) {
outputDirectory = argsLine.getOptionValue("d");
}
-
+ if (activeTXTypes.get(0).getName().equalsIgnoreCase("featurebench")) {
+ outputDirectory = outputDirectory + "/" + (workload_name == null ? TimeUtil.getCurrentTimeString() : (workload_name + "/" + TimeUtil.getCurrentTimeString()));
+ }
FileUtil.makeDirIfNotExists(outputDirectory);
ResultWriter rw = new ResultWriter(r, xmlConfig, argsLine);
String name = StringUtils.join(StringUtils.split(argsLine.getOptionValue("b"), ','), '-');
- String baseFileName = name + "_" + TimeUtil.getCurrentTimeString();
+ String baseFileName = name;
int windowSize = Integer.parseInt(argsLine.getOptionValue("s", "5"));
@@ -602,10 +1093,39 @@ private static void writeOutputs(Results r, List activeTXTypes,
}
}
- String configFileName = baseFileName + ".config.xml";
- try (PrintStream ps = new PrintStream(FileUtil.joinPath(outputDirectory, configFileName))) {
- LOG.info("Output benchmark config into file: {}", configFileName);
- rw.writeConfig(ps);
+ if (name.equalsIgnoreCase("featurebench")) {
+ String configFileName = baseFileName + ".config.yaml";
+ try (PrintStream ps = new PrintStream(FileUtil.joinPath(outputDirectory, configFileName))) {
+ LOG.info("Output benchmark config into file: {}", configFileName);
+ rw.writeYamlConfig(ps);
+ }
+ String fbDetailedFileName = baseFileName + ".detailed.json";
+ try (PrintStream ps = new PrintStream(FileUtil.joinPath(outputDirectory, fbDetailedFileName))) {
+ LOG.info("Output detailed summary into file: {}", fbDetailedFileName);
+ File file = new File(filePathForOutputJson);
+ if (file.exists()) {
+ ObjectMapper mapper = new ObjectMapper(new JsonFactory());
+ workloadToSummaryMap.putAll(mapper.readValue(file, TreeMap.class));
+ }
+ if(workload_name == null || workload_name.isEmpty())
+ workload_name = baseFileName;
+ workloadToSummaryMap.put(workload_name, rw.writeDetailedSummary(ps, customTags, skipReport, workload_name));
+
+ try {
+ FileWriter writer = new FileWriter(filePathForOutputJson);
+ writer.write(JSONUtil.format(JSONUtil.toJSONString(workloadToSummaryMap)));
+ writer.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+ } else {
+ String configFileName = baseFileName + ".config.xml";
+ try (PrintStream ps = new PrintStream(FileUtil.joinPath(outputDirectory, configFileName))) {
+ LOG.info("Output benchmark config into file: {}", configFileName);
+ rw.writeConfig(ps);
+ }
}
String resultsFileName = baseFileName + ".results.csv";
@@ -613,11 +1133,19 @@ private static void writeOutputs(Results r, List activeTXTypes,
LOG.info("Output results into file: {} with window size {}", resultsFileName, windowSize);
rw.writeResults(windowSize, ps);
}
-
- for (TransactionType t : activeTXTypes) {
- String fileName = baseFileName + ".results." + t.getName() + ".csv";
- try (PrintStream ps = new PrintStream(FileUtil.joinPath(outputDirectory, fileName))) {
- rw.writeResults(windowSize, ps, t);
+ if (name.equalsIgnoreCase("featurebench")) {
+ for (TransactionType t : activeTXTypes) {
+ String fileName = baseFileName + ".results." + t.getTransactionName() + ".csv";
+ try (PrintStream ps = new PrintStream(FileUtil.joinPath(outputDirectory, fileName))) {
+ rw.writeResults(windowSize, ps, t);
+ }
+ }
+ } else {
+ for (TransactionType t : activeTXTypes) {
+ String fileName = baseFileName + ".results." + t.getName() + ".csv";
+ try (PrintStream ps = new PrintStream(FileUtil.joinPath(outputDirectory, fileName))) {
+ rw.writeResults(windowSize, ps, t);
+ }
}
}
@@ -628,17 +1156,86 @@ private static void runCreator(BenchmarkModule bench) throws SQLException, IOExc
bench.createDatabase();
}
+ private static String runCreatorDB(BenchmarkModule benchmark, String totalDDL,
+ boolean analyze_on_all_tables) throws SQLException {
+ Statement stmtObj = benchmark.makeConnection().createStatement();
+ stmtObj.execute(totalDDL);
+ Pattern patternCreateDB = Pattern.compile("create database (.+?) ", Pattern.CASE_INSENSITIVE);
+ Matcher matcherCreateDB = patternCreateDB.matcher(totalDDL);
+ boolean matchFoundforcreate = matcherCreateDB.find();
+ String createDDL = matcherCreateDB.group(0);
+ String pattern = "database\\s(\\w+)\\s";
+ Pattern db = Pattern.compile(pattern);
+ Matcher m = db.matcher(createDDL);
+ String dbName = "";
+ if (m.find()) {
+ dbName = m.group(1);
+ } else {
+ LOG.warn("Incorrect DDL for create database");
+ }
+ String url = benchmark.getWorkloadConfiguration().getUrl();
+ String[] pieces = url.split("\\?", 10);
+ Pattern p = Pattern.compile("[a-zA-Z_]+$", Pattern.CASE_INSENSITIVE);
+ Matcher matcher = p.matcher(pieces[0]);
+ boolean matchFound = matcher.find();
+ if (matchFound) {
+ LOG.info(matcher.group(0));
+ } else {
+ LOG.info("No match!");
+ }
+ if (analyze_on_all_tables) {
+ stmtObj.execute(String.format("ALTER DATABASE %s SET yb_enable_optimizer_statistics to true;", dbName));
+ }
+ int index = url.indexOf(matcher.group(0), url.indexOf(matcher.group(0)) + 1);
+ String newUrl = url.substring(0, index) + dbName + url.substring(index + matcher.group(0).length());
+ stmtObj.close();
+ return newUrl;
+ }
+
+ private static String getNewUrl(BenchmarkModule benchmark, String totalDDL) throws SQLException {
+ Pattern patternCreateDB = Pattern.compile("create database (.+?) ", Pattern.CASE_INSENSITIVE);
+ Matcher matcherCreateDB = patternCreateDB.matcher(totalDDL);
+ boolean matchFoundforcreate = matcherCreateDB.find();
+ String createDDL = matcherCreateDB.group(0);
+ String pattern = "database\\s(\\w+)\\s";
+ Pattern db = Pattern.compile(pattern);
+ Matcher m = db.matcher(createDDL);
+ String dbName = "";
+ if (m.find()) {
+ dbName = m.group(1);
+ } else {
+ LOG.warn("Incorrect DDL for create database");
+ }
+ String url = benchmark.getWorkloadConfiguration().getUrl();
+ String[] pieces = url.split("\\?", 10);
+ Pattern p = Pattern.compile("[a-zA-Z0-9]+$", Pattern.CASE_INSENSITIVE);
+ Matcher matcher = p.matcher(pieces[0]);
+ boolean matchFound = matcher.find();
+ if (matchFound) {
+ LOG.info(matcher.group(0));
+ } else {
+ LOG.info("No match!");
+ }
+ int index = url.indexOf(matcher.group(0), url.indexOf(matcher.group(0)) + 1);
+ return url.substring(0, index) + dbName + url.substring(index + matcher.group(0).length());
+ }
+
private static void runLoader(BenchmarkModule bench) throws SQLException, InterruptedException {
LOG.debug(String.format("Loading %s Database", bench));
bench.loadDatabase();
}
- private static Results runWorkload(List benchList, int intervalMonitor) throws IOException {
+ private static Results runWorkload(List benchList, int intervalMonitor, int workcount) throws IOException {
List> workers = new ArrayList<>();
List workConfs = new ArrayList<>();
for (BenchmarkModule bench : benchList) {
LOG.info("Creating {} virtual terminals...", bench.getWorkloadConfiguration().getTerminals());
- workers.addAll(bench.makeWorkers());
+ if (bench.getBenchmarkName().equalsIgnoreCase("featurebench")) {
+ workers.addAll(bench.makeWorkers(workcount));
+ } else {
+ workers.addAll(bench.makeWorkers());
+ }
+
int num_phases = bench.getWorkloadConfiguration().getNumberOfPhases();
LOG.info(String.format("Launching the %s Benchmark with %s Phase%s...", bench.getBenchmarkName().toUpperCase(), num_phases, (num_phases > 1 ? "s" : "")));
@@ -673,4 +1270,786 @@ private static boolean isBooleanOptionSet(CommandLine argsLine, String key) {
}
return (false);
}
+ private static String replaceParametersInYaml(String[] params, String file) throws IOException {
+
+ Map context = new HashMap<>();
+ JinjavaConfig jc = JinjavaConfig.newBuilder().withFailOnUnknownTokens(true).build();
+ Jinjava jinjava = new Jinjava(jc);
+
+ int index;
+ for (String var : params) {
+ index = var.indexOf('=');
+ context.put(var.substring(0, index), var.substring(index + 1));
+ }
+
+ String configFilename = file.substring(file.lastIndexOf("/") + 1);
+ InputStream inputStream = new FileInputStream(file);
+ assert inputStream != null;
+ BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
+ String template = reader.lines().collect(Collectors.joining(System.lineSeparator()));
+
+ RenderResult renderResult = jinjava.renderForResult(template, context);
+ if (renderResult.getErrors().isEmpty()) {
+
+ String newYaml = jinjava.render(template, context);
+ String newPath = Paths.get("").toAbsolutePath() + "/temp_input.yaml";
+ File newfile = new File(newPath);
+
+ if (!newfile.exists()) {
+ newfile.createNewFile();
+ }
+
+ FileWriter fw = new FileWriter(newfile);
+ BufferedWriter bw = new BufferedWriter(fw);
+ bw.write(newYaml);
+ bw.close();
+ return newPath;
+
+ } else {
+ throw new IllegalArgumentException(renderResult.getErrors().stream()
+ .map(Object::toString)
+ .collect(Collectors.joining(",")));
+ }
+ }
+
+ public static void enableOptimizerStatistics(BenchmarkModule benchmark) throws SQLException {
+ String url = benchmark.getWorkloadConfiguration().getUrl();
+ String[] pieces = url.split("\\?", 10);
+ Pattern p = Pattern.compile("[a-zA-Z0-9]+$", Pattern.CASE_INSENSITIVE);
+ Matcher matcher = p.matcher(pieces[0]);
+ boolean matchFound = matcher.find();
+ if (matchFound) {
+ String databaseName = matcher.group(0);
+ Statement stmtObj = benchmark.makeConnection().createStatement();
+ stmtObj.execute(String.format("ALTER DATABASE %s SET yb_enable_optimizer_statistics to true;", databaseName));
+ } else {
+ LOG.info("No match!");
+ }
+
+ }
+
+ // Returns a list of CPU utilizations (percent) for all nodes
+ private static List getYBCPUUtilizationAllNodes(BenchmarkModule bench) throws SQLException {
+ List cpuList = new ArrayList<>();
+ Connection conn = null;
+ Statement stmt = null;
+ ResultSet rs = null;
+ try {
+ conn = bench.makeConnection();
+ stmt = conn.createStatement();
+ rs = stmt.executeQuery("select uuid, metrics, status, error from yb_servers_metrics() ORDER BY uuid ;");
+ while (rs.next()) {
+ String metricsJson = rs.getString("metrics");
+ try {
+ ObjectMapper mapper = new ObjectMapper();
+ JsonNode rootNode = mapper.readTree(metricsJson);
+ double cpuUser = 0.0, cpuSystem = 0.0;
+ if (rootNode.has("cpu_usage_user")) {
+ cpuUser = Double.parseDouble(rootNode.get("cpu_usage_user").asText());
+ }
+ if (rootNode.has("cpu_usage_system")) {
+ cpuSystem = Double.parseDouble(rootNode.get("cpu_usage_system").asText());
+ }
+ double totalCPU = (cpuUser + cpuSystem) * 100.0; // percent
+ cpuList.add(totalCPU);
+ } catch (JsonProcessingException | NumberFormatException e) {
+ LOG.error("Error parsing metrics JSON", e);
+ }
+ }
+ } catch (SQLException e) {
+ LOG.error("Error getting YugabyteDB metrics", e);
+ } finally {
+ if (rs != null) {
+ rs.close();
+ }
+ if (stmt != null) {
+ stmt.close();
+ }
+ if (conn != null) {
+ conn.close();
+ }
+ }
+ return cpuList;
+ }
+
+ // Test CloudWatch connectivity
+ private static boolean testCloudWatchConnectivity(String awsRegion) {
+ try {
+ CloudWatchClient testClient = CloudWatchClient.builder()
+ .region(Region.of(awsRegion))
+ .credentialsProvider(DefaultCredentialsProvider.create())
+ .overrideConfiguration(ClientOverrideConfiguration.builder()
+ .apiCallTimeout(Duration.ofSeconds(10))
+ .build())
+ .build();
+
+ // Simple test call to list metrics (this should work with basic permissions)
+ ListMetricsRequest testRequest = ListMetricsRequest.builder()
+ .namespace("AWS/RDS")
+ .build();
+
+ testClient.listMetrics(testRequest);
+ testClient.close();
+ LOG.info("CloudWatch connectivity test successful for region: {}", awsRegion);
+ return true;
+ } catch (Exception e) {
+ LOG.warn("CloudWatch connectivity test failed for region {}: {}", awsRegion, e.getMessage());
+ return false;
+ }
+ }
+
+ // Returns CPU utilization for RDS PostgreSQL instance via CloudWatch
+ private static double getRDSCPUUtilization(String dbInstanceIdentifier, String awsRegion) {
+ double cpuUtilization = 0.0;
+ CloudWatchClient cloudWatchClient = null;
+
+ try {
+ // Configure client override settings with timeouts and retries
+ ClientOverrideConfiguration clientConfig = ClientOverrideConfiguration.builder()
+ .apiCallTimeout(Duration.ofSeconds(60))
+ .apiCallAttemptTimeout(Duration.ofSeconds(30))
+ .retryPolicy(RetryPolicy.builder()
+ .numRetries(3)
+ .build())
+ .build();
+
+ // Build CloudWatch client with explicit configuration
+ cloudWatchClient = CloudWatchClient.builder()
+ .region(Region.of(awsRegion))
+ .credentialsProvider(DefaultCredentialsProvider.create())
+ .overrideConfiguration(clientConfig)
+ .build();
+
+ Instant endTime = Instant.now();
+ Instant startTime = endTime.minusSeconds(240); // 5 minutes ago
+
+ Dimension dbInstanceDimension = Dimension.builder()
+ .name("DBInstanceIdentifier")
+ .value(dbInstanceIdentifier)
+ .build();
+
+ GetMetricStatisticsRequest request = GetMetricStatisticsRequest.builder()
+ .namespace("AWS/RDS")
+ .metricName("CPUUtilization")
+ .dimensions(dbInstanceDimension)
+ .startTime(startTime)
+ .endTime(endTime)
+ .period(60) // 1 minute periods
+ .statistics(Statistic.AVERAGE)
+ .build();
+
+ GetMetricStatisticsResponse response = cloudWatchClient.getMetricStatistics(request);
+
+ if (response.datapoints().size() > 0) {
+ // Get the most recent datapoint
+ Datapoint latestDatapoint = response.datapoints().stream()
+ .max((d1, d2) -> d1.timestamp().compareTo(d2.timestamp()))
+ .orElse(null);
+
+ if (latestDatapoint != null) {
+ cpuUtilization = latestDatapoint.average();
+ LOG.info("RDS CPU Utilization: {}%", cpuUtilization);
+ }
+ } else {
+ LOG.warn("No CPU utilization data found for RDS instance: {}", dbInstanceIdentifier);
+ }
+
+ } catch (software.amazon.awssdk.core.exception.SdkClientException e) {
+ if (e.getCause() instanceof java.net.UnknownHostException) {
+ LOG.error("DNS resolution failed for CloudWatch endpoint. Check network connectivity and DNS configuration. Region: {}, Instance: {}", awsRegion, dbInstanceIdentifier);
+ LOG.error("Consider checking: 1) Internet connectivity, 2) DNS settings, 3) VPC configuration if running in private subnet");
+ } else {
+ LOG.error("AWS SDK error getting RDS CPU utilization from CloudWatch: {}", e.getMessage());
+ }
+ } catch (software.amazon.awssdk.services.cloudwatch.model.CloudWatchException e) {
+ LOG.error("CloudWatch service error: {}. Check permissions and RDS instance identifier.", e.awsErrorDetails().errorMessage());
+ } catch (Exception e) {
+ LOG.error("Unexpected error getting RDS CPU utilization from CloudWatch", e);
+ } finally {
+ if (cloudWatchClient != null) {
+ try {
+ cloudWatchClient.close();
+ } catch (Exception e) {
+ LOG.warn("Error closing CloudWatch client: {}", e.getMessage());
+ }
+ }
+ }
+ return cpuUtilization;
+ }
+
+ // Detects if we're running against YugabyteDB vs RDS PostgreSQL
+ private static boolean isYugabyteDB(BenchmarkModule bench) {
+ try (Connection conn = bench.makeConnection();
+ Statement stmt = conn.createStatement()) {
+
+ // Try to execute YugabyteDB-specific function
+ try (ResultSet rs = stmt.executeQuery("SELECT version()")) {
+ if (rs.next()) {
+ String version = rs.getString(1).toLowerCase();
+ return version.contains("yugabyte");
+ }
+ }
+ } catch (SQLException e) {
+ LOG.debug("Error checking database type", e);
+ }
+ return false;
+ }
+
+ // Extracts RDS instance identifier from JDBC URL
+ private static String extractRDSInstanceIdentifier(String jdbcUrl) {
+ // Example URL: jdbc:postgresql://mydb.cluster-xyz.us-east-1.rds.amazonaws.com:5432/postgres
+ // Extract the part before the first dot as instance identifier
+ try {
+ String url = jdbcUrl.replace("jdbc:postgresql://", "");
+ if (url.contains(".rds.amazonaws.com")) {
+ String hostname = url.split(":")[0];
+ return hostname.split("\\.")[0];
+ }
+ } catch (Exception e) {
+ LOG.error("Error extracting RDS instance identifier from URL: {}", jdbcUrl, e);
+ }
+ return null;
+ }
+
+ // Extracts AWS region from JDBC URL
+ private static String extractAWSRegion(String jdbcUrl) {
+ // Example URL: jdbc:postgresql://mydb.cluster-xyz.us-east-1.rds.amazonaws.com:5432/postgres
+ try {
+ String url = jdbcUrl.replace("jdbc:postgresql://", "");
+ if (url.contains(".rds.amazonaws.com")) {
+ String hostname = url.split(":")[0];
+
+ // Find the string between the last dot and ".rds.amazonaws.com"
+ int rdsIndex = hostname.indexOf(".rds.amazonaws.com");
+ if (rdsIndex > 0) {
+ String beforeRds = hostname.substring(0, rdsIndex);
+ int lastDotIndex = beforeRds.lastIndexOf(".");
+ if (lastDotIndex >= 0) {
+ return beforeRds.substring(lastDotIndex + 1);
+ }
+ }
+ }
+ } catch (Exception e) {
+ LOG.error("Error extracting AWS region from URL: {}", jdbcUrl, e);
+ }
+ return "us-east-1"; // Default region
+ }
+
+ /**
+ * Default number of consecutive thread up-scales with insufficient metric increase
+ * (CPU or throughput, depending on mode) before we confirm a plateau and stop the search.
+ * The counter resets to zero as soon as any single up-scale produces a delta ≥
+ * {@code scalingMinDeltaPercent}, so a single noisy sample early in the sweep no longer
+ * poisons the result. Can be overridden via the YAML config key {@code flatMaxScalingSteps}.
+ */
+ private static final int DEFAULT_FLAT_MAX_SCALING_STEPS = 2;
+
+ /**
+ * Default minimum delta percentage for a scaling step to be considered non-flat.
+ * In CPU mode this is an absolute percentage-point increase in CPU utilization;
+ * in throughput mode it is a relative percentage increase in req/s.
+ * Can be overridden via the YAML config key {@code scalingMinDeltaPercent}.
+ */
+ private static final double DEFAULT_SCALING_MIN_DELTA_PERCENT = 5.0;
+
+ private static int findOptimalThreadCount(BenchmarkModule bench, int terminals, double targetCPU, double toleranceCPU, String workloadName, int workCount, int samplingTime,
+ double scalingMinDeltaPercent, int threadIncrement, int restingTimeSecs, int flatMaxScalingSteps, boolean linearPGthread,
+ boolean useThroughputThreshold, boolean truncateBetweenIterations, List iterationCleanupDDLs) throws InterruptedException {
+ double minTargetCPU = targetCPU - toleranceCPU;
+ double maxTargetCPU = targetCPU + toleranceCPU;
+ LOG.info("minTargetCPU: {}, maxTargetCPU: {}", minTargetCPU, maxTargetCPU);
+ int interval_gap = 5;
+ ObjectMapper mapper = new ObjectMapper();
+ // Prepare for logging
+ String outputDir = "results/" + workloadName;
+ String logFile = outputDir + "/optimal_threads_log.csv";
+ String jsonFile = outputDir + "/optimal_threads_log.json";
+ try {
+ Files.createDirectories(Paths.get(outputDir));
+ // Write header if file does not exist
+ if (!Files.exists(Paths.get(logFile))) {
+ StringBuilder header = new StringBuilder("threads");
+ for (int i = 1; i <= 3; i++) header.append(",reading" + i);
+ header.append(",");
+ header.append("max_per_node,max_cpu\n");
+ Files.write(Paths.get(logFile), header.toString().getBytes());
+ }
+ } catch (Exception e) {
+ LOG.error("Error creating log directory or file", e);
+ }
+
+
+ int threads = terminals;
+ int max_iterations = 50;
+ int optimalThreads = threads;
+ List> jsonResults = new ArrayList<>();
+ Map threadCpuMap = new HashMap<>();
+ Double cpuAtPreviousScalingStep = null;
+ // Thread count from the previous scaling iteration to be used if flatCPU confirmed
+ Integer threadsAtPreviousScalingStep = null;
+ int consecutiveFlatCpuSteps = 0;
+ int flatRunStartThreads = 0;
+ boolean flatCpuDetected = false;
+ double bestThroughput = 0;
+ int bestThroughputThreads = threads;
+ int consecutiveFlatThroughputSteps = 0;
+ boolean flatThroughputDetected = false;
+ Map threadThroughputMap = new HashMap<>();
+ if (useThroughputThreshold) {
+ LOG.info("Throughput threshold mode ENABLED: will grow threads until throughput plateaus "
+ + "(scalingMinDeltaPercent={}%, flatMaxScalingSteps={})",
+ scalingMinDeltaPercent, flatMaxScalingSteps);
+ } else {
+ LOG.info("CPU threshold mode: scalingMinDeltaPercent={}, flatMaxScalingSteps={}",
+ scalingMinDeltaPercent, flatMaxScalingSteps);
+ }
+
+ // Detect database type and prepare RDS monitoring if needed
+ boolean isYugabyteDatabase = isYugabyteDB(bench);
+ String rdsInstanceIdentifier = null;
+ String awsRegion = null;
+
+ if (isYugabyteDatabase) {
+ threads = terminals < 3 ? 3 : terminals;
+ }
+
+ if (!isYugabyteDatabase) {
+ // Extract RDS instance details from connection URL
+ String jdbcUrl = bench.getWorkloadConfiguration().getUrl();
+ rdsInstanceIdentifier = extractRDSInstanceIdentifier(jdbcUrl);
+ awsRegion = extractAWSRegion(jdbcUrl);
+ LOG.info("Detected RDS PostgreSQL. Instance: {}, Region: {}", rdsInstanceIdentifier, awsRegion);
+
+ if (rdsInstanceIdentifier == null) {
+ LOG.error("Could not extract RDS instance identifier from URL: {}", jdbcUrl);
+ return optimalThreads;
+ }
+
+ // Check if CloudWatch monitoring should be skipped
+ String skipCloudWatch = System.getProperty("benchbase.skip.cloudwatch", "false");
+ if ("true".equalsIgnoreCase(skipCloudWatch)) {
+ LOG.info("CloudWatch monitoring disabled via system property. Using default thread count.");
+ return optimalThreads;
+ }
+
+ // Test CloudWatch connectivity before proceeding
+ if (!testCloudWatchConnectivity(awsRegion)) {
+ LOG.warn("CloudWatch connectivity test failed. Consider using -Dbenchbase.skip.cloudwatch=true to disable CloudWatch monitoring.");
+ LOG.info("Proceeding with monitoring but expect potential failures...");
+ }
+ } else {
+ LOG.info("Detected YugabyteDB database");
+ }
+
+ // Store original phase
+ Phase originalPhase = bench.getWorkloadConfiguration().getPhases().get(0);
+ Phase createOriginalPhase = new Phase(
+ "FEATUREBENCH",
+ originalPhase.getId(),
+ originalPhase.getTime(),
+ originalPhase.getWarmupTime(),
+ originalPhase.getRate(),
+ originalPhase.getWeights(),
+ originalPhase.isRateLimited(),
+ originalPhase.isDisabled(),
+ originalPhase.isSerial(),
+ originalPhase.isTimed(),
+ originalPhase.getActiveTerminals(),
+ originalPhase.getArrival()
+ );
+
+ for(int iter=0; iter 0) {
+ LOG.info("Sleeping for {} seconds between iterations so that system is stable again", restingTimeSecs);
+ Thread.sleep(restingTimeSecs * 1000L);
+ }
+
+
+ LOG.info("Finding optimal threads.... iteration_no. {}, current_threads: {}", iter, threads);
+ Phase oldPhase = bench.getWorkloadConfiguration().getPhases().get(0);
+ int totalTime = samplingTime != 0 ? samplingTime : oldPhase.getTime() + oldPhase.getWarmupTime();
+ Phase newPhase = new Phase(
+ "FEATUREBENCH",
+ oldPhase.getId(),
+ totalTime,
+ 0,
+ oldPhase.getRate(),
+ oldPhase.getWeights(),
+ oldPhase.isRateLimited(),
+ oldPhase.isDisabled(),
+ oldPhase.isSerial(),
+ oldPhase.isTimed(),
+ threads, // <-- set to your thread count
+ oldPhase.getArrival()
+ );
+ // Replace the phase in the config
+ bench.getWorkloadConfiguration().getPhases().clear();
+ bench.getWorkloadConfiguration().getPhases().add(newPhase);
+ bench.getWorkloadConfiguration().setTerminals(threads);
+ bench.getWorkloadConfiguration().setIsOptimalThreadsWorkload(true);
+
+ double avgMaxCPU = 0.0;
+ List> allNodeReadings = new ArrayList<>();
+ try {
+ // Get the current phase (assume first phase for test)
+ List phases = bench.getWorkloadConfiguration().getPhases();
+ if (phases.isEmpty()) {
+ LOG.error("No phases found in workload configuration");
+ break;
+ }
+ final Results[] iterationResults = new Results[1];
+ Thread workloadThread = new Thread(() -> {
+ try {
+ iterationResults[0] = runWorkload(Collections.singletonList(bench), 0, workCount);
+ } catch (Exception e) {
+ LOG.error("Error running workload for thread test", e);
+ throw new RuntimeException(e);
+ }
+ });
+ workloadThread.start();
+
+ // Wait for measurement phase to actually start. Bound the wait so we don't hang forever if the workload thread dies before reaching MEASURE.
+ final long measureWaitTimeoutMs = totalTime * 1000L + 120_000L;
+ final long measureWaitStart = System.currentTimeMillis();
+ WorkloadState workloadState = bench.getWorkloadConfiguration().getWorkloadState();
+
+ while (workloadState == null || workloadState.getBenchmarkState().getState() != State.MEASURE) {
+ if (!workloadThread.isAlive()) {
+ throw new RuntimeException(
+ "Workload thread died before reaching MEASURE state (threads=" + threads + ")");
+ }
+ if (System.currentTimeMillis() - measureWaitStart > measureWaitTimeoutMs) {
+ throw new RuntimeException(
+ "Timed out waiting for MEASURE state after "
+ + (measureWaitTimeoutMs / 1000) + "s (threads=" + threads + ")");
+ }
+ Thread.sleep(2000);
+ workloadState = bench.getWorkloadConfiguration().getWorkloadState();
+ }
+ LOG.info("Connection established. Sleeping for 3/4 of total time...");
+ Thread.sleep((long)(totalTime * 0.75 * 1000));
+ LOG.info("Starting CPU collection...");
+
+
+ if (isYugabyteDatabase) {
+ // YugabyteDB monitoring - multiple nodes
+ for (int i = 0; i < 3; i++) {
+ List nodeReadings = getYBCPUUtilizationAllNodes(bench);
+ LOG.info("YB CPU Reading {}: {}", i+1, nodeReadings);
+ allNodeReadings.add(nodeReadings);
+ Thread.sleep(interval_gap * 1000);
+ }
+
+ // For each node, find the max of its 3 readings
+ int numNodes = allNodeReadings.get(0).size();
+ List perNodeValues = new ArrayList<>();
+ for (int nodeIdx = 0; nodeIdx < numNodes; nodeIdx++) {
+ double minPerNode = Math.min(allNodeReadings.get(0).get(nodeIdx),
+ Math.min(allNodeReadings.get(1).get(nodeIdx),
+ allNodeReadings.get(2).get(nodeIdx)));
+ perNodeValues.add(minPerNode);
+ LOG.info("YB Node {} min CPU: {}", nodeIdx+1, minPerNode);
+ }
+ avgMaxCPU = perNodeValues.stream().mapToDouble(Double::doubleValue).max().orElse(0.0);
+ LOG.info("YB Node max CPU utilizations: {}", avgMaxCPU);
+ } else {
+ // RDS PostgreSQL monitoring - single instance
+ List rdsReadings = new ArrayList<>();
+
+ // Sleep for 1 minute so that RDS CPU utilization is updated
+ Thread.sleep(60 * 1000);
+
+ for (int i = 0; i < 3; i++) {
+ double cpuReading = getRDSCPUUtilization(rdsInstanceIdentifier, awsRegion);
+ rdsReadings.add(cpuReading);
+ LOG.info("RDS CPU Reading {}: {}%", i+1, cpuReading);
+
+ // If first reading fails, warn about CloudWatch availability
+ if (i == 0 && cpuReading == 0.0) {
+ LOG.warn("CloudWatch monitoring appears unavailable. Consider running with fixed thread count or check network connectivity.");
+ }
+
+ if (i < 2) { // Don't sleep after last iteration
+ Thread.sleep(interval_gap * 1000);
+ }
+ }
+
+ // For RDS, we treat it as a single node
+ allNodeReadings.add(rdsReadings);
+ avgMaxCPU = rdsReadings.stream().mapToDouble(Double::doubleValue).max().orElse(0.0);
+ LOG.info("RDS max CPU utilization: {}%", avgMaxCPU);
+ }
+
+ // Write to log file
+ StringBuilder logLine = new StringBuilder();
+ logLine.append(threads);
+
+ if (isYugabyteDatabase) {
+ // YugabyteDB - multiple readings from multiple nodes
+ for (int i = 0; i < 3; i++) {
+ logLine.append(",");
+ logLine.append(allNodeReadings.get(i).toString().replaceAll("[\\[\\] ]", ""));
+ }
+ logLine.append(",");
+ // Get maxPerNode for YugabyteDB
+ int numNodes = allNodeReadings.get(0).size();
+ List perNodeValues = new ArrayList<>();
+ for (int nodeIdx = 0; nodeIdx < numNodes; nodeIdx++) {
+ double minPerNode = Math.min(allNodeReadings.get(0).get(nodeIdx),
+ Math.min(allNodeReadings.get(1).get(nodeIdx),
+ allNodeReadings.get(2).get(nodeIdx)));
+ perNodeValues.add(minPerNode);
+ }
+ for (int i = 0; i < perNodeValues.size(); i++) {
+ logLine.append(perNodeValues.get(i));
+ if (i < perNodeValues.size() - 1) logLine.append(",");
+ }
+ logLine.append(",").append(avgMaxCPU).append("\n");
+
+ // Add to JSON results
+ Map entry = new LinkedHashMap<>();
+ entry.put("threads", threads);
+ entry.put("readings", allNodeReadings);
+ entry.put("min_per_node", perNodeValues);
+ entry.put("max_cpu", avgMaxCPU);
+ jsonResults.add(entry);
+ } else {
+ // RDS - single instance readings
+ List rdsReadings = allNodeReadings.get(0);
+ for (int i = 0; i < 3; i++) {
+ logLine.append(",").append(rdsReadings.get(i));
+ }
+ logLine.append(",").append(avgMaxCPU).append(",").append(avgMaxCPU).append("\n");
+
+ // Add to JSON results
+ Map entry = new LinkedHashMap<>();
+ entry.put("threads", threads);
+ entry.put("readings", rdsReadings);
+ entry.put("max_cpu", avgMaxCPU);
+ jsonResults.add(entry);
+ }
+
+ // Throughput will be captured after workloadThread.join() from iterationResults
+
+ Files.write(Paths.get(logFile), logLine.toString().getBytes(), java.nio.file.StandardOpenOption.APPEND);
+
+ workloadThread.join();
+ threadCpuMap.put(threads, avgMaxCPU);
+
+ double iterationThroughput = 0.0;
+ if (iterationResults[0] != null) {
+ iterationThroughput = iterationResults[0].requestsPerSecondGoodput();
+ threadThroughputMap.put(threads, iterationThroughput);
+ LOG.info("Iteration throughput (goodput) for {} threads: {} req/s", threads, String.format("%.2f", iterationThroughput));
+ if (!jsonResults.isEmpty()) {
+ jsonResults.get(jsonResults.size() - 1).put("throughput", iterationThroughput);
+ }
+ }
+
+ if (avgMaxCPU >= minTargetCPU) {
+ optimalThreads = threads;
+ LOG.info("Found optimal threads: {} with MaxCPU: {}", optimalThreads, avgMaxCPU);
+ break;
+ }
+ else if (useThroughputThreshold) {
+
+ int newThreads = threads + threadIncrement;
+ LOG.info("Throughput threshold mode: adding {} threads. New threads: {}", threadIncrement, newThreads);
+
+ if (threadThroughputMap.containsKey(newThreads)) {
+ LOG.info("newThreads={} already tested. Breaking loop to avoid duplicate testing.", newThreads);
+ optimalThreads = bestThroughput > 0 ? bestThroughputThreads : threads;
+ break;
+ }
+
+ if (bestThroughput > 0) {
+ double improvementOverBest =
+ ((iterationThroughput - bestThroughput) / bestThroughput) * 100.0;
+
+ if (improvementOverBest >= scalingMinDeltaPercent) {
+ LOG.info("Throughput improved significantly over global best (best={} req/s @ {} threads -> current={} req/s @ {} threads, delta={}% >= min {}%). Resetting flat-step counter (was {}).", String.format("%.2f", bestThroughput), bestThroughputThreads, String.format("%.2f", iterationThroughput), threads, String.format("%.2f", improvementOverBest), scalingMinDeltaPercent, consecutiveFlatThroughputSteps);
+ bestThroughput = iterationThroughput;
+ bestThroughputThreads = threads;
+ consecutiveFlatThroughputSteps = 0;
+ } else {
+ if (iterationThroughput > bestThroughput) {
+ bestThroughput = iterationThroughput;
+ bestThroughputThreads = threads;
+ }
+ consecutiveFlatThroughputSteps++;
+ LOG.warn("Throughput did not improve significantly over global best (best={} req/s @ {} threads, current={} req/s @ {} threads, delta={}% vs min {}%). Consecutive non-improving steps: {}/{}.", String.format("%.2f", bestThroughput), bestThroughputThreads, String.format("%.2f", iterationThroughput), threads, String.format("%.2f", improvementOverBest), scalingMinDeltaPercent, consecutiveFlatThroughputSteps, flatMaxScalingSteps);
+ if (consecutiveFlatThroughputSteps >= flatMaxScalingSteps) {
+ flatThroughputDetected = true;
+ optimalThreads = bestThroughputThreads;
+ LOG.info("Throughput plateau confirmed after {} consecutive non-improving steps vs global best (min delta {}%). Stopping thread search; using {} threads (best throughput {} req/s). Current throughput {} req/s.", flatMaxScalingSteps, scalingMinDeltaPercent, optimalThreads, String.format("%.2f", bestThroughput), String.format("%.2f", iterationThroughput));
+ break;
+ }
+ }
+ } else {
+ bestThroughput = iterationThroughput;
+ bestThroughputThreads = threads;
+ }
+
+ optimalThreads = bestThroughputThreads;
+ threads = newThreads;
+ }
+ else {
+ int newThreads = 0;
+ if (avgMaxCPU <= targetCPU) optimalThreads = threads;
+ LOG.info("finding new threads for run....");
+ if (isYugabyteDatabase) {
+ newThreads = threads + threadIncrement;
+ LOG.info("Adding {} threads to the current threads. New threads: {}", threadIncrement, newThreads);
+ }else{
+ if(linearPGthread) {
+ newThreads = threads + threadIncrement;
+ LOG.info("Adding {} threads to the current threads (linearly). New threads: {}", threadIncrement, newThreads);
+ }else{
+ newThreads = (int) Math.ceil((threads * targetCPU) / avgMaxCPU);
+ LOG.info("Calculating new threads using (threads * targetCPU) / avgMaxCPU formula. New threads: {}", newThreads);
+ }
+ }
+ if (threadCpuMap.containsKey(newThreads)) {
+ LOG.info("newThreads={} already tested. Breaking loop to avoid duplicate testing.", newThreads);
+ optimalThreads = newThreads;
+ break;
+ }
+ if (newThreads > threads && cpuAtPreviousScalingStep != null) {
+ double cpuDelta = avgMaxCPU - cpuAtPreviousScalingStep;
+ if (cpuDelta < scalingMinDeltaPercent) {
+ consecutiveFlatCpuSteps++;
+ if (consecutiveFlatCpuSteps == 1) {
+ flatRunStartThreads = threadsAtPreviousScalingStep;
+ }
+ LOG.warn(
+ "CPU utilization did not increase significantly when scaling threads "
+ + "({} threads -> {} threads, delta={}% vs min {}%). "
+ + "Consecutive flat steps: {}/{}. Candidate optimalThreads (last good before plateau): {}.",
+ threadsAtPreviousScalingStep,
+ threads,
+ String.format("%.2f", cpuDelta),
+ scalingMinDeltaPercent,
+ consecutiveFlatCpuSteps,
+ flatMaxScalingSteps,
+ flatRunStartThreads);
+ if (consecutiveFlatCpuSteps >= flatMaxScalingSteps) {
+ flatCpuDetected = true;
+ optimalThreads = flatRunStartThreads;
+ LOG.info(
+ "Flat CPU plateau confirmed after {} consecutive flat thread increases (min delta {}% points). "
+ + "Stopping thread search; rolling back and continuing run with {} threads (last good before plateau) "
+ + "and metadata flatCPU=true. Last max CPU {}%.",
+ flatMaxScalingSteps,
+ scalingMinDeltaPercent,
+ optimalThreads,
+ String.format("%.2f", avgMaxCPU));
+ break;
+ }
+ } else if (consecutiveFlatCpuSteps > 0) {
+ LOG.info(
+ "CPU utilization recovered (delta={}% >= min {}%). Resetting consecutive flat-step counter "
+ + "(was {}, candidate optimalThreads was {}).",
+ String.format("%.2f", cpuDelta),
+ scalingMinDeltaPercent,
+ consecutiveFlatCpuSteps,
+ flatRunStartThreads);
+ consecutiveFlatCpuSteps = 0;
+ flatRunStartThreads = 0;
+ }
+ }
+ cpuAtPreviousScalingStep = avgMaxCPU;
+ threadsAtPreviousScalingStep = threads;
+ threads = newThreads;
+ }
+
+ } catch (Exception e) {
+ LOG.error("Error during thread testing", e);
+ }
+
+ }
+ // Write JSON file
+ try {
+ mapper.writerWithDefaultPrettyPrinter().writeValue(new File(jsonFile), jsonResults);
+ } catch (Exception e) {
+ LOG.error("Error writing optimal threads JSON log", e);
+ }
+ // Store the CPU reading for the selected optimal thread count into metadata.
+ if (!jsonResults.isEmpty()) {
+ try {
+ Map selectedEntry = jsonResults.get(jsonResults.size() - 1);
+ for (Map entry : jsonResults) {
+ Object entryThreads = entry.get("threads");
+ if (entryThreads instanceof Number && ((Number) entryThreads).intValue() == optimalThreads) {
+ selectedEntry = entry;
+ break;
+ }
+ }
+ JSONObject metaDataJson = Worker.featurebenchAdditionalResults.getMetaDataJson();
+ Object readings = selectedEntry.get("readings");
+ List cpuReading;
+ if (readings instanceof List && !((List>) readings).isEmpty()
+ && ((List>) readings).get(0) instanceof List) {
+ @SuppressWarnings("unchecked")
+ List> ybReadings = (List>) readings;
+ cpuReading = ybReadings.get(ybReadings.size() - 1);
+ } else {
+ @SuppressWarnings("unchecked")
+ List flatReadings = (List) readings;
+ cpuReading = flatReadings;
+ }
+ metaDataJson.put("cpu_utilization", cpuReading);
+ double metadataAvgCpu;
+ if(isYugabyteDatabase) {
+ metadataAvgCpu = cpuReading.stream().mapToDouble(Double::doubleValue).average().orElse(0.0);
+ }else{
+ metadataAvgCpu = ((Number) selectedEntry.get("max_cpu")).doubleValue();
+ }
+ metaDataJson.put("avg_cpu", metadataAvgCpu);
+ metaDataJson.put("optimal_threads", optimalThreads);
+ metaDataJson.put("flatCPU", flatCpuDetected);
+ metaDataJson.put("flatThroughput", flatThroughputDetected);
+ metaDataJson.put("useThroughputThreshold", useThroughputThreshold);
+ if (selectedEntry.containsKey("throughput")) {
+ metaDataJson.put("throughput", ((Number) selectedEntry.get("throughput")).doubleValue());
+ }
+ Worker.featurebenchAdditionalResults.setMetaDataJson(metaDataJson);
+ LOG.info("Stored in metadata: avg_cpu={}, optimal_threads={}, flatCPU={}, flatThroughput={}, useThroughputThreshold={}",
+ metadataAvgCpu, optimalThreads, flatCpuDetected, flatThroughputDetected, useThroughputThreshold);
+ } catch (Exception e) {
+ LOG.error("Error storing CPU utilization in metadata", e);
+ }
+ }
+ // Restore original phase
+ bench.getWorkloadConfiguration().getPhases().clear();
+ bench.getWorkloadConfiguration().getPhases().add(createOriginalPhase);
+ return optimalThreads;
+ }
+
+
+ private static void checkCompletedTransaction(Results r){
+ if(r.getSuccess().getSampleCount() == 0){
+ LOG.error("ERROR: Zero completed transactions in Transaction Distribution Summary");
+ System.exit(1);
+ }
+ }
}
diff --git a/src/main/java/com/oltpbenchmark/Results.java b/src/main/java/com/oltpbenchmark/Results.java
index 32a8bf5df..eda7fbf4a 100644
--- a/src/main/java/com/oltpbenchmark/Results.java
+++ b/src/main/java/com/oltpbenchmark/Results.java
@@ -20,6 +20,7 @@
import com.oltpbenchmark.LatencyRecord.Sample;
import com.oltpbenchmark.api.TransactionType;
+import com.oltpbenchmark.benchmarks.featurebench.FeaturebenchAdditionalResults;
import com.oltpbenchmark.util.Histogram;
import java.util.HashMap;
@@ -32,6 +33,8 @@ public final class Results {
private final int measuredRequests;
private final DistributionStatistics distributionStatistics;
private final List latencySamples;
+ private long executionStartEpoch = -1;
+ private long executionEndEpoch = -1;
private final Histogram unknown = new Histogram<>(false);
private final Histogram success = new Histogram<>(true);
private final Histogram abort = new Histogram<>(false);
@@ -39,6 +42,8 @@ public final class Results {
private final Histogram error = new Histogram<>(false);
private final Histogram retryDifferent = new Histogram<>(false);
private final Map> abortMessages = new HashMap<>();
+ private final Histogram zeroRows = new Histogram<>(true);
+ private final FeaturebenchAdditionalResults featurebenchAdditionalResults = new FeaturebenchAdditionalResults();
public Results(long nanoseconds, int measuredRequests, DistributionStatistics distributionStatistics, final List latencySamples) {
this.nanoseconds = nanoseconds;
@@ -82,6 +87,12 @@ public Histogram getRetryDifferent() {
return retryDifferent;
}
+ public FeaturebenchAdditionalResults getFeaturebenchAdditionalResults() {
+ return featurebenchAdditionalResults;
+ }
+
+ public Histogram getZeroRows() { return zeroRows; }
+
public Map> getAbortMessages() {
return abortMessages;
}
@@ -106,6 +117,22 @@ public int getMeasuredRequests() {
return measuredRequests;
}
+ public long getExecutionStartEpoch() {
+ return executionStartEpoch;
+ }
+
+ public void setExecutionStartEpoch(long executionStartEpoch) {
+ this.executionStartEpoch = executionStartEpoch;
+ }
+
+ public long getExecutionEndEpoch() {
+ return executionEndEpoch;
+ }
+
+ public void setExecutionEndEpoch(long executionEndEpoch) {
+ this.executionEndEpoch = executionEndEpoch;
+ }
+
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
diff --git a/src/main/java/com/oltpbenchmark/ThreadBench.java b/src/main/java/com/oltpbenchmark/ThreadBench.java
index 2c143a65d..0f6c99171 100644
--- a/src/main/java/com/oltpbenchmark/ThreadBench.java
+++ b/src/main/java/com/oltpbenchmark/ThreadBench.java
@@ -117,6 +117,8 @@ private Results runRateLimitedMultiPhase() {
long warmupStart = System.nanoTime();
long warmup = warmupStart;
long measureEnd = -1;
+ long executionStartEpoch = -1;
+ long executionEndEpoch = -1;
// used to determine the longest sleep interval
int lowestRate = Integer.MAX_VALUE;
@@ -228,6 +230,7 @@ private Results runRateLimitedMultiPhase() {
lastEntry = true;
testState.startCoolDown();
measureEnd = now;
+ executionEndEpoch = System.currentTimeMillis();
LOG.info("{} :: Waiting for all terminals to finish ..", StringUtil.bold("TERMINATE"));
} else if (phase != null) {
// Reset serial execution parameters.
@@ -277,6 +280,7 @@ private Results runRateLimitedMultiPhase() {
interruptWorkers();
}
start = now;
+ executionStartEpoch = System.currentTimeMillis();
LOG.info("{} :: Warmup complete, starting measurements.", StringUtil.bold("MEASURE"));
// measureEnd = measureStart + measureSeconds * 1000000000L;
@@ -298,22 +302,41 @@ private Results runRateLimitedMultiPhase() {
int requests = finalizeWorkers(this.workerThreads);
// Combine all the latencies together in the most disgusting way
- // possible: sorting!
- for (Worker> w : workers) {
- for (LatencyRecord.Sample sample : w.getLatencyRecords()) {
- samples.add(sample);
+ // possible: sorting! (Skip if data collection is disabled for optimal thread finding)
+ boolean skipDataCollection = !workConfs.isEmpty() && workConfs.get(0).getIsOptimalThreadsWorkload();
+ if (!skipDataCollection) {
+ for (Worker> w : workers) {
+ for (LatencyRecord.Sample sample : w.getLatencyRecords()) {
+ samples.add(sample);
+ }
}
+ Collections.sort(samples);
+ } else {
+ LOG.info("Skipping latency data collection for optimal thread finding workload");
}
- Collections.sort(samples);
// Compute stats on all the latencies
- int[] latencies = new int[samples.size()];
- for (int i = 0; i < samples.size(); ++i) {
- latencies[i] = samples.get(i).getLatencyMicrosecond();
+ int[] latencies;
+ DistributionStatistics stats;
+ if (samples.isEmpty()) {
+ // Create empty stats when data collection is skipped
+ latencies = new int[0];
+ stats = DistributionStatistics.computeStatistics(latencies);
+ } else {
+ latencies = new int[samples.size()];
+ for (int i = 0; i < samples.size(); ++i) {
+ latencies[i] = samples.get(i).getLatencyMicrosecond();
+ }
+ stats = DistributionStatistics.computeStatistics(latencies);
}
- DistributionStatistics stats = DistributionStatistics.computeStatistics(latencies);
Results results = new Results(measureEnd - start, requests, stats, samples);
+ results.setExecutionStartEpoch(executionStartEpoch);
+ // If the measure phase end was never reached (e.g. early exit), fall back to "now".
+ if (executionEndEpoch < 0) {
+ executionEndEpoch = System.currentTimeMillis();
+ }
+ results.setExecutionEndEpoch(executionEndEpoch);
// Compute transaction histogram
Set txnTypes = new HashSet<>();
@@ -328,6 +351,7 @@ private Results runRateLimitedMultiPhase() {
results.getAbort().putAll(txnTypes, 0);
results.getError().putAll(txnTypes, 0);
results.getRetryDifferent().putAll(txnTypes, 0);
+ results.getZeroRows().putAll(txnTypes, 0);
for (Worker> w : workers) {
results.getUnknown().putHistogram(w.getTransactionUnknownHistogram());
@@ -336,6 +360,9 @@ private Results runRateLimitedMultiPhase() {
results.getAbort().putHistogram(w.getTransactionAbortHistogram());
results.getError().putHistogram(w.getTransactionErrorHistogram());
results.getRetryDifferent().putHistogram(w.getTransactionRetryDifferentHistogram());
+ results.getZeroRows().putHistogram(w.getTransactionZeroRowsHistogram());
+ results.getFeaturebenchAdditionalResults().setJsonResultsList(w.featurebenchAdditionalResults.getJsonResultsList());
+ results.getFeaturebenchAdditionalResults().setMetaDataJson(w.featurebenchAdditionalResults.getMetaDataJson());
}
return (results);
@@ -500,7 +527,8 @@ public void run() {
for (Thread t : workerThreads) {
m.put(t.getName(), t.isAlive());
}
- LOG.info("Worker Thread Status:\n{}", StringUtil.formatMaps(m));
+ // Just for demo purpose
+// LOG.info("Worker Thread Status:\n{}", StringUtil.formatMaps(m));
}
}
}
diff --git a/src/main/java/com/oltpbenchmark/WorkloadConfiguration.java b/src/main/java/com/oltpbenchmark/WorkloadConfiguration.java
index fb76076f0..64b58670b 100644
--- a/src/main/java/com/oltpbenchmark/WorkloadConfiguration.java
+++ b/src/main/java/com/oltpbenchmark/WorkloadConfiguration.java
@@ -49,6 +49,10 @@ public class WorkloadConfiguration {
private int isolationMode = Connection.TRANSACTION_SERIALIZABLE;
private String dataDir = null;
private String ddlPath = null;
+ private String configFilePath = null;
+
+ // Variable to store is an test to find optimal threads
+ private boolean isOptimalThreadsWorkload = false;
/**
* If true, establish a new connection for each transaction, otherwise use one persistent connection per client
@@ -124,6 +128,22 @@ public void setMaxRetries(int maxRetries) {
this.maxRetries = maxRetries;
}
+ public String getConfigFilePath() {
+ return configFilePath;
+ }
+
+ public void setConfigFilePath(String configFilePath) {
+ this.configFilePath = configFilePath;
+ }
+
+ public boolean getIsOptimalThreadsWorkload() {
+ return isOptimalThreadsWorkload;
+ }
+
+ public void setIsOptimalThreadsWorkload(boolean isOptimalThreadsWorkload) {
+ this.isOptimalThreadsWorkload = isOptimalThreadsWorkload;
+ }
+
/**
* @return @see newConnectionPerTxn member docs for behavior.
*/
@@ -291,6 +311,8 @@ public int getIsolationMode() {
return isolationMode;
}
+ public void clearPhase(){ this.phases.clear(); }
+
public void setIsolationMode(String mode) {
switch (mode) {
case "TRANSACTION_SERIALIZABLE":
diff --git a/src/main/java/com/oltpbenchmark/WorkloadState.java b/src/main/java/com/oltpbenchmark/WorkloadState.java
index de12ec8ce..ca142690c 100644
--- a/src/main/java/com/oltpbenchmark/WorkloadState.java
+++ b/src/main/java/com/oltpbenchmark/WorkloadState.java
@@ -262,4 +262,12 @@ public long getTestStartNs() {
return benchmarkState.getTestStartNs();
}
+ public long getMeasurementStartNs() {
+ return benchmarkState.getMeasurementStartNs();
+ }
+
+ public BenchmarkState getBenchmarkState() {
+ return benchmarkState;
+ }
+
}
diff --git a/src/main/java/com/oltpbenchmark/api/BenchmarkModule.java b/src/main/java/com/oltpbenchmark/api/BenchmarkModule.java
index ddd0a6cc0..5c4762d71 100644
--- a/src/main/java/com/oltpbenchmark/api/BenchmarkModule.java
+++ b/src/main/java/com/oltpbenchmark/api/BenchmarkModule.java
@@ -34,6 +34,7 @@
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
+import java.sql.Statement;
import java.util.*;
/**
@@ -98,6 +99,10 @@ public final Connection makeConnection() throws SQLException {
* @return
* @throws IOException
*/
+ protected List> makeWorkersImpl(int workcount) throws IOException {
+ return null;
+ }
+
protected abstract List> makeWorkersImpl() throws IOException;
/**
@@ -185,6 +190,10 @@ public String getDatabaseDDLPath(DatabaseType db_type) {
}
+ public final List> makeWorkers(int workcount) throws IOException {
+ return (this.makeWorkersImpl(workcount));
+ }
+
public final List> makeWorkers() throws IOException {
return (this.makeWorkersImpl());
}
@@ -213,6 +222,30 @@ public final void createDatabase() throws SQLException, IOException {
}
}
+ /**
+ * Create the benchmark database for "featurebench" using YAML DDls
+ * if provided in the create Phase of YAML.
+ * */
+
+ public final void createFromYaml(WorkloadConfiguration workConf,Connection conn)
+ {
+ long createStart = System.currentTimeMillis();
+ LOG.info("Using YAML for create phase");
+ List createDDLs = workConf.getXmlConfig().getList(String.class, "microbenchmark/properties/create");
+ try {
+ Statement stmtObj = conn.createStatement();
+ for (String ddl : createDDLs) {
+ stmtObj.execute(ddl);
+ }
+ stmtObj.close();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ throw new RuntimeException("Error Occurred in Create Phase");
+ }
+ long createEnd = System.currentTimeMillis();
+ LOG.info("Elapsed time in create phase: {} milliseconds", createEnd - createStart);
+ }
+
/**
* Create the Benchmark Database
* This is the main method used to create all the database
@@ -222,16 +255,21 @@ public final void createDatabase(DatabaseType dbType, Connection conn) throws SQ
ScriptRunner runner = new ScriptRunner(conn, true, true);
- if (workConf.getDDLPath() != null) {
- String ddlPath = workConf.getDDLPath();
- LOG.warn("Overriding default DDL script path");
- LOG.debug("Executing script [{}] for database type [{}]", ddlPath, dbType);
- runner.runExternalScript(ddlPath);
- } else {
- String ddlPath = this.getDatabaseDDLPath(dbType);
- LOG.debug("Executing script [{}] for database type [{}]", ddlPath, dbType);
- runner.runScript(ddlPath);
- }
+ if (workConf.getDDLPath() != null) {
+ String ddlPath = workConf.getDDLPath();
+ LOG.warn("Overriding default DDL script path");
+ LOG.debug("Executing script [{}] for database type [{}]", ddlPath, dbType);
+ runner.runExternalScript(ddlPath);
+ } else if (workConf.getBenchmarkName().equalsIgnoreCase("featurebench")
+ && workConf.getXmlConfig().containsKey("microbenchmark/properties/create")) {
+
+ createFromYaml(workConf,conn);
+
+ } else {
+ String ddlPath = this.getDatabaseDDLPath(dbType);
+ LOG.debug("Executing script [{}] for database type [{}]", ddlPath, dbType);
+ runner.runScript(ddlPath);
+ }
}
@@ -336,6 +374,29 @@ public final TransactionType initTransactionType(String procName, int id, long p
return new TransactionType(procClass, id, false, preExecutionWait, postExecutionWait);
}
+ /**
+ * Initialize a TransactionType handle for the get procedure name and id
+ * This should only be invoked a start-up time
+ *
+ * @param procName
+ * @param id
+ * @return
+ */
+ @SuppressWarnings("unchecked")
+ public final TransactionType initTransactionType(String procName, int id, long preExecutionWait,
+ long postExecutionWait, String transactionName) {
+ if (id == TransactionType.INVALID_ID) {
+ throw new RuntimeException(String.format("Procedure %s.%s cannot use the reserved id '%d' for %s", getBenchmarkName(), procName, id, TransactionType.INVALID.getClass().getSimpleName()));
+ }
+
+ Package pkg = this.getProcedurePackageImpl();
+
+ String fullName = pkg.getName() + "." + procName;
+ Class extends Procedure> procClass = (Class extends Procedure>) ClassUtil.getClass(fullName);
+
+ return new TransactionType(procClass, id, false, preExecutionWait, postExecutionWait, transactionName);
+ }
+
public final WorkloadConfiguration getWorkloadConfiguration() {
return (this.workConf);
}
diff --git a/src/main/java/com/oltpbenchmark/api/LoaderThread.java b/src/main/java/com/oltpbenchmark/api/LoaderThread.java
index 50f4ba9c3..d221d52c6 100644
--- a/src/main/java/com/oltpbenchmark/api/LoaderThread.java
+++ b/src/main/java/com/oltpbenchmark/api/LoaderThread.java
@@ -20,6 +20,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.lang.reflect.InvocationTargetException;
import java.sql.Connection;
import java.sql.SQLException;
@@ -48,6 +49,9 @@ public final void run() {
String msg = String.format("Unexpected error when loading %s database", benchmarkModule.getBenchmarkName().toUpperCase());
LOG.error(msg, next_ex);
throw new RuntimeException(ex);
+ } catch (ClassNotFoundException | InvocationTargetException | NoSuchMethodException | InstantiationException |
+ IllegalAccessException e) {
+ throw new RuntimeException(e);
} finally {
afterLoad();
}
@@ -59,7 +63,7 @@ public final void run() {
* @param conn
* @throws SQLException
*/
- public abstract void load(Connection conn) throws SQLException;
+ public abstract void load(Connection conn) throws SQLException, ClassNotFoundException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException;
public void beforeLoad() {
// useful for implementing waits for countdown latches, this ensures we open the connection right before its used to avoid stale connections
diff --git a/src/main/java/com/oltpbenchmark/api/Procedure.java b/src/main/java/com/oltpbenchmark/api/Procedure.java
index b40f11233..fced0977a 100644
--- a/src/main/java/com/oltpbenchmark/api/Procedure.java
+++ b/src/main/java/com/oltpbenchmark/api/Procedure.java
@@ -109,7 +109,7 @@ public final PreparedStatement getPreparedStatementReturnKeys(Connection conn, S
// HACK: If the target system is Postgres, wrap the PreparedStatement in a special
// one that fakes the getGeneratedKeys().
- if (is != null && (this.dbType == DatabaseType.POSTGRES || this.dbType == DatabaseType.COCKROACHDB)) {
+ if (is != null && (this.dbType == DatabaseType.POSTGRES || this.dbType == DatabaseType.COCKROACHDB || this.dbType==DatabaseType.YUGABYTE)) {
pStmt = new AutoIncrementPreparedStatement(this.dbType, conn.prepareStatement(stmt.getSQL()));
}
// Everyone else can use the regular getGeneratedKeys() method
diff --git a/src/main/java/com/oltpbenchmark/api/TransactionType.java b/src/main/java/com/oltpbenchmark/api/TransactionType.java
index 4086cd5b8..0d9f763cf 100644
--- a/src/main/java/com/oltpbenchmark/api/TransactionType.java
+++ b/src/main/java/com/oltpbenchmark/api/TransactionType.java
@@ -33,7 +33,7 @@ public static class Invalid extends Procedure {
private final boolean supplemental;
private final long preExecutionWait;
private final long postExecutionWait;
-
+ private String transactionName;
protected TransactionType(Class extends Procedure> procedureClass, int id, boolean supplemental, long preExecutionWait, long postExecutionWait) {
this.procedureClass = procedureClass;
this.id = id;
@@ -42,6 +42,16 @@ protected TransactionType(Class extends Procedure> procedureClass, int id, boo
this.postExecutionWait = postExecutionWait;
}
+ protected TransactionType(Class extends Procedure> procedureClass, int id, boolean supplemental,
+ long preExecutionWait, long postExecutionWait, String transactionName) {
+ this.procedureClass = procedureClass;
+ this.id = id;
+ this.supplemental = supplemental;
+ this.preExecutionWait = preExecutionWait;
+ this.postExecutionWait = postExecutionWait;
+ this.transactionName = transactionName;
+ }
+
public Class extends Procedure> getProcedureClass() {
return (this.procedureClass);
}
@@ -93,4 +103,8 @@ public String toString() {
return String.format("%s/%02d", this.procedureClass.getName(), this.id);
}
+ public String getTransactionName(){
+ return this.transactionName;
+ }
+
}
diff --git a/src/main/java/com/oltpbenchmark/api/TransactionTypes.java b/src/main/java/com/oltpbenchmark/api/TransactionTypes.java
index 0059b08e7..2f9dc0aa4 100644
--- a/src/main/java/com/oltpbenchmark/api/TransactionTypes.java
+++ b/src/main/java/com/oltpbenchmark/api/TransactionTypes.java
@@ -30,8 +30,12 @@ public class TransactionTypes implements Collection {
public TransactionTypes(List transactiontypes) {
transactiontypes.sort(TransactionType::compareTo);
for (TransactionType tt : transactiontypes) {
+
String key = tt.getName().toUpperCase();
- this.types.put(key, tt);
+ if(key.equalsIgnoreCase("featurebench"))
+ this.types.put(key + tt.getId(), tt);
+ else
+ this.types.put(key, tt);
}
}
diff --git a/src/main/java/com/oltpbenchmark/api/Worker.java b/src/main/java/com/oltpbenchmark/api/Worker.java
index e9cff3119..6a1432324 100644
--- a/src/main/java/com/oltpbenchmark/api/Worker.java
+++ b/src/main/java/com/oltpbenchmark/api/Worker.java
@@ -19,6 +19,7 @@
import com.oltpbenchmark.*;
import com.oltpbenchmark.api.Procedure.UserAbortException;
+import com.oltpbenchmark.benchmarks.featurebench.FeaturebenchAdditionalResults;
import com.oltpbenchmark.types.DatabaseType;
import com.oltpbenchmark.types.State;
import com.oltpbenchmark.types.TransactionStatus;
@@ -40,31 +41,29 @@
public abstract class Worker implements Runnable {
private static final Logger LOG = LoggerFactory.getLogger(Worker.class);
private static final Logger ABORT_LOG = LoggerFactory.getLogger("com.oltpbenchmark.api.ABORT_LOG");
-
- private WorkloadState workloadState;
- private LatencyRecord latencies;
- private final Statement currStatement;
-
- // Interval requests used by the monitor
- private final AtomicInteger intervalRequests = new AtomicInteger(0);
-
- private final int id;
- private final T benchmark;
- protected Connection conn = null;
protected final WorkloadConfiguration configuration;
protected final TransactionTypes transactionTypes;
protected final Map procedures = new HashMap<>();
protected final Map name_procedures = new HashMap<>();
protected final Map, Procedure> class_procedures = new HashMap<>();
-
+ private final Statement currStatement;
+ // Interval requests used by the monitor
+ private final AtomicInteger intervalRequests = new AtomicInteger(0);
+ private final int id;
+ private final T benchmark;
private final Histogram txnUnknown = new Histogram<>();
private final Histogram txnSuccess = new Histogram<>();
private final Histogram txnAbort = new Histogram<>();
private final Histogram txnRetry = new Histogram<>();
private final Histogram txnErrors = new Histogram<>();
+ private final Histogram txnZeroRows = new Histogram<>();
private final Histogram txtRetryDifferent = new Histogram<>();
-
+ protected Connection conn = null;
+ private WorkloadState workloadState;
+ boolean isFeaturebenchWorkload = false;
+ private LatencyRecord latencies;
private boolean seenDone = false;
+ public static final FeaturebenchAdditionalResults featurebenchAdditionalResults = new FeaturebenchAdditionalResults();
public Worker(T benchmark, int id) {
this.id = id;
@@ -73,11 +72,16 @@ public Worker(T benchmark, int id) {
this.workloadState = this.configuration.getWorkloadState();
this.currStatement = null;
this.transactionTypes = this.configuration.getTransTypes();
-
+ boolean autoCommitVal = false;
+ if (this.benchmark.getBenchmarkName().equalsIgnoreCase("featurebench") &&
+ this.benchmark.getWorkloadConfiguration().getXmlConfig().containsKey("microbenchmark/properties/setAutoCommit")) {
+ autoCommitVal = this.benchmark.getWorkloadConfiguration().getXmlConfig().getBoolean("microbenchmark/properties/setAutoCommit");
+ this.isFeaturebenchWorkload = true;
+ }
if (!this.configuration.getNewConnectionPerTxn()) {
try {
this.conn = this.benchmark.makeConnection();
- this.conn.setAutoCommit(false);
+ this.conn.setAutoCommit(autoCommitVal);
this.conn.setTransactionIsolation(this.configuration.getIsolationMode());
} catch (SQLException ex) {
throw new RuntimeException("Failed to connect to database", ex);
@@ -170,6 +174,7 @@ public final Histogram getTransactionRetryDifferentHistogram()
return (this.txtRetryDifferent);
}
+ public final Histogram getTransactionZeroRowsHistogram() { return (this.txnZeroRows); }
/**
* Stop executing the current statement.
*/
@@ -304,7 +309,10 @@ public final void run() {
break;
}
if (preState == MEASURE && postPhase.getId() == prePhase.getId()) {
- latencies.addLatency(transactionType.getId(), start, end, this.id, prePhase.getId());
+ // Skip latency recording for optimal thread finding workloads to save memory
+ if (!configuration.getIsOptimalThreadsWorkload()) {
+ latencies.addLatency(transactionType.getId(), start, end, this.id, prePhase.getId());
+ }
intervalRequests.incrementAndGet();
}
if (prePhase.isLatencyRun()) {
@@ -340,11 +348,13 @@ public final void run() {
workloadState.finishedWork();
}
+
LOG.debug("worker calling teardown");
tearDown();
}
+
private TransactionType getTransactionType(SubmittedProcedure pieceOfWork, Phase phase, State state, WorkloadState workloadState) {
TransactionType type = TransactionType.INVALID;
@@ -380,7 +390,7 @@ private TransactionType getTransactionType(SubmittedProcedure pieceOfWork, Phase
* implementing worker should return the TransactionType handle that was
* executed.
*
- * @param databaseType TODO
+ * @param databaseType TODO
* @param transactionType TODO
*/
protected final void doWork(DatabaseType databaseType, TransactionType transactionType) {
@@ -389,14 +399,20 @@ protected final void doWork(DatabaseType databaseType, TransactionType transacti
int retryCount = 0;
int maxRetryCount = configuration.getMaxRetries();
+ boolean autoCommitVal = false;
+ if (this.benchmark.getBenchmarkName().equalsIgnoreCase("featurebench") &&
+ this.benchmark.getWorkloadConfiguration().getXmlConfig().containsKey("microbenchmark/properties/setAutoCommit")) {
+ autoCommitVal = this.benchmark.getWorkloadConfiguration().getXmlConfig().getBoolean("microbenchmark/properties/setAutoCommit");
+ }
+
while (retryCount < maxRetryCount && this.workloadState.getGlobalState() != State.DONE) {
TransactionStatus status = TransactionStatus.UNKNOWN;
- if (this.conn == null) {
+ if (this.conn == null || this.conn.isClosed()) {
try {
this.conn = this.benchmark.makeConnection();
- this.conn.setAutoCommit(false);
+ this.conn.setAutoCommit(autoCommitVal);
this.conn.setTransactionIsolation(this.configuration.getIsolationMode());
} catch (SQLException ex) {
if (LOG.isDebugEnabled()) {
@@ -423,12 +439,14 @@ protected final void doWork(DatabaseType databaseType, TransactionType transacti
LOG.debug(String.format("%s %s committing...", this, transactionType));
}
- conn.commit();
+ if (!autoCommitVal)
+ conn.commit();
break;
} catch (UserAbortException ex) {
- conn.rollback();
+ if (!this.conn.isClosed() && !conn.getAutoCommit())
+ conn.rollback();
ABORT_LOG.debug(String.format("%s Aborted", transactionType), ex);
@@ -437,7 +455,8 @@ protected final void doWork(DatabaseType databaseType, TransactionType transacti
break;
} catch (SQLException ex) {
- conn.rollback();
+ if (!this.conn.isClosed() && !conn.getAutoCommit())
+ conn.rollback();
if (isRetryable(ex)) {
LOG.debug(String.format("Retryable SQLException occurred during [%s]... current retry attempt [%d], max retry attempts [%d], sql state [%s], error code [%d].", transactionType, retryCount, maxRetryCount, ex.getSQLState(), ex.getErrorCode()), ex);
@@ -446,7 +465,7 @@ protected final void doWork(DatabaseType databaseType, TransactionType transacti
retryCount++;
} else {
- LOG.warn(String.format("SQLException occurred during [%s] and will not be retried... sql state [%s], error code [%d].", transactionType, ex.getSQLState(), ex.getErrorCode()), ex);
+ LOG.debug(String.format("SQLException occurred during [%s] and will not be retried... sql state [%s], error code [%d], Message: %s.", transactionType, ex.getSQLState(), ex.getErrorCode(), ex.getMessage()));
status = TransactionStatus.ERROR;
@@ -454,7 +473,7 @@ protected final void doWork(DatabaseType databaseType, TransactionType transacti
}
} finally {
- if (this.configuration.getNewConnectionPerTxn() && this.conn != null) {
+ if (this.configuration.getNewConnectionPerTxn() && this.conn != null && !this.conn.isClosed()) {
try {
this.conn.close();
this.conn = null;
@@ -470,6 +489,7 @@ protected final void doWork(DatabaseType databaseType, TransactionType transacti
case RETRY -> this.txnRetry.put(transactionType);
case RETRY_DIFFERENT -> this.txtRetryDifferent.put(transactionType);
case ERROR -> this.txnErrors.put(transactionType);
+ case ZERO_ROWS -> this.txnZeroRows.put(transactionType);
}
}
@@ -503,6 +523,9 @@ private boolean isRetryable(SQLException ex) {
} else if (errorCode == 1205 && sqlState.equals("41000")) {
// MySQL ER_LOCK_WAIT_TIMEOUT
return true;
+ } else if(errorCode > 0 && !sqlState.isEmpty()) {
+ // Added by Yugabyte to retry on all errors
+ return true;
}
// ------------------
diff --git a/src/main/java/com/oltpbenchmark/api/collectors/DBParameterCollectorGen.java b/src/main/java/com/oltpbenchmark/api/collectors/DBParameterCollectorGen.java
index e5be29d05..981f6659e 100644
--- a/src/main/java/com/oltpbenchmark/api/collectors/DBParameterCollectorGen.java
+++ b/src/main/java/com/oltpbenchmark/api/collectors/DBParameterCollectorGen.java
@@ -27,6 +27,7 @@ public static DBParameterCollector getCollector(DatabaseType dbType, String dbUr
case MARIADB:
return new MySQLCollector(dbUrl, username, password);
case POSTGRES:
+ case YUGABYTE:
return new PostgresCollector(dbUrl, username, password);
case COCKROACHDB:
return new CockroachCollector(dbUrl, username, password);
diff --git a/src/main/java/com/oltpbenchmark/api/collectors/YuagbyteCollector.java b/src/main/java/com/oltpbenchmark/api/collectors/YuagbyteCollector.java
new file mode 100644
index 000000000..6ffdb2f2c
--- /dev/null
+++ b/src/main/java/com/oltpbenchmark/api/collectors/YuagbyteCollector.java
@@ -0,0 +1,25 @@
+package com.oltpbenchmark.api.collectors;
+
+import java.sql.*;
+
+public class YuagbyteCollector extends DBCollector {
+
+ private static final String VERSION_SQL = "SELECT version();";
+
+ public YuagbyteCollector(String oriDBUrl, String username, String password){
+ try (Connection conn = DriverManager.getConnection(oriDBUrl, username, password)) {
+ try (Statement s = conn.createStatement()) {
+
+ // Collect DBMS version
+ try (ResultSet out = s.executeQuery(VERSION_SQL)) {
+ if (out.next()) {
+ this.version = out.getString(1);
+ }
+ }
+
+ }
+ } catch (SQLException e) {
+ LOG.error("Error while collecting DB parameters: {}", e.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkWorker.java b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkWorker.java
index 2ceb6a659..bf05bf501 100644
--- a/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkWorker.java
+++ b/src/main/java/com/oltpbenchmark/benchmarks/auctionmark/AuctionMarkWorker.java
@@ -751,7 +751,7 @@ protected boolean executeNewItem(Connection conn, NewItem proc) throws SQLExcept
gag_ids, gav_ids, images);
} catch (DuplicateItemIdException ex) {
profile.seller_item_cnt.set(sellerId, ex.getItemCount());
- LOG.warn("a duplicate item existed; i believe this error should be handled differently.: " + ex.getMessage());
+ LOG.debug("a duplicate item existed; i believe this error should be handled differently.: " + ex.getMessage());
throw ex;
}
diff --git a/src/main/java/com/oltpbenchmark/benchmarks/dataloader/Column.java b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/Column.java
new file mode 100644
index 000000000..cd0fa5be9
--- /dev/null
+++ b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/Column.java
@@ -0,0 +1,79 @@
+package com.oltpbenchmark.benchmarks.dataloader;
+
+public class Column {
+ private String columnName;
+ private String dataType;
+ private String baseDataType;
+ private Integer characterMaximumLength;
+ private Boolean isIdentity;
+ private Boolean nullable;
+
+ // Getters and Setters
+ public String getColumnName() {
+ return columnName;
+ }
+
+ public void setColumnName(String columnName) {
+ this.columnName = columnName;
+ }
+
+ public String getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(String dataType) {
+ this.dataType = dataType;
+ }
+
+ public Integer getCharacterMaximumLength() {
+ return characterMaximumLength;
+ }
+
+ public void setCharacterMaximumLength(Integer characterMaximumLength) {
+ this.characterMaximumLength = characterMaximumLength;
+ }
+
+ public String getBaseDataType() {
+ return baseDataType;
+ }
+
+ public void setBaseDataType(String baseDataType) {
+ this.baseDataType = baseDataType;
+ }
+
+ public Boolean getIdentity() {
+ return isIdentity;
+ }
+
+ public void setIdentity(Boolean identity) {
+ isIdentity = identity;
+ }
+
+ public Boolean getIsIdentity() {
+ return isIdentity;
+ }
+
+ public void setIsIdentity(Boolean isIdentity) {
+ this.isIdentity = isIdentity;
+ }
+
+ public Boolean getNullable() {
+ return nullable;
+ }
+
+ public void setNullable(Boolean nullable) {
+ this.nullable = nullable;
+ }
+
+ @Override
+ public String toString() {
+ return "Column{" +
+ "columnName='" + columnName + '\'' +
+ ", dataType='" + dataType + '\'' +
+ ", baseDataType='" + baseDataType + '\'' +
+ ", characterMaximumLength=" + characterMaximumLength +
+ ", isIdentity=" + isIdentity +
+ ", nullable=" + nullable +
+ '}';
+ }
+}
diff --git a/src/main/java/com/oltpbenchmark/benchmarks/dataloader/DataGenerator.java b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/DataGenerator.java
new file mode 100644
index 000000000..de4844cf0
--- /dev/null
+++ b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/DataGenerator.java
@@ -0,0 +1,93 @@
+package com.oltpbenchmark.benchmarks.dataloader;
+
+import com.oltpbenchmark.WorkloadConfiguration;
+import com.oltpbenchmark.api.BenchmarkModule;
+import com.oltpbenchmark.api.Loader;
+import com.oltpbenchmark.api.Worker;
+import com.oltpbenchmark.benchmarks.featurebench.FeatureBenchLoader;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.tree.ImmutableNode;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.*;
+
+public class DataGenerator extends BenchmarkModule {
+ /**
+ * Constructor!
+ *
+ * @param workConf
+ */
+ public DataGenerator(WorkloadConfiguration workConf) {
+ super(workConf);
+ }
+
+ @Override
+ protected List> makeWorkersImpl() throws IOException {
+ return null;
+ }
+
+ @Override
+ protected Loader makeLoaderImpl() {
+ // load properties file
+
+ return new DataGeneratorLoader(this, getProperties("datatype-mapping.properties"),
+ getProperties("pk-mapping.properties"),
+ getProperties("array-mapping.properties"), getFkProperties());
+ }
+
+ @Override
+ protected Package getProcedurePackageImpl() {
+ return null;
+ }
+
+ public Map getProperties(String propertiesType) {
+ Properties properties = new Properties();
+ Map propertyMap = new LinkedHashMap<>();
+ final String path = "/benchmarks/" + getBenchmarkName() + "/" + propertiesType;
+
+ try (InputStream input = this.getClass().getResourceAsStream(path)) {
+ properties.load(input);
+ for (String key : properties.stringPropertyNames()) {
+ String value = properties.getProperty(key);
+ String[] parts = value.split(":");
+ String className = parts[0];
+ int numParams = Integer.parseInt(parts[1]);
+ List params = new ArrayList<>();
+ if (numParams > 0) {
+ params.addAll(Arrays.asList(parts[2].split(",")));
+ }
+
+ PropertyMapping property = new PropertyMapping(className, numParams, params);
+ propertyMap.put(key, property);
+ }
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ return propertyMap;
+ }
+
+ public Map getFkProperties() {
+ Properties properties = new Properties();
+ Map propertyMap = new LinkedHashMap<>();
+ final String path = "/benchmarks/" + getBenchmarkName() + "/fk-mapping.properties";
+
+ try (InputStream input = this.getClass().getResourceAsStream(path)) {
+ properties.load(input);
+ for (String key : properties.stringPropertyNames()) {
+ String value = properties.getProperty(key);
+ String[] parts = value.split(":");
+ String className = parts[0];
+ String dataType = parts[1];
+
+ FkPropertyMapping property = new FkPropertyMapping(className, dataType);
+ propertyMap.put(key, property);
+ }
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ return propertyMap;
+ }
+}
diff --git a/src/main/java/com/oltpbenchmark/benchmarks/dataloader/DataGeneratorLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/DataGeneratorLoader.java
new file mode 100644
index 000000000..20d003f32
--- /dev/null
+++ b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/DataGeneratorLoader.java
@@ -0,0 +1,763 @@
+package com.oltpbenchmark.benchmarks.dataloader;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.oltpbenchmark.api.Loader;
+import com.oltpbenchmark.api.LoaderThread;
+import com.oltpbenchmark.util.JSONUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.yaml.snakeyaml.DumperOptions;
+import org.yaml.snakeyaml.Yaml;
+import org.yaml.snakeyaml.introspector.BeanAccess;
+import org.yaml.snakeyaml.introspector.Property;
+import org.yaml.snakeyaml.introspector.PropertyUtils;
+import org.yaml.snakeyaml.representer.Representer;
+import org.yaml.snakeyaml.nodes.Tag;
+
+
+import java.io.*;
+import java.sql.*;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+
+public class DataGeneratorLoader extends Loader {
+ private static final Logger LOG = LoggerFactory.getLogger(DataGeneratorLoader.class);
+
+ private final Map properties;
+ private final Map fkProperties;
+ private final Map arrayProperties;
+ private final Map pkProperties;
+ private int minLevel = Integer.MAX_VALUE;
+
+ public DataGeneratorLoader(DataGenerator benchmark, Map properties,
+ Map pkProperties, Map arrayProperties,
+ Map fkProperties) {
+ super(benchmark);
+ this.properties = properties;
+ this.fkProperties = fkProperties;
+ this.pkProperties = pkProperties;
+ this.arrayProperties = arrayProperties;
+ }
+
+ @Override
+ public List createLoaderThreads() throws SQLException {
+ Connection conn = benchmark.makeConnection();
+ boolean genLoadOrderOnly = workConf.getXmlConfig().getBoolean("gen-db-load-order", false);
+ if (genLoadOrderOnly) {
+ Set processedTables = new HashSet<>();
+ Map> graph = new HashMap<>();
+ Set visited = new HashSet<>();
+ StringBuilder loadOrder = new StringBuilder();
+ Map> depth = new TreeMap<>();
+ Map> levelAndTables = new LinkedHashMap<>();
+ buildGraph(conn, processedTables, graph);
+
+ List independentTables = new ArrayList<>();
+ List allDbTables = getAllTables(conn);
+ for(String table: allDbTables) {
+ if (!processedTables.contains(table.toLowerCase())) {
+ independentTables.add(table);
+ }
+ }
+
+ if (!graph.isEmpty()) {
+ String startTable = graph.keySet().iterator().next();
+ levelAndTables.putAll(getOrderOfImport(startTable, loadOrder, graph, depth, visited));
+ levelAndTables.get(0).addAll(independentTables);
+ } else {
+ levelAndTables.put(0, independentTables);
+ }
+
+ int totalTables = 0;
+ for (Map.Entry> entry : levelAndTables.entrySet()) {
+ int level = entry.getKey();
+ List tablesAtLevel = entry.getValue();
+ totalTables += tablesAtLevel.size();
+ System.out.println("Level " + level + ": " + String.join(", ", tablesAtLevel));
+ }
+
+ System.out.println("Total number of tables: " + totalTables);
+ try {
+ FileWriter writer = new FileWriter("load_order.json");
+ writer.write(JSONUtil.format(JSONUtil.toJSONString(levelAndTables)));
+ writer.close();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+
+ } else {
+ String tableName = workConf.getXmlConfig().getString("tablename");
+ int rows = workConf.getXmlConfig().getInt("rows");
+
+ // check if the table exists in the database and fetch the table schema
+ String schemaOfTable = getTableSchemaIfTableExists(tableName, conn);
+ // get the table schema
+ List columnDetails = getTableSchema(tableName, conn, schemaOfTable);
+
+ // key primary key details
+ List primaryKeys = getPrimaryKeys(tableName, schemaOfTable, conn);
+
+ // get all unique constraints from the indexes
+ List uniqueConstraintColumns = getUniqueConstrains(tableName, schemaOfTable, conn);
+
+ // get all columns with respective user defined ENUM data type
+ Map> udColumns = getUserDefinedEnumDataTypes(tableName, schemaOfTable, conn);
+
+ // get all foreign keys of the table
+ List foreignKeys = getForeignKeys(tableName, schemaOfTable, conn);
+
+ int limit = Math.min(10000, rows);
+ List fkColNames = new ArrayList<>();
+
+ // if in foreign key, parent table is same as current table, don't treat it as foreign key. treat is as normal column
+ List fkToRemove = new ArrayList<>();
+ foreignKeys.forEach(fk -> {
+ if (fk.getForeignTableName().equalsIgnoreCase(tableName)) {
+ fkToRemove.add(fk);
+ } else {
+ fkColNames.add(fk.getColumnName());
+ }
+ });
+ foreignKeys.removeAll(fkToRemove);
+
+ // remove all fks from unique constraints
+ uniqueConstraintColumns.removeAll(fkColNames);
+
+ // remove all fks from primary keys
+ List pkToRemove = new ArrayList<>();
+ primaryKeys.forEach(pk -> {
+ if (fkColNames.contains(pk.getColumnName()))
+ pkToRemove.add(pk);
+ });
+ primaryKeys.removeAll(pkToRemove);
+
+ if (!foreignKeys.isEmpty()) {
+ // fetch the distinct values from parent table. This could take some time
+ getDistinctValuesFromParentTable(conn, foreignKeys, limit, schemaOfTable);
+ }
+ // create mapping of utility function to the columns in the table
+ Map columnToUtilsMapping =
+ utilsMapping(columnDetails, primaryKeys, foreignKeys, limit, rows, uniqueConstraintColumns, udColumns);
+
+ // generate the mapping object which can be used to create the output yaml file
+ Root root = generateMappingObject(tableName, rows, columnToUtilsMapping, fkColNames, udColumns);
+
+ // create output yaml file
+ writeToFile(tableName, rows, root);
+ LOG.info("Generated loader file: {}_loader.yaml", tableName);
+ }
+
+ return new ArrayList<>();
+ }
+
+ public static String getTableSchemaIfTableExists(String tableName, Connection connection) throws SQLException {
+ String tableSchema = null;
+ ResultSet resultSet = null;
+
+ try {
+ DatabaseMetaData metaData = connection.getMetaData();
+ resultSet = metaData.getTables(null, null, tableName, new String[]{"TABLE"});
+ if (resultSet.next()) {
+ tableSchema = resultSet.getString("TABLE_SCHEM");
+ } else {
+ throw new RuntimeException(String.format("Table with name %s does not exist", tableName));
+ }
+ } finally {
+ if (resultSet != null) {
+ resultSet.close();
+ }
+ }
+
+ return tableSchema;
+ }
+
+ public static List getTableSchema(String tableName, Connection conn, String tableSchema) {
+ List tableSchemaList = new ArrayList<>();
+ String query = "SELECT c.column_name, c.data_type, CASE WHEN c.data_type = 'ARRAY' THEN (SELECT replace(t.typname, '_', '') FROM pg_type t JOIN pg_namespace ns ON t.typnamespace = ns.oid WHERE t.oid = (SELECT typarray FROM pg_type WHERE typname = replace(c.udt_name, '_', ''))) ELSE c.data_type END as base_data_type, c.character_maximum_length, c.is_identity, CASE WHEN c.is_nullable = 'YES' THEN TRUE END as nullable FROM INFORMATION_SCHEMA.COLUMNS c WHERE c.table_name = ? AND c.table_schema = ?";
+ try (PreparedStatement pstmt = conn.prepareStatement(query)) {
+ pstmt.setString(1, tableName);
+ pstmt.setString(2, tableSchema);
+ ResultSet rs = pstmt.executeQuery();
+
+ while (rs.next()) {
+ Column column = new Column();
+ column.setColumnName(rs.getString("column_name"));
+ // need to remove all spaces from datatype so that we can do string matching with properties
+ column.setDataType(rs.getString("data_type").replaceAll("\\s", ""));
+ column.setCharacterMaximumLength((Integer) rs.getObject("character_maximum_length"));
+ column.setIsIdentity("YES".equals(rs.getString("is_identity")));
+ column.setBaseDataType(rs.getString("base_data_type"));
+ column.setNullable(rs.getBoolean("nullable"));
+ tableSchemaList.add(column);
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+
+ return tableSchemaList;
+ }
+
+ public static List getPrimaryKeys(String tableName, String tableSchema, Connection conn) {
+ List primaryKeyList = new ArrayList<>();
+ String query = "SELECT c.column_name, c.data_type " +
+ "FROM information_schema.table_constraints tc " +
+ "JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_name) " +
+ "JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema " +
+ "AND tc.table_name = c.table_name " +
+ "AND ccu.column_name = c.column_name " +
+ "WHERE constraint_type = 'PRIMARY KEY' " +
+ "AND tc.table_name = ? and tc.table_schema = ?";
+
+ try (PreparedStatement pstmt = conn.prepareStatement(query)) {
+
+ pstmt.setString(1, tableName);
+ pstmt.setString(2, tableSchema);
+ ResultSet rs = pstmt.executeQuery();
+
+ while (rs.next()) {
+ PrimaryKey primaryKey = new PrimaryKey();
+ primaryKey.setColumnName(rs.getString("column_name"));
+ // need to remove all spaces from datatype so that we can do string matching with properties
+ primaryKey.setDataType(rs.getString("data_type").replaceAll("\\s", ""));
+ primaryKeyList.add(primaryKey);
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+
+ return primaryKeyList;
+ }
+
+ public static List getUniqueConstrains(String tableName, String tableSchema, Connection conn) {
+ List uniques = new ArrayList<>();
+ // Query to find unique indexes on 'store' table in 'public' schema
+ String query = "SELECT indexdef " +
+ "FROM pg_indexes " +
+ "WHERE indexdef ILIKE '%UNIQUE%' " +
+ "AND tablename = ? and schemaname = ?";
+
+ try (PreparedStatement pstmt = conn.prepareStatement(query)) {
+
+ pstmt.setString(1, tableName);
+ pstmt.setString(2, tableSchema);
+ ResultSet rs = pstmt.executeQuery();
+
+ while (rs.next()) {
+ String indexDef = rs.getString("indexdef");
+ List columns = extractColumnsFromIndexDef(indexDef);
+
+ uniques.addAll(columns);
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+
+ return uniques;
+ }
+
+ public static Map> getUserDefinedEnumDataTypes(String tableName, String schemaName, Connection conn) {
+ String query =
+ "SELECT " +
+ " a.attname AS column_name, " +
+ " t.typname AS data_type " +
+ "FROM " +
+ " pg_attribute a " +
+ "JOIN " +
+ " pg_class c ON a.attrelid = c.oid " +
+ "JOIN " +
+ " pg_type t ON a.atttypid = t.oid " +
+ "JOIN " +
+ " pg_namespace n ON t.typnamespace = n.oid " +
+ "WHERE " +
+ " c.relname = ? AND " +
+ " n.nspname = ? AND " +
+ " (t.typtype = 'c' OR t.typtype = 'e' OR t.typtype = 'b') " +
+ "ORDER BY " +
+ " a.attnum;";
+
+ Map> columnDataTypes = new HashMap<>();
+
+ try (PreparedStatement preparedStatement = conn.prepareStatement(query)) {
+ preparedStatement.setString(1, tableName);
+ preparedStatement.setString(2, schemaName);
+
+ try (ResultSet resultSet = preparedStatement.executeQuery()) {
+ while (resultSet.next()) {
+ String columnName = resultSet.getString("column_name");
+ String dataType = resultSet.getString("data_type");
+ List distinctEnumValues = getEnumValues(dataType, conn);
+ columnDataTypes.put(columnName, distinctEnumValues);
+ }
+ }
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+
+ return columnDataTypes;
+ }
+
+ public static List getEnumValues(String typename, Connection conn) throws SQLException {
+ String query =
+ "SELECT e.enumlabel AS enum_value " +
+ "FROM pg_enum e " +
+ "JOIN pg_type t ON t.oid = e.enumtypid " +
+ "WHERE t.typname = ? " +
+ "ORDER BY e.enumsortorder";
+
+ List enumValues = new ArrayList<>();
+
+ try (PreparedStatement preparedStatement = conn.prepareStatement(query)) {
+ preparedStatement.setString(1, typename);
+
+ try (ResultSet resultSet = preparedStatement.executeQuery()) {
+ while (resultSet.next()) {
+ enumValues.add(resultSet.getString("enum_value"));
+ }
+ }
+ }
+
+ return enumValues;
+ }
+
+ // Method to extract column name(s) from index definition
+ private static List extractColumnsFromIndexDef(String indexDef) {
+ // Example index definition: "CREATE UNIQUE INDEX idx_name ON tablename (column1, column2)"
+ // Extract column names from the parenthesis using regex
+ // Assuming the format is generally consistent, using regex to find column names in parentheses
+ String regex = "\\(([^)]+)\\)";
+ Pattern pattern = Pattern.compile(regex);
+ Matcher matcher = pattern.matcher(indexDef);
+ List filteredColumns = new ArrayList<>();
+
+ if (matcher.find()) {
+ String columnList = matcher.group(1);
+ // Split by comma and trim to get individual column names
+ String[] columns = columnList.split("\\s*,\\s*");
+ // Remove non-column words (e.g., HASH) by filtering out any non-alphabetic words
+ for (String column : columns) {
+ String[] splits = column.split(" ");
+ filteredColumns.add(splits[0]);
+ }
+ }
+ return filteredColumns;
+ }
+
+ public static List getForeignKeys(String tableName, String tableSchema, Connection conn) {
+ List foreignKeyList = new ArrayList<>();
+ String query = "SELECT " +
+ "kcu.table_schema AS schema_name, " +
+ "kcu.table_name AS table_name, " +
+ "kcu.column_name AS column_name, " +
+ "col.data_type AS column_data_type, " +
+ "ccu.table_schema AS foreign_table_schema, " +
+ "ccu.table_name AS foreign_table_name, " +
+ "ccu.column_name AS foreign_column_name " +
+ "FROM information_schema.table_constraints AS tc " +
+ "JOIN information_schema.key_column_usage AS kcu " +
+ "ON tc.constraint_name = kcu.constraint_name " +
+ "AND tc.table_schema = kcu.table_schema " +
+ "JOIN information_schema.constraint_column_usage AS ccu " +
+ "ON ccu.constraint_name = tc.constraint_name " +
+ "JOIN information_schema.columns AS col " +
+ "ON kcu.table_schema = col.table_schema " +
+ "AND kcu.table_name = col.table_name " +
+ "AND kcu.column_name = col.column_name " +
+ "WHERE tc.constraint_type = 'FOREIGN KEY' " +
+ "AND kcu.table_name = ? AND kcu.table_schema = ?";
+
+ try (PreparedStatement pstmt = conn.prepareStatement(query)) {
+
+ pstmt.setString(1, tableName);
+ pstmt.setString(2, tableSchema);
+ ResultSet rs = pstmt.executeQuery();
+
+ while (rs.next()) {
+ ForeignKey foreignKey = new ForeignKey();
+ foreignKey.setSchemaName(rs.getString("schema_name"));
+ foreignKey.setTableName(rs.getString("table_name"));
+ foreignKey.setColumnName(rs.getString("column_name"));
+ // need to remove all spaces from datatype so that we can do string matching with properties
+ foreignKey.setColumnDataType(rs.getString("column_data_type").replaceAll("\\s", ""));
+ foreignKey.setForeignTableSchema(rs.getString("foreign_table_schema"));
+ foreignKey.setForeignTableName(rs.getString("foreign_table_name"));
+ foreignKey.setForeignColumnName(rs.getString("foreign_column_name"));
+ foreignKeyList.add(foreignKey);
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+
+ return foreignKeyList;
+ }
+
+ public static void buildDependencyDAGForTable(Map> graph, List foreignKeyList,
+ String tableSchema, Connection conn) {
+ // Build the adjacency list
+ for (ForeignKey fk : foreignKeyList) {
+ graph.computeIfAbsent(fk.getTableName(), k -> new ArrayList<>()).add(new Dependency(fk.getForeignTableName(), -1));
+ List fkOfFks = getForeignKeys(fk.getForeignTableName(), tableSchema, conn);
+ if (!fkOfFks.isEmpty()) {
+ buildDependencyDAGForTable(graph, fkOfFks, tableSchema, conn);
+ }
+ }
+ }
+
+ public Map utilsMapping(List tableSchema, List primaryKeys,
+ List foreignKeys, int limit, int rows,
+ List uniqueConstraintColumns,
+ Map> udColumData) {
+ Map columnToUtilMapping = new LinkedHashMap<>();
+ // take care of the primary keys first
+ for (PrimaryKey pk : primaryKeys) {
+ columnToUtilMapping.put(pk.getColumnName(), pkProperties.get(pk.getDataType()));
+ }
+
+ for (ForeignKey fk : foreignKeys) {
+ if (!columnToUtilMapping.containsKey(fk.getColumnName())) {
+ FkPropertyMapping fkm = fkProperties.get(fk.getColumnDataType());
+ PropertyMapping pm = new PropertyMapping(fkm.className, limit, fk.getDistinctValues());
+ columnToUtilMapping.put(fk.getColumnName(), pm);
+ }
+ }
+ udColumData.forEach((colName, values) -> {
+ if (!columnToUtilMapping.containsKey(colName)) {
+ // Caveat: treating all user defined data types as list of String utility
+ PropertyMapping pm = new PropertyMapping("OneStringFromArray", values.size(), values);
+ columnToUtilMapping.put(colName, pm);
+ }
+ });
+ // take care of the rest of the keys
+ for (Column col : tableSchema) {
+ if (!columnToUtilMapping.containsKey(col.getColumnName())) {
+ PropertyMapping pm;
+ // if column is one of the unique constraint columns, then use primary key util functions for it
+ if (uniqueConstraintColumns.contains(col.getColumnName()))
+ pm = pkProperties.get(col.getDataType());
+ else {
+
+ if (col.getDataType().equalsIgnoreCase("array")) {
+ // if it is array data type, find utility function with base data type
+ pm = arrayProperties.get(col.getBaseDataType().toLowerCase());
+ // if suitable utility function is not present and the column is nullable, it can be skipped
+ if (pm == null && col.getNullable()) continue;
+ } else {
+ // if it is not array type, find utility function is properties.
+ pm = properties.get(col.getDataType().toLowerCase());
+ }
+ }
+
+ if (pm == null && !col.getNullable()) {
+ throw new RuntimeException(String.format("Cannot find suitable utility function for NOT NULL column " +
+ "`%s` of datatype `%s`. Consider asking #perf team to add a utility function for given " +
+ "data type", col.getColumnName(), col.getDataType()));
+ }
+ PropertyMapping pmForColumn = new PropertyMapping(pm);
+ for (int i = 0; i < pmForColumn.params.size(); i++) {
+ Object obj = pmForColumn.params.get(i);
+ if (obj instanceof String) {
+ if (obj.toString().equalsIgnoreCase("rows")) {
+ pmForColumn.params.set(i, rows);
+ } else if (obj.toString().equalsIgnoreCase("max") && col.getCharacterMaximumLength() != null) {
+ pmForColumn.params.set(i, col.getCharacterMaximumLength());
+ }
+ }
+ }
+ columnToUtilMapping.put(col.getColumnName(), pmForColumn);
+ }
+ }
+
+ return columnToUtilMapping;
+ }
+
+ public Root generateMappingObject(String tableName, int rows, Map colToUtilsMapping,
+ List fkColNames, Map> udColumns) {
+ LoadRule loadRule = new LoadRule(tableName, rows);
+ colToUtilsMapping.forEach((colName, prop) -> {
+ Column1 col = new Column1(colName, prop.className);
+
+ prop.params.forEach(param -> {
+ if (fkColNames.contains(colName)) {
+ if (param instanceof Integer || param instanceof Long)
+ col.params.add(param);
+ else
+ col.params.add(param.toString());
+ } else if (udColumns.containsKey(colName)) {
+ if (param instanceof Integer || param instanceof Long)
+ col.params.add(param);
+ else
+ col.params.add(param.toString());
+ } else {
+ if (param.toString().equalsIgnoreCase("rows")) {
+ col.params.add(rows);
+ } else {
+ col.params.add(Long.parseLong(param.toString()));
+ }
+ }
+ });
+
+ loadRule.columns.add(col);
+ });
+ Properties properties1 = new Properties(List.of(loadRule));
+ Microbenchmark mb = new Microbenchmark(properties1);
+ return new Root(mb);
+ }
+
+ public void writeToFile(String tableName, int rows, Root root) {
+ // Configure SnakeYAML options
+ DumperOptions options = new DumperOptions();
+ options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
+ options.setPrettyFlow(true);
+
+ Representer representer = new Representer(options);
+ representer.addClassTag(Root.class, Tag.MAP);
+ representer.setPropertyUtils(new CustomPropertyUtils());
+ Yaml yaml = new Yaml(representer, options);
+
+ try {
+ // Read existing YAML file
+ FileReader reader = new FileReader(workConf.getConfigFilePath());
+ Map existingData = yaml.load(reader);
+ reader.close();
+
+ // Create new YAML content
+ StringWriter writer = new StringWriter();
+ yaml.dump(root, writer);
+ Map newData = yaml.load(new StringReader(writer.toString()));
+
+ // Create a new combined data map
+ Map combinedData = new LinkedHashMap<>();
+ combinedData.putAll(existingData);
+ combinedData.putAll(newData);
+
+ // Write combined data to the new output file
+ FileWriter fileWriter = new FileWriter(String.format("%s/%s_loader.yaml", System.getProperty("user.dir"), tableName));
+ yaml.dump(combinedData, fileWriter);
+ fileWriter.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void getDistinctValuesFromParentTable(Connection conn, List foreignKeyList, int limit, String schemaOfTable) {
+ String queryTemplate = "SELECT DISTINCT %s FROM %s LIMIT %d";
+ for (ForeignKey foreignKey : foreignKeyList) {
+ String query = String.format(queryTemplate, foreignKey.getForeignColumnName(), foreignKey.getForeignTableName(), limit);
+ try (PreparedStatement pstmt = conn.prepareStatement(query);
+ ResultSet rs = pstmt.executeQuery()) {
+
+ List distinctValues = new ArrayList<>();
+ while (rs.next()) {
+ distinctValues.add(rs.getObject(1));
+ }
+ if (distinctValues.isEmpty()) {
+ Map levelAndTables = new LinkedHashMap<>();
+ Map> graph = new HashMap<>();
+ Map> depth = new TreeMap<>();
+ Set visited = new HashSet<>();
+
+ buildDependencyDAGForTable(graph, foreignKeyList, schemaOfTable, conn);
+
+ StringBuilder loadOrder = new StringBuilder(String.format("There are no entries in the parent " +
+ "table `%s` for column `%s` to be used as foreign key. Consider loading tables in " +
+ "following order/Levels(tables from `Level 0` first, then `Level 1` and so on: ", foreignKey.getForeignTableName(),
+ foreignKey.getForeignColumnName()));
+
+ String startTable = graph.keySet().iterator().next();
+ Map> levelsAndTables = getOrderOfImport(startTable, loadOrder, graph, depth, visited);
+ throw new RuntimeException(loadOrder.append(generateLoadOrder(levelsAndTables)).toString());
+ }
+ foreignKey.setDistinctValues(distinctValues);
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ public static class Column1 {
+ public String name;
+ public String util;
+ public List params;
+
+ public Column1(String name, String util) {
+ this.name = name;
+ this.util = util;
+ this.params = new ArrayList<>();
+ }
+ }
+
+ public static class LoadRule {
+ public String table;
+ public int rows;
+ public List columns = new ArrayList<>();
+
+ public LoadRule(String table, int rows, List columns) {
+ this.table = table;
+ this.rows = rows;
+ this.columns = columns;
+ }
+
+ public LoadRule(String table, int rows) {
+ this.table = table;
+ this.rows = rows;
+ }
+ }
+
+ public static class Properties {
+ public List loadRules;
+
+ public Properties(List loadRules) {
+ this.loadRules = loadRules;
+ }
+ }
+
+ public static class Microbenchmark {
+ public Properties properties;
+ @JsonProperty("class")
+ public String className = "com.oltpbenchmark.benchmarks.featurebench.customworkload.YBDefaultMicroBenchmark";
+
+ public Microbenchmark(Properties properties) {
+ this.properties = properties;
+ }
+ }
+
+ public static class Root {
+ public Microbenchmark microbenchmark;
+
+ public Root(Microbenchmark microbenchmark) {
+ this.microbenchmark = microbenchmark;
+ }
+ }
+
+ // Create custom PropertyUtils to enforce field order
+ static class CustomPropertyUtils extends PropertyUtils {
+ @Override
+ protected Set createPropertySet(Class> type, BeanAccess bAccess) {
+ Set properties = super.createPropertySet(type, bAccess);
+ if (type == Column1.class) {
+ List order = Arrays.asList("name", "util", "params");
+ List sortedProperties = new ArrayList<>(properties);
+ sortedProperties.sort(Comparator.comparingInt(p -> order.indexOf(p.getName())));
+ return new LinkedHashSet<>(sortedProperties);
+ }
+ if (type == Microbenchmark.class) {
+ List order = Arrays.asList("className", "properties");
+ List sortedProperties = new ArrayList<>(properties);
+ sortedProperties.sort(Comparator.comparingInt(p -> order.indexOf(p.getName())));
+ return new LinkedHashSet<>(sortedProperties);
+ }
+ if (type == LoadRule.class) {
+ List order = Arrays.asList("table", "rows", "columns");
+ List sortedProperties = new ArrayList<>(properties);
+ sortedProperties.sort(Comparator.comparingInt(p -> order.indexOf(p.getName())));
+ return new LinkedHashSet<>(sortedProperties);
+ }
+ return properties;
+ }
+ }
+
+ // Helper class to store table name and level change
+ public static class Dependency {
+ String table;
+ int levelChange;
+
+ Dependency(String table, int levelChange) {
+ this.table = table;
+ this.levelChange = levelChange;
+ }
+ }
+
+ // Function to print nodes by levels
+ public Map> getOrderOfImport(String startTable, StringBuilder loadOrder,
+ Map> graph , Map> depth,
+ Set visited) {
+ Map> levelsAndTables = new LinkedHashMap<>();
+ dfs(startTable, 0, graph, depth, visited);
+
+ // Adjust levels to start from 0
+ Map> adjustedDepth = new TreeMap<>();
+ for (Map.Entry> entry : depth.entrySet()) {
+ int adjustedLevel = entry.getKey() - minLevel;
+ adjustedDepth.computeIfAbsent(adjustedLevel, k -> new ArrayList<>()).addAll(entry.getValue());
+ }
+
+ // Output the final levels of nodes
+ for (Map.Entry> entry : adjustedDepth.entrySet()) {
+ int level = entry.getKey();
+ List tablesAtLevel = entry.getValue();
+ levelsAndTables.put(level, tablesAtLevel);
+ }
+
+ return levelsAndTables;
+ }
+
+ public StringBuilder generateLoadOrder(Map> levelAndTables) {
+ StringBuilder loadOrder = new StringBuilder();
+ for (Map.Entry> entry : levelAndTables.entrySet()) {
+ int level = entry.getKey();
+ loadOrder.append("\n").append("Level ").append(level).append(": ").append(String.join(", ", levelAndTables.get(level)));
+ }
+
+ return loadOrder;
+ }
+
+ // DFS function to populate the levels map
+ public void dfs(String table, int level, Map> graph , Map> depth,
+ Set visited) {
+ visited.add(table);
+ depth.computeIfAbsent(level, k -> new ArrayList<>()).add(table);
+
+ // Update the minimum level encountered
+ if (level < minLevel) {
+ minLevel = level;
+ }
+
+ if (graph.containsKey(table)) {
+ for (Dependency dep : graph.get(table)) {
+ if (!visited.contains(dep.table)) {
+ dfs(dep.table, level + dep.levelChange, graph, depth, visited);
+ }
+ }
+ }
+ }
+
+ public void buildGraph(Connection conn, Set processedTables, Map> graph) {
+ String query = "SELECT tc.table_name AS child_table, ccu.table_name AS parent_table "
+ + "FROM information_schema.table_constraints AS tc "
+ + "JOIN information_schema.key_column_usage AS kcu "
+ + "ON tc.constraint_name = kcu.constraint_name AND tc.table_schema = kcu.table_schema "
+ + "JOIN information_schema.constraint_column_usage AS ccu "
+ + "ON ccu.constraint_name = tc.constraint_name AND ccu.table_schema = tc.table_schema "
+ + "WHERE tc.constraint_type = 'FOREIGN KEY'";
+
+ try (Statement stmt = conn.createStatement();
+ ResultSet rs = stmt.executeQuery(query)) {
+ while (rs.next()) {
+ String childTable = rs.getString("child_table");
+ String parentTable = rs.getString("parent_table");
+
+ processedTables.add(parentTable.toLowerCase());
+ processedTables.add(childTable.toLowerCase());
+ // Build the adjacency list
+ graph.computeIfAbsent(parentTable, k -> new ArrayList<>()).add(new Dependency(childTable, 1));
+ graph.computeIfAbsent(childTable, k -> new ArrayList<>()).add(new Dependency(parentTable, -1));
+ }
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public static List getAllTables(Connection connection) throws SQLException {
+ List tables = new ArrayList<>();
+ DatabaseMetaData metaData = connection.getMetaData();
+ String[] types = {"TABLE"};
+ try (ResultSet rs = metaData.getTables(null, null, "%", types)) {
+ while (rs.next()) {
+ String tableName = rs.getString("TABLE_NAME");
+ tables.add(tableName);
+ }
+ }
+ return tables;
+ }
+}
diff --git a/src/main/java/com/oltpbenchmark/benchmarks/dataloader/FkPropertyMapping.java b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/FkPropertyMapping.java
new file mode 100644
index 000000000..5eabd5868
--- /dev/null
+++ b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/FkPropertyMapping.java
@@ -0,0 +1,12 @@
+package com.oltpbenchmark.benchmarks.dataloader;
+
+
+public class FkPropertyMapping {
+ public String className;
+ public String dataType;
+
+ public FkPropertyMapping(String className, String dataType) {
+ this.className = className;
+ this.dataType = dataType;
+ }
+}
diff --git a/src/main/java/com/oltpbenchmark/benchmarks/dataloader/ForeignKey.java b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/ForeignKey.java
new file mode 100644
index 000000000..28fe99991
--- /dev/null
+++ b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/ForeignKey.java
@@ -0,0 +1,93 @@
+package com.oltpbenchmark.benchmarks.dataloader;
+
+import java.util.List;
+
+public class ForeignKey {
+ private String schemaName;
+ private String tableName;
+ private String columnName;
+ private String columnDataType;
+ private String foreignTableSchema;
+ private String foreignTableName;
+ private String foreignColumnName;
+ private List distinctValues; // Add this line
+
+ // Getters and Setters
+ public String getSchemaName() {
+ return schemaName;
+ }
+
+ public void setSchemaName(String schemaName) {
+ this.schemaName = schemaName;
+ }
+
+ public String getTableName() {
+ return tableName;
+ }
+
+ public void setTableName(String tableName) {
+ this.tableName = tableName;
+ }
+
+ public String getColumnName() {
+ return columnName;
+ }
+
+ public void setColumnName(String columnName) {
+ this.columnName = columnName;
+ }
+
+ public String getColumnDataType() {
+ return columnDataType;
+ }
+
+ public void setColumnDataType(String columnDataType) {
+ this.columnDataType = columnDataType;
+ }
+
+ public String getForeignTableSchema() {
+ return foreignTableSchema;
+ }
+
+ public void setForeignTableSchema(String foreignTableSchema) {
+ this.foreignTableSchema = foreignTableSchema;
+ }
+
+ public String getForeignTableName() {
+ return foreignTableName;
+ }
+
+ public void setForeignTableName(String foreignTableName) {
+ this.foreignTableName = foreignTableName;
+ }
+
+ public String getForeignColumnName() {
+ return foreignColumnName;
+ }
+
+ public void setForeignColumnName(String foreignColumnName) {
+ this.foreignColumnName = foreignColumnName;
+ }
+
+ public List getDistinctValues() {
+ return distinctValues;
+ }
+
+ public void setDistinctValues(List distinctValues) {
+ this.distinctValues = distinctValues;
+ }
+
+ @Override
+ public String toString() {
+ return "ForeignKey{" +
+ "schemaName='" + schemaName + '\'' +
+ ", tableName='" + tableName + '\'' +
+ ", columnName='" + columnName + '\'' +
+ ", columnDataType='" + columnDataType + '\'' +
+ ", foreignTableSchema='" + foreignTableSchema + '\'' +
+ ", foreignTableName='" + foreignTableName + '\'' +
+ ", foreignColumnName='" + foreignColumnName + '\'' +
+ ", distinctValues=" + distinctValues +
+ '}';
+ }
+}
diff --git a/src/main/java/com/oltpbenchmark/benchmarks/dataloader/PrimaryKey.java b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/PrimaryKey.java
new file mode 100644
index 000000000..a3dfee6b8
--- /dev/null
+++ b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/PrimaryKey.java
@@ -0,0 +1,31 @@
+package com.oltpbenchmark.benchmarks.dataloader;
+
+public class PrimaryKey {
+ private String columnName;
+ private String dataType;
+
+ // Getters and Setters
+ public String getColumnName() {
+ return columnName;
+ }
+
+ public void setColumnName(String columnName) {
+ this.columnName = columnName;
+ }
+
+ public String getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(String dataType) {
+ this.dataType = dataType;
+ }
+
+ @Override
+ public String toString() {
+ return "PrimaryKey{" +
+ "columnName='" + columnName + '\'' +
+ ", dataType='" + dataType + '\'' +
+ '}';
+ }
+}
diff --git a/src/main/java/com/oltpbenchmark/benchmarks/dataloader/PropertyMapping.java b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/PropertyMapping.java
new file mode 100644
index 000000000..a39d3876e
--- /dev/null
+++ b/src/main/java/com/oltpbenchmark/benchmarks/dataloader/PropertyMapping.java
@@ -0,0 +1,41 @@
+package com.oltpbenchmark.benchmarks.dataloader;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PropertyMapping {
+// public String key;
+ public String className;
+ public int numParams;
+ public List params;
+
+
+ public PropertyMapping(String className, int numParams, List params) {
+// this.key = key;
+ this.className = className;
+ this.numParams = numParams;
+ this.params = params;
+ }
+
+ public PropertyMapping(PropertyMapping other) {
+ this.className = other.className;
+ this.numParams = other.numParams;
+ this.params = new ArrayList<>();
+ for (Object param : other.params) {
+ this.params.add(clone(param));
+ }
+ }
+
+ private Object clone(Object obj) {
+ if (obj instanceof Cloneable) {
+ try {
+ // Use reflection to call the clone method
+ return obj.getClass().getMethod("clone").invoke(obj);
+ } catch (Exception e) {
+ throw new RuntimeException("Clone failed", e);
+ }
+ }
+ // Fallback to simple object copy (might not work for all types)
+ return obj;
+ }
+}
diff --git a/src/main/java/com/oltpbenchmark/benchmarks/featurebench/.DS_Store b/src/main/java/com/oltpbenchmark/benchmarks/featurebench/.DS_Store
new file mode 100644
index 000000000..4d18c1867
Binary files /dev/null and b/src/main/java/com/oltpbenchmark/benchmarks/featurebench/.DS_Store differ
diff --git a/src/main/java/com/oltpbenchmark/benchmarks/featurebench/FeatureBenchBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/featurebench/FeatureBenchBenchmark.java
new file mode 100644
index 000000000..a22f3b4f1
--- /dev/null
+++ b/src/main/java/com/oltpbenchmark/benchmarks/featurebench/FeatureBenchBenchmark.java
@@ -0,0 +1,207 @@
+/*
+ * Copyright 2020 by OLTPBenchmark Project
+ *
+ * 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 com.oltpbenchmark.benchmarks.featurebench;
+
+import com.oltpbenchmark.DBWorkload;
+import com.oltpbenchmark.WorkloadConfiguration;
+import com.oltpbenchmark.api.BenchmarkModule;
+import com.oltpbenchmark.api.Loader;
+import com.oltpbenchmark.api.Worker;
+import com.oltpbenchmark.benchmarks.featurebench.helpers.UtilToMethod;
+import com.oltpbenchmark.benchmarks.featurebench.procedures.FeatureBench;
+import com.oltpbenchmark.benchmarks.featurebench.workerhelpers.ExecuteRule;
+import com.oltpbenchmark.benchmarks.featurebench.workerhelpers.Query;
+import com.oltpbenchmark.util.TimeUtil;
+import net.sf.jsqlparser.statement.delete.Delete;
+import net.sf.jsqlparser.statement.insert.Insert;
+import net.sf.jsqlparser.statement.select.Select;
+import net.sf.jsqlparser.statement.update.Update;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.tree.ImmutableNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *
+ */
+public class FeatureBenchBenchmark extends BenchmarkModule {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DBWorkload.class);
+
+ public FeatureBenchBenchmark(WorkloadConfiguration workConf) {
+ super(workConf);
+ }
+
+ @Override
+ protected List> makeWorkersImpl(int workcount) {
+
+ List> workers = new ArrayList<>();
+ HierarchicalConfiguration conf = workConf.getXmlConfig().configurationAt("microbenchmark");
+ List> confExecuteRules = conf.configurationsAt("properties/executeRules[" + workcount + "]/run");
+ String workloadName = conf.getString("properties/executeRules[" + workcount + "]/workload") != null ? conf.getString("properties/executeRules[" + workcount + "]/workload") : TimeUtil.getCurrentTimeString();
+
+ // Reset the shared per-workload state exactly once, before creating this
+ // workload's workers, so the "run once" init/teardown guards start clean.
+ FeatureBenchWorker.resetSharedState();
+
+ for (int i = 0; i < workConf.getTerminals(); ++i) {
+ FeatureBenchWorker worker = new FeatureBenchWorker(this, i,
+ conf.getString("class"),
+ conf.configurationAt("properties"),
+ configToExecuteRules(confExecuteRules, i, workConf.getTerminals()),
+ workloadName);
+ workers.add(worker);
+ }
+ return workers;
+ }
+
+ @Override
+ protected List> makeWorkersImpl() throws IOException {
+ return null;
+ }
+
+ @Override
+ protected Loader makeLoaderImpl() {
+ HierarchicalConfiguration conf = workConf.getXmlConfig().configurationAt("microbenchmark");
+ FeatureBenchLoader loader = new FeatureBenchLoader(this);
+ loader.workloadClass = conf.getString("class", conf.getString("className"));
+ loader.config = conf.configurationAt("properties");
+ return loader;
+ }
+
+ @Override
+ protected Package getProcedurePackageImpl() {
+ return FeatureBench.class.getPackage();
+ }
+
+ private List configToExecuteRules(List> confExecuteRules, int workerId, int totalWorker) {
+ List executeRules = new ArrayList<>();
+ for (HierarchicalConfiguration confExecuteRule : confExecuteRules) {
+
+ if (!confExecuteRule.containsKey("name")) {
+ break;
+ }
+
+ ExecuteRule rule = new ExecuteRule();
+ rule.setName(confExecuteRule.getString("name"));
+ rule.setWeight(confExecuteRule.getInt("weight"));
+ List queries = new ArrayList<>();
+ for (HierarchicalConfiguration confquery : confExecuteRule.configurationsAt("queries")) {
+ Query query = new Query();
+ if (confquery.containsKey("pattern_count")) {
+ query.setPattern_count(confquery.getInt("pattern_count"));
+ }
+ String querystmt = confquery.getString("query");
+ query.setQuery(querystmt);
+ if (confquery.containsKey("count")) {
+ query.setCount(confquery.getInt("count"));
+ }
+
+ if (confquery.containsKey("explain-plan-rc-validation")) {
+ query.setExplainPlanRCValidateCount(confquery.getInt("explain-plan-rc-validation"));
+ }
+
+ int query_hint_index = querystmt.indexOf("*/");
+ String query_type = "";
+ query_type = getQueryTypeforStatement(querystmt);
+ if (query_hint_index != -1) {
+ query_type = querystmt.substring(query_hint_index + 2, querystmt.indexOf(' ', query_hint_index + 4)).trim();
+
+ }
+
+ if (query_type.equalsIgnoreCase("select")) {
+ query.setSelectQuery(true);
+ }
+ if (query_type.equalsIgnoreCase("update")) {
+ query.setUpdateQuery(true);
+ }
+ List baseutils = new ArrayList<>();
+
+ for (HierarchicalConfiguration bindingsList : confquery.configurationsAt("bindings")) {
+ String referenceName = bindingsList.getString("referenceName", null);
+
+ if (bindingsList.containsKey("count")) {
+ int count = bindingsList.getInt("count");
+ for (int i = 0; i < count; i++) {
+ UtilToMethod obj = new UtilToMethod(bindingsList.getString("util"), bindingsList.getList("params"), workerId, totalWorker, referenceName);
+ baseutils.add(obj);
+ }
+ } else if (bindingsList.containsKey("split_min_max_for_count")) {
+ int count = bindingsList.getInt("split_min_max_for_count");
+ if (bindingsList.getList("params").size() == 2) {
+ List bindings = bindingsList.getList("params");
+ int min = (int) bindings.get(0);
+ int max = (int) bindings.get(1);
+ int range = max - min + 1;
+ int splitSize = range / count;
+ int remainder = range % count;
+
+ int currentMin = min;
+ for (int i = 0; i < count; i++) {
+ int currentMax = currentMin + splitSize - 1;
+ if (remainder > 0) {
+ currentMax++;
+ remainder--;
+ }
+ UtilToMethod obj = new UtilToMethod(bindingsList.getString("util"), List.of(currentMin, currentMax), workerId, totalWorker, referenceName);
+ baseutils.add(obj);
+ currentMin = currentMax + 1;
+ }
+ }
+ } else {
+ UtilToMethod obj = new UtilToMethod(bindingsList.getString("util"), bindingsList.getList("params"), workerId, totalWorker, referenceName);
+ baseutils.add(obj);
+ }
+ }
+ query.setBaseUtils(baseutils);
+ queries.add(query);
+ }
+ rule.setQueries(queries);
+ executeRules.add(rule);
+ }
+ return executeRules;
+ }
+
+ private static String getQueryTypeforStatement(String sql) {
+ try {
+ // Parse the SQL using JSQLParser
+ net.sf.jsqlparser.statement.Statement statement = net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(sql);
+
+ if (statement instanceof Select) {
+ return "SELECT";
+ } else if (statement instanceof Insert) {
+ return "INSERT";
+ } else if (statement instanceof Update) {
+ return "UPDATE";
+ } else if (statement instanceof Delete) {
+ return "DELETE";
+ } else {
+ return "";
+ }
+
+ } catch (Exception e) {
+ return "";
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/oltpbenchmark/benchmarks/featurebench/FeatureBenchLoader.java b/src/main/java/com/oltpbenchmark/benchmarks/featurebench/FeatureBenchLoader.java
new file mode 100644
index 000000000..8d47e7c7a
--- /dev/null
+++ b/src/main/java/com/oltpbenchmark/benchmarks/featurebench/FeatureBenchLoader.java
@@ -0,0 +1,343 @@
+/*
+ * Copyright 2020 by OLTPBenchmark Project
+ *
+ * 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 com.oltpbenchmark.benchmarks.featurebench;
+
+import com.oltpbenchmark.api.Loader;
+import com.oltpbenchmark.api.LoaderThread;
+import com.oltpbenchmark.benchmarks.featurebench.helpers.UtilToMethod;
+import com.oltpbenchmark.benchmarks.featurebench.utils.BaseUtil;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.tree.ImmutableNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.sql.Statement;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import java.lang.reflect.InvocationTargetException;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.*;
+
+
+public class FeatureBenchLoader extends Loader {
+ private static final Logger LOG = LoggerFactory.getLogger(FeatureBenchLoader.class);
+ // Incremented by each loader thread at the end of its load(), and read in afterLoad()
+ // (which the framework runs per thread, concurrently, in a finally block) to detect the
+ // last finisher that should trigger the afterLoad DDLs. Must be atomic: with a plain int,
+ // concurrent loader threads (loaderthreads > 1) lose increments, the counter never reaches
+ // sizeOfLoadRule, and the afterLoad phase silently never runs.
+ static AtomicInteger numberOfGeneratorFinished = new AtomicInteger(0);
+ public String workloadClass = null;
+ public HierarchicalConfiguration config = null;
+ public YBMicroBenchmark ybm = null;
+ public int sizeOfLoadRule = 0;
+ static AtomicBoolean isAfterLoadDone = new AtomicBoolean(false);
+ PreparedStatement stmt;
+
+ public FeatureBenchLoader(FeatureBenchBenchmark benchmark) {
+ super(benchmark);
+ }
+
+ @Override
+ public List createLoaderThreads() {
+ try {
+ ybm = (YBMicroBenchmark) Class.forName(workloadClass)
+ .getDeclaredConstructor(HierarchicalConfiguration.class)
+ .newInstance(config);
+
+ createPhaseAndBeforeLoad();
+
+ ArrayList loaderThreads = new ArrayList<>();
+ if (ybm.loadOnceImplemented) {
+ loaderThreads.add(new GeneratorOnce(ybm));
+ } else {
+ loadRulesYaml(loaderThreads);
+ }
+ sizeOfLoadRule = loaderThreads.size();
+ return loaderThreads;
+ } catch (InstantiationException | IllegalAccessException |
+ InvocationTargetException | NoSuchMethodException |
+ ClassNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private void createPhaseAndBeforeLoad() {
+ try {
+ Connection conn = benchmark.makeConnection();
+ if (!config.containsKey("create")) {
+ long createStart = System.currentTimeMillis();
+ ybm.create(conn);
+ long createEnd = System.currentTimeMillis();
+ LOG.info("Elapsed time in create phase: {} milliseconds", createEnd - createStart);
+ }
+ if (ybm.beforeLoadImplemented) {
+ ybm.beforeLoad(conn);
+ }
+ conn.close();
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private void loadRulesYaml(ArrayList loaderThreads) throws ClassNotFoundException,
+ InvocationTargetException, NoSuchMethodException, InstantiationException,
+ IllegalAccessException {
+
+ List> loadRulesConfig = config.configurationsAt("loadRules");
+ if (loadRulesConfig.isEmpty()) {
+ throw new RuntimeException("Empty Load Rules");
+ }
+ LOG.info("Using YAML for load phase");
+ for (HierarchicalConfiguration loadRuleConfig : loadRulesConfig) {
+ List>
+ columnsConfigs = loadRuleConfig.configurationsAt("columns");
+ List> columns = new ArrayList<>();
+ for (HierarchicalConfiguration columnsConfig : columnsConfigs) {
+ Iterator columnKeys = columnsConfig.getKeys();
+ Map