atiaomar1978-hub commented on PR #25102:
URL: https://github.com/apache/camel/pull/25102#issuecomment-5073620531

   Thanks for the thorough review @gnodet — all four points are addressed in 
7d9c51a34a8.
   
   - **`DuckDbException` checked exception** — changed to extend 
`RuntimeException` as you suggested, which also clears the `buildCopySql()` / 
`resolveFormat()` compilation errors.
   - **Alphabetical ordering** — `camel-duckdb` now sits after `camel-dropbox` 
in the BOM, `catalog/camel-allcomponents/pom.xml`, `components/pom.xml` and the 
docs nav, and `duckdb-jdbc-version` moved to the D section of `parent/pom.xml`.
   - **Dead `readOnly` parameter** — implemented rather than removed. 
`doStart()` now passes `duckdb.read_only=true` via a `Properties` object to 
`DriverManager.getConnection()`, so DuckDB itself rejects writes (`Cannot 
execute statement of type "INSERT" on database ... attached in read-only 
mode!`). `DuckDbProducerTest#readOnlyPreventsWrites` asserts both that reads 
still work and that the insert fails.
   - **Unquoted identifiers** — added `quoteIdentifier` / 
`quoteQualifiedIdentifier` in `DuckDbJdbcSupport`, applied to the table and 
column names in `buildInsertSql()` and to the table in `buildCopySql()`. 
Qualified names such as `main.events` are quoted per segment so the 
qualification survives, and identifiers the route author already quoted are 
passed through untouched. There is an end-to-end test inserting into a table 
named `order` with columns `select` and `group`.
   
   One extra fix while I was in there, called out separately in the PR 
description: the `databasePath[/table]` path convention split the remaining URI 
at the **first** `/`, so `duckdb:/data/warehouse.db` silently resolved to an 
in-memory database with `tmp/warehouse.db` as the table. Since the declared 
endpoint syntax is already just `duckdb:databasePath`, I removed the path 
convention — the table now comes from the `table` option or the 
`CamelDuckDbTable` header. Happy to split that into its own commit or revert it 
if you would rather keep the path form.
   
   Local run is green: 17 unit + 3 integration tests, formatter/impsort clean, 
`duckdb.json` regenerated.
   
   _Cursor on behalf of atiaomar1978-hub_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to