Skip to content

Feature/sql hana write#4628

Open
ness-david-dedu wants to merge 2 commits into
redpanda-data:mainfrom
ness-david-dedu:feature/sql-hana-write
Open

Feature/sql hana write#4628
ness-david-dedu wants to merge 2 commits into
redpanda-data:mainfrom
ness-david-dedu:feature/sql-hana-write

Conversation

@ness-david-dedu

Copy link
Copy Markdown
Contributor

Adds hana as a supported driver for sql_insert (output/processor), backed by github.com/SAP/go-hdb.

  • New hana entry in driverField enum (conn_fields.go), DSN format hdb://[user[:password]@]host[:port][?param1=value1&...], question-mark placeholder
    style.
  • sqlOpenWithReworks maps hana → underlying hdb driver name for database/sql.
  • New upsert bool field on sql_insert: when true (and driver is hana), emits UPSERT … WITH PRIMARY KEY instead of INSERT INTO — requires a primary key on
    the table, updates matching rows instead of inserting, avoids duplicates on retry.
  • New hanaWriter (output_sql_insert.go) implementing go-hdb bulk insert/upsert batching, active only when driver == "hana"; all other drivers unaffected.
  • Registered in public/components/sql/package.go (driver import) and internal/plugins/info.csv (sql_driver_hana, community, not yet certified for cloud).
  • Docs regenerated for sql_insert/sql_raw/sql_select (input/output/processor/cache) reflecting the new driver and upsert field.
  • Added go-hdb to go.mod/go.sum.
  • Added benchmarking harness (internal/impl/saphana/bench/saphana-write/): Taskfile, docker-compose (local Kafka), benchmark_config.yaml (Kafka →
    sql_insert upsert into HANA), and a Kafka load generator (load/main.go) for throughput testing against a real HANA instance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant