fix #228 by recommending statement for Oracle
This commit is contained in:
parent
5a6ecca8bc
commit
a0be7d162d
2 changed files with 17 additions and 1 deletions
|
|
@ -2,7 +2,10 @@
|
|||
|
||||
Only accretive/fixative changes will be made from now on.
|
||||
|
||||
* 1.3.834 in progress
|
||||
* 1.3.next in progress
|
||||
* Address [#228](https://github.com/seancorfield/next-jdbc/issues/228) by adding `PreparedStatement` caveat to the Oracle **Tips & Tricks** section.
|
||||
|
||||
* 1.3.834 -- 2022-09-23
|
||||
* Fix [#227](https://github.com/seancorfield/next-jdbc/issues/227) by correcting how [#221](https://github.com/seancorfield/next-jdbc/issues/221) was implemented.
|
||||
* Address [#224](https://github.com/seancorfield/next-jdbc/issues/224) by attempting to clarify how to use the snake/kebab options and builders.
|
||||
|
||||
|
|
|
|||
|
|
@ -167,6 +167,19 @@ An important performance issue to be aware of with Oracle's JDBC driver is that
|
|||
either need to either specify `:prefetch` in your db-spec hash map with a suitable value (say 1,000 or larger), or specify `&prefetch=` in your JDBC URL string. If you want
|
||||
to keep the default, you can change it on a per-statement basis by specifying `:fetch-size` as an option to `execute!` etc.
|
||||
|
||||
If you are using the 10g or later JDBC driver and you try to execute DDL statements that include SQL entities
|
||||
that start with a `:` (such as `:new` or `:old`), they will be treated as bindable parameter references if
|
||||
you use a `PreparedStatement` to execute them. Since that's the default for `execute!` etc, it means that you
|
||||
will likely get an error like the following:
|
||||
|
||||
```
|
||||
Missing IN or OUT parameter at index:: 1
|
||||
```
|
||||
|
||||
You will need to use `next.jdbc.prepare/statement` to create a `Statement` object and then call `execute!`
|
||||
on that to avoid this error. Don't forget to `.close` the `Statement` after `execute!` -- using `with-open`
|
||||
is the best way to ensure the statement is properly closed after use.
|
||||
|
||||
## PostgreSQL
|
||||
|
||||
When you use `:return-keys true` with `execute!` or `execute-one!` (or you use `insert!`), PostgreSQL returns the entire inserted row (unlike nearly every other database that just returns any generated keys!).
|
||||
|
|
|
|||
Loading…
Reference in a new issue