Skip to content

Commit a4c8dc4

Browse files
Merge pull request #20 from oracle/update-readme
Update README.md
2 parents e28f32c + 6ff50e5 commit a4c8dc4

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

README.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,10 @@ Options. For Options having any of the following names, a CharSequence value may
157157
- [oracle.net.ssl_context_protocol](https://docs.oracle.com/en/database/oracle/oracle-database/21/jajdb/oracle/jdbc/OracleConnection.html?is-external=true#CONNECTION_PROPERTY_SSL_CONTEXT_PROTOCOL)
158158
- [oracle.jdbc.fanEnabled](https://docs.oracle.com/en/database/oracle/oracle-database/21/jajdb/oracle/jdbc/OracleConnection.html?is-external=true#CONNECTION_PROPERTY_FAN_ENABLED)
159159
- [oracle.jdbc.implicitStatementCacheSize](https://docs.oracle.com/en/database/oracle/oracle-database/21/jajdb/oracle/jdbc/OracleConnection.html?is-external=true#CONNECTION_PROPERTY_IMPLICIT_STATEMENT_CACHE_SIZE)
160+
- Descriptor URLs of the form ```(DESCRIPTION=...)``` may be specified in a tnsnames.ora file.
161+
- The directory containing the tnsnames.ora file may be specified as an ```Option``` having the name "TNS_ADMIN"
162+
- An alias of a tnsnames.ora file may be specified as the value of ```ConnectionFactoryOptions.HOST```.
163+
- An alias of a tnsnames.ora file may be specified with an R2DBC URL: ```r2dbc:oracle://my_alias?TNS_ADMIN=/path/to/tnsnames/```
160164

161165

162166
### Thread Safety and Parallel Execution
@@ -195,15 +199,25 @@ be used when setting the bind value of an unnamed parameter.
195199
colon character (:) is followed by an alphanumeric parameter name. A name
196200
or numeric index may be used when setting the bind value of a named parameter.
197201
- Parameter names are case-sensitive.
198-
- The [ROWID](https://docs.oracle.com/en/database/oracle/oracle-database/21/cncpt/tables-and-table-clusters.html#GUID-0258C4C2-2BF2-445F-B1E1-F282A57A6859)
199-
of each row affected by an INSERT or UPDATE is returned as the generated value
200-
for the empty set of column names.
202+
- When an empty set of column names is specified to Statement.returnGeneratedValues(String...), executing that ```Statement``` returns the [ROWID](https://docs.oracle.com/en/database/oracle/oracle-database/21/cncpt/tables-and-table-clusters.html#GUID-0258C4C2-2BF2-445F-B1E1-F282A57A6859)
203+
of each row affected by an INSERT or UPDATE.
204+
- This behavior may change in a later release.
205+
- Programmers are advised not to use the ROWID as if it were a primary key.
206+
- The ROWID of a row may change.
207+
- After a row is deleted, it's ROWID may be reassigned to a new row.
208+
- Further Reading: https://asktom.oracle.com/pls/apex/asktom.search?tag=is-it-safe-to-use-rowid-to-locate-a-row
201209
- A **blocking database call** is executed by a Statement returning generated
202210
values for a non-empty set of column names.
203211
- The **blocking database call** is a known limitation that will be resolved
204212
with a non-blocking implementation of
205213
java.sql.Connection.prepareStatement(String, String[]) in the Oracle JDBC Driver.
206214
The Oracle JDBC Team is aware of this problem and is working on a fix.
215+
- Returning generated values is only supported for INSERT and UPDATE commands when a RETURNING INTO clause can be appended to the end of that command. (This limitation may be resolved in a later release)
216+
- Example: `INSERT INTO my_table(val) VALUES (:val)` is supported because a RETURNING INTO clause may be appended to this command.
217+
- Example: `INSERT INTO my_table(val) SELECT 1 FROM sys.dual` is not supported because a RETURNING INTO clause may not be appended to this command.
218+
- The Oracle Database SQL Language Reference defines INSERT and UPDATE commands for which a RETURNING INTO clause is supported.
219+
- INSERT: https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/INSERT.html#GUID-903F8043-0254-4EE9-ACC1-CB8AC0AF3423
220+
- UPDATE: https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/UPDATE.html#GUID-027A462D-379D-4E35-8611-410F3AC8FDA5
207221

208222
### Type Mappings
209223
- Blob and Clob objects are the default mapping implemented by Row.get(...) for

0 commit comments

Comments
 (0)