Interface OracleClob
- All Superinterfaces:
Clob
- All Known Subinterfaces:
OracleNClob
Clob and defines methods for Oracle specific Clob .
Generally any new code should avoid the direct use of the class CLOB.
For variable declarations use the interface Clob or this interface as required.
Instead of the static methods
CLOB.createTemporary(java.sql.Connection, boolean, int) and CLOB.empty_lob()
please use
Connection.createClob() and
CLOB.getEmptyCLOB() respectively.
- Since:
- 11.2.0.3
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidclose()Deprecated, for removal: This API element is subject to removal in a future version.The name of this method is anticipated to conflict with a future version of the JDBC Specification.voidcloseLob()Close a previously opened CLOB.default Flow.Publisher<Void>Returns aPublisherthat publishes the result of freeing theClobobject and the resources that it holds.booleanReturn true if this is an empty lob.default booleanisOpen()Deprecated, for removal: This API element is subject to removal in a future version.The name of this method is anticipated to conflict with a future version of the JDBC Specification.booleanCheck whether the CLOB is opened.booleanReturnstrueif this is a SecureFile (LOBs with the STORE AS SECUREFILE option, which were introduced in Oracle Database 11g Release 1).booleanReturn true if the lob locator points to a temporary clob.default voidopen(LargeObjectAccessMode mode) Deprecated, for removal: This API element is subject to removal in a future version.The name of this method is anticipated to conflict with a future version of the JDBC Specification.voidopenLob(LargeObjectAccessMode mode) Open a CLOB in the indicated mode.publisherOracle(long position) Returns aPublisherthat publishes the content of thisClobbeginning at the specified position.default Flow.Publisher<String>publisherOracle(long position, ErrorSet continueOnErrorSet) Returns aPublisherthat publishes the content of thisClobbeginning at the specified position.subscriberOracle(long position) Returns aSubscriberthat will append the published characters to thisClobbeginning at the specified position.subscriberOracle(long position, Flow.Subscriber<Long> outcomeSubscriber) Returns aSubscriberthat will append the published characters to thisClobbeginning at the specified position.default Flow.Subscriber<String>subscriberOracle(long position, Flow.Subscriber<Long> outcomeSubscriber, ErrorSet continueOnErrorSet) Returns aSubscriberthat will append the published characters to thisClobbeginning at the specified position.default Flow.Subscriber<String>subscriberOracle(long position, ErrorSet continueOnErrorSet) Returns aSubscriberthat will append the published characters to thisClobbeginning at the specified position.toSQLXML()Returns an object which implements java.sql.SQLXML with content taken from this Clob.Returns an object which implements java.sql.SQLXML with content taken from this Clob.Methods inherited from interface java.sql.Clob
free, getAsciiStream, getCharacterStream, getCharacterStream, getSubString, length, position, position, setAsciiStream, setCharacterStream, setString, setString, truncate
-
Method Details
-
open
@Deprecated(since="23.5", forRemoval=true) default void open(LargeObjectAccessMode mode) throws SQLException Deprecated, for removal: This API element is subject to removal in a future version.The name of this method is anticipated to conflict with a future version of the JDBC Specification. This method will be removed in a future version of the Oracle JDBC Driver. Any calls to this method should be replaced with a call toopenLob(LargeObjectAccessMode), which provides the exact same behavior.Open a CLOB in the indicated mode. Valid modes include MODE_READONLY, and MODE_READWRITE. It is an error to open the same LOB twice.- Throws:
SQLException- Since:
- 8.2.0
-
openLob
Open a CLOB in the indicated mode. Valid modes include MODE_READONLY, and MODE_READWRITE. It is an error to open the same LOB twice.- Throws:
SQLException- Since:
- 23.5
-
close
Deprecated, for removal: This API element is subject to removal in a future version.The name of this method is anticipated to conflict with a future version of the JDBC Specification. This method will be removed in a future version of the Oracle JDBC Driver. Any calls to this method should be replaced with a call tocloseLob(), which provides the exact same behavior.Close a previously opened CLOB.- Throws:
SQLException- Since:
- 8.2.0
-
closeLob
Close a previously opened CLOB.- Throws:
SQLException- Since:
- 23.5
-
isOpen
Deprecated, for removal: This API element is subject to removal in a future version.The name of this method is anticipated to conflict with a future version of the JDBC Specification. This method will be removed in a future version of the Oracle JDBC Driver. Any calls to this method should be replaced with a call toisOpenLob(), which provides the exact same behavior.Check whether the CLOB is opened.- Returns:
- true if the LOB is opened.
- Throws:
SQLException- Since:
- 8.2.0
-
isOpenLob
Check whether the CLOB is opened.- Returns:
- true if the LOB is opened.
- Throws:
SQLException- Since:
- 23.5
-
isTemporary
Return true if the lob locator points to a temporary clob. False if it does not.- Returns:
- true if the lob locator points to a temporary clob. False if it does not.
- Throws:
SQLException- Since:
- 8.2.0
-
isEmptyLob
Return true if this is an empty lob.- Returns:
- true if this is an empty lob.
- Throws:
SQLException- Since:
- 8.1.7
-
isSecureFile
Returnstrueif this is a SecureFile (LOBs with the STORE AS SECUREFILE option, which were introduced in Oracle Database 11g Release 1).- Returns:
trueif this is a SecureFile andfalseotherwise.- Throws:
SQLException
-
toSQLXML
Returns an object which implements java.sql.SQLXML with content taken from this Clob.- Returns:
- the new SQLXML object
- Throws:
SQLException- Since:
- 12.2
-
toSQLXML
Returns an object which implements java.sql.SQLXML with content taken from this Clob.- Returns:
- the new SQLXML object
- Throws:
SQLException- Since:
- 12.2
-
publisherOracle
Returns aPublisherthat publishes the content of thisClobbeginning at the specified position. The argument to each call toSubscriber.onNextwill contain an implementation defined number of characters.Calling any method of this
ClobexceptisEmptyLob(),isSecureFile(),isTemporary(), or one defined byObjectbetween the time this method is called and the time when the returned publisher terminates will block.The returned publisher terminates once all subscribers have received
Subscriber.onComplete, receivedSubscriber.onError, or cancelled their subscription.An invocation of this method is equivalent to invoking
publisherOracle(long, ErrorSet)with theErrorSetconfigured byOracleCommonConnection.continueOnError(ErrorSet).- Parameters:
position- the position at which to start writing to the CLOB value that thisClobobject represents; The first position is 1- Returns:
- a
Publisherof the content of thisClob - Throws:
SQLException- if a database error occurs, or if this method is called on aClobthat has been freed, or ifpositionis less than 1- Since:
- 21
-
publisherOracle
default Flow.Publisher<String> publisherOracle(long position, ErrorSet continueOnErrorSet) throws SQLException Returns aPublisherthat publishes the content of thisClobbeginning at the specified position. The argument to each call toSubscriber.onNextwill contain an implementation defined number of characters.Calling any method of this
ClobexceptisEmptyLob(),isSecureFile(),isTemporary(), or one defined byObjectbetween the time this method is called and the time when the returned publisher terminates will block.The returned publisher terminates once all subscribers have received
Subscriber.onComplete, receivedSubscriber.onError, or cancelled their subscription.Upon signalling demand to the returned
Publisher, LOB read operations will enter into the execution pipeline of this LOB's connection. If an operation fails with an error not in thecontinueOnErrorSet, the pipeline will abort all subsequent asynchronous operations, up to the nextOracleCommonConnection.resume().- Parameters:
position- the position at which to start writing to the CLOB value that thisClobobject represents; The first position is 1continueOnErrorSet- Set of errors which do not cause subsequent operations to be aborted. Not null.- Returns:
- a
Publisherof the content of thisClob - Throws:
SQLException- if a database error occurs, or if this method is called on aClobthat has been freed, or ifpositionis less than 1NullPointerException- if thecontinueOnErrorSetis nullIllegalArgumentException- if thecontinueOnErrorSetis not supported. At a minimum, all drivers must supportErrorSet.NO_ERRORSandErrorSet.ALL_ERRORS- Since:
- 23
-
subscriberOracle
Returns aSubscriberthat will append the published characters to thisClobbeginning at the specified position.Calling any method of this
ClobexceptisEmptyLob(),isSecureFile(),isTemporary(), or one defined byObjectbetween the time this method is called and the time when the returnedSubscriberterminates will block.The returned
Subscriberterminates onceSubscriber.onCompleteis received,Subscriber.onErroris received, or its subscription is cancelled.An invocation of this method is equivalent to invoking
subscriberOracle(long, ErrorSet)with theErrorSetconfigured byOracleCommonConnection.continueOnError(ErrorSet).- Parameters:
position- the position at which to start writing to the CLOB value that thisClobobject represents; The first position is 1- Returns:
- a
Subscriberthat appends characters to thisClob - Throws:
SQLException- if a database error occurs, or if this method is called on aClobthat has been freed, or ifpositionis less than 1- Since:
- 21
-
subscriberOracle
default Flow.Subscriber<String> subscriberOracle(long position, ErrorSet continueOnErrorSet) throws SQLException Returns aSubscriberthat will append the published characters to thisClobbeginning at the specified position.Calling any method of this
ClobexceptisEmptyLob(),isSecureFile(),isTemporary(), or one defined byObjectbetween the time this method is called and the time when the returnedSubscriberterminates will block.The returned
Subscriberterminates onceSubscriber.onCompleteis received,Subscriber.onErroris received, or its subscription is cancelled.Upon receiving characters from an upstream
Publisher, LOB write operations will enter into the execution pipeline of this LOB's connection. If an operation fails with an error not in thecontinueOnErrorSet, the pipeline will abort all subsequent asynchronous operations, up to the nextOracleCommonConnection.resume().- Parameters:
position- the position at which to start writing to the CLOB value that thisClobobject represents; The first position is 1continueOnErrorSet- Set of errors which do not cause subsequent operations to be aborted. Not null.- Returns:
- a
Subscriberthat appends characters to thisClob - Throws:
SQLException- if a database error occurs, or if this method is called on aClobthat has been freed, or ifpositionis less than 1- Since:
- 23
-
subscriberOracle
Flow.Subscriber<String> subscriberOracle(long position, Flow.Subscriber<Long> outcomeSubscriber) throws SQLException Returns aSubscriberthat will append the published characters to thisClobbeginning at the specified position.Calling any method of this
ClobexceptisEmptyLob(),isSecureFile(),isTemporary(), or one defined byObjectbetween the time this method is called and the time when the returnedSubscriberterminates will block.The returned
Subscriberterminates onceSubscriber.onCompleteis received,Subscriber.onErroris received, or its subscription is cancelled.The outcome of writing published characters to the CLOB value that this Clob object represents is published to the
outcomeSubscriber:-
The
outcomeSubscriberreceives anonNextsignal each time a write to the CLOB value is successful. The number of characters transferred by each successful write is delivered with each invocation ofonNext. -
The
outcomeSubscriberreceives anonCompletesignal after the last published character has been written successfully. -
The
outcomeSubscriberreceives anonErrorsignal with aSQLExceptionif a failure occurs when writing published characters.
outcomeSubscribermust signal demand in order to receive any of the signals listed above. If more thanFlow.defaultBufferSize()writes have succeeded without demand from theoutcomeSubscriber, then the returned subscriber will not signal further demand until theoutcomeSubscriberhas also signalled demand.The number of writes used to transfer published characters to the CLOB value is implementation defined, and may be different from the number of Strings published to the returned
Subscriber.An invocation of this method is equivalent to invoking
subscriberOracle(long, Subscriber, ErrorSet)with theErrorSetconfigured byOracleCommonConnection.continueOnError(ErrorSet).- Parameters:
position- the position at which to start writing to the CLOB value that thisClobobject represents; The first position is 1outcomeSubscriber- aSubscriberof write outcomes.- Returns:
- a
Subscriberthat appends characters to thisClob - Throws:
SQLException- if a database error occurs, or if this method is called on aClobthat has been freed, or ifpositionis less than 1NullPointerException- if theoutcomeSubscriberargument is null.- Since:
- 21
-
The
-
subscriberOracle
default Flow.Subscriber<String> subscriberOracle(long position, Flow.Subscriber<Long> outcomeSubscriber, ErrorSet continueOnErrorSet) throws SQLException Returns aSubscriberthat will append the published characters to thisClobbeginning at the specified position.Calling any method of this
ClobexceptisEmptyLob(),isSecureFile(),isTemporary(), or one defined byObjectbetween the time this method is called and the time when the returnedSubscriberterminates will block.The returned
Subscriberterminates onceSubscriber.onCompleteis received,Subscriber.onErroris received, or its subscription is cancelled.The outcome of writing published characters to the CLOB value that this Clob object represents is published to the
outcomeSubscriber:-
The
outcomeSubscriberreceives anonNextsignal each time a write to the CLOB value is successful. The number of characters transferred by each successful write is delivered with each invocation ofonNext. -
The
outcomeSubscriberreceives anonCompletesignal after the last published character has been written successfully. -
The
outcomeSubscriberreceives anonErrorsignal with aSQLExceptionif a failure occurs when writing published characters.
outcomeSubscribermust signal demand in order to receive any of the signals listed above. If more thanFlow.defaultBufferSize()writes have succeeded without demand from theoutcomeSubscriber, then the returned subscriber will not signal further demand until theoutcomeSubscriberhas also signalled demand.The number of writes used to transfer published characters to the CLOB value is implementation defined, and may be different from the number of Strings published to the returned
Subscriber.Upon receiving characters from an upstream
Publisher, LOB write operations will enter into the execution pipeline of this LOB's connection. If an operation fails with an error not in thecontinueOnErrorSet, the pipeline will abort all subsequent asynchronous operations, up to the nextOracleCommonConnection.resume().- Parameters:
position- the position at which to start writing to the CLOB value that thisClobobject represents; The first position is 1outcomeSubscriber- aSubscriberof write outcomes.continueOnErrorSet- Set of errors which do not cause subsequent operations to be aborted. Not null.- Returns:
- a
Subscriberthat appends characters to thisClob - Throws:
SQLException- if a database error occurs, or if this method is called on aClobthat has been freed, or ifpositionis less than 1NullPointerException- if theoutcomeSubscriberargument is null.- Since:
- 23
-
The
-
freeAsyncOracle
Returns aPublisherthat publishes the result of freeing theClobobject and the resources that it holds. The object is invalid after the returnedPublisherterminates withonComplete.After the returned
Publisherterminates withonComplete, any attempt to invoke a method other thanClob.free()orfreeAsyncOraclewill result in an SQLException being thrown. CallingfreeAsyncOracleon aClobobject that has already been freed is treated as a no-op.Calling any method of this
ClobexceptisEmptyLob(),isSecureFile(),isTemporary(), or one defined byObjectbetween the time this method is called and the time when the returnedSubscriberterminates will block.The returned publisher terminates once all subscribers have received
Subscriber.onComplete, receivedSubscriber.onError, or cancelled their subscription.The returned publisher will only emit
onCompleteoronError; No items are emitted toonNext.- Returns:
- a
Publisherof the result of freeing thisClob - Throws:
SQLException- if a database error occurs- Since:
- 21
-