Files
matrix/cygnus-onprem-db/README.md

40 lines
1.2 KiB
Markdown

# Cygnus On-Premises Database Core
This module executes cloud-supplied, parameterized query definitions against the
on-premises JDBC `DataSource` without creating delimiter strings or `String[][]`
result buffers.
## Query format
The query catalog value retains the operation prefix during incremental migration:
```text
select!C0L!select id, name from operation where operation_type = ? and operated_by = ?
```
Legacy `val0`, `val1`, ... placeholders are rejected by the modern executor. They
remain available through the existing `DBFunctions.FetchRunQuery` path until each
query is migrated.
## Usage
```java
List<Operation> rows = dbFunctions.query(
600,
new Object[] { operationType, operatedBy },
Operation.class);
```
For maximum throughput, use an explicit mapper:
```java
List<Operation> rows = dbFunctions.query(
600,
parameters,
result -> new Operation(result.getLong("id"), result.getString("name")));
```
Large reports can use `stream(...)` so rows are consumed without retaining the
whole result in memory. PostgreSQL cursor fetching is enabled by running reads with
auto-commit disabled and the configured fetch size.