Class TableResult
NoSQLHandle.getTable(oracle.nosql.driver.ops.GetTableRequest)
and
NoSQLHandle.tableRequest(oracle.nosql.driver.ops.TableRequest)
operations. It encapsulates the
state of the table that is the target of the request.
Operations available in
NoSQLHandle.tableRequest(oracle.nosql.driver.ops.TableRequest)
such as table creation, modification, and
drop are asynchronous operations. When such an operation has been performend
it is necessary to call NoSQLHandle.getTable(oracle.nosql.driver.ops.GetTableRequest)
until the status of
the table is TableResult.State.ACTIVE
or there is an error condition. The
method waitForCompletion(oracle.nosql.driver.NoSQLHandle, int, int)
exists to perform this task and should
be used to wait for an operation to complete.
NoSQLHandle.getTable(oracle.nosql.driver.ops.GetTableRequest)
is synchronous, returning static information
about the table as well as its current state.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Cloud service only.static enum
The current state of the table -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionCloud service only.getDdl()
Returns the DDL (create table) statement used to create this table if available.Cloud service only.Cloud service only.Cloud service only.On-premises service only.Returns the operation id for an asynchronous operation.Cloud service only.Returns the JSON-formatted schema of the table if available and null if notCloud service only.Returns the throughput and capacity limits for the table.Returns the table name of the target table.Returns the table state.boolean
isFrozen()
Returns whether or not the table's schema is frozen.boolean
Cloud service only.boolean
Cloud service only.toString()
void
waitForCompletion
(NoSQLHandle handle, int waitMillis, int delayMillis) Waits for a table operation to complete.static TableResult
waitForState
(NoSQLHandle handle, String tableName, String operationId, TableResult.State state, int waitMillis, int delayMillis) Deprecated.static TableResult
waitForState
(NoSQLHandle handle, String tableName, TableResult.State state, int waitMillis, int delayMillis) Deprecated.static TableResult
waitForState
(NoSQLHandle handle, TableResult result, TableResult.State state, int waitMillis, int delayMillis) Deprecated.Methods inherited from class oracle.nosql.driver.ops.Result
getRateLimitDelayedMs, getRetryStats
-
Constructor Details
-
TableResult
public TableResult()
-
-
Method Details
-
getTableState
Returns the table state. A table in stateTableResult.State.ACTIVE
orTableResult.State.UPDATING
is usable for normal operation.- Returns:
- the state
-
getDdl
Returns the DDL (create table) statement used to create this table if available. If the table has been altered since initial creation the statement is also altered to reflect the current table schema. This value, when non-null, is functionally equivalent to the schema returned bygetSchema()
. The most reliable way to get the DDL statement is usingNoSQLHandle.getTable(oracle.nosql.driver.ops.GetTableRequest)
on an existing table.- Returns:
- the create table statement
- Since:
- 5.4
-
getTableId
Cloud service only.Returns the OCID of the table. This value will be null if used with the on-premises service.
- Returns:
- the table OCID
- Since:
- 5.4
-
getCompartmentId
Cloud service only.Returns compartment id of the target table
- Returns:
- the compartment id if set
- Since:
- 5.4
-
getNamespace
On-premises service only.Returns the namespace of the table, or null if it is not in a namespace. Note that the tablename is prefixed with the namespace as well if it is in a namespace.
- Returns:
- the namespace id if set
- Since:
- 5.4
-
getTableName
Returns the table name of the target table. If on-premises and the table is in a namespace the namespace is included as a prefix using the format namespace:tableName- Returns:
- the table name
-
getSchema
Returns the JSON-formatted schema of the table if available and null if not- Returns:
- the schema
- Since:
- 5.4
-
getTableLimits
Returns the throughput and capacity limits for the table. Limits from an on-premises service will always be null.- Returns:
- the limits
-
getFreeFormTags
Cloud service only. Returns theFreeFormTags
associated with this table, if available, or null otherwise.- Returns:
- the FreeFormTags
- Since:
- 5.4
-
getDefinedTags
Cloud service only. Returns theDefinedTags
associated with this table, if available, or null otherwise.- Returns:
- the DefinedTags
- Since:
- 5.4
-
getMatchETag
Cloud service only. Returns the matchETag associated with this table. The matchETag is an opaque field that represents the current version of the table itself and can be used in future table modification operations to only perform them if the matchETag for the table has not changed. This is an optimistic concurrency control mechanism.- Returns:
- the matchETag
- Since:
- 5.4
-
getOperationId
Returns the operation id for an asynchronous operation. This is null if the request did not generate a new operation. The value can be used inGetTableRequest.setOperationId(java.lang.String)
to find potential errors resulting from the operation.- Returns:
- the operation id, or null if not set
-
isFrozen
public boolean isFrozen()Returns whether or not the table's schema is frozen. The schema can only be frozen when using the cloud service and a frozen schema is required for replicating a table- Returns:
- true if the schema is frozen
- Since:
- 5.4.13
-
isReplicated
public boolean isReplicated()Cloud service only. Returns true if the table is replicated.- Returns:
- the flag
- Since:
- 5.4.13
-
isLocalReplicaInitialized
public boolean isLocalReplicaInitialized()Cloud service only. Returns true if the table is a replica and its initialization process has been completed, otherwise return false.- Returns:
- true if the table is a replica and it's been initialized
- Since:
- 5.4.13
-
getReplicas
Cloud service only. Returns a array ofTableResult.Replica
if the table is replicated, or null if table is not replicated.- Returns:
- the remote Replicas
- Since:
- 5.4.13
-
toString
-
waitForState
@Deprecated public static TableResult waitForState(NoSQLHandle handle, TableResult result, TableResult.State state, int waitMillis, int delayMillis) Deprecated.usewaitForCompletion(oracle.nosql.driver.NoSQLHandle, int, int)
instead. Waits for the specified table to reach the desired state. This is a blocking, polling style wait that delays for the specified number of milliseconds between each polling operation. The state ofTableResult.State.DROPPED
is treated specially in that it will be returned as success, even if the table does not exist. Other states will throw an exception if the table is not found.- Parameters:
handle
- the NoSQLHandle to useresult
- a previously received TableResultstate
- the desired statewaitMillis
- the total amount of time to wait, in millseconds. This value must be non-zero and greater than delayMillisdelayMillis
- the amount of time to wait between polling attempts, in milliseconds. If 0 it will default to 500.- Returns:
- the TableResult representing the table at the desired state
- Throws:
IllegalArgumentException
- if the parameters are not valid.RequestTimeoutException
- if the operation times out.NoSQLException
- if the operation id used is not null that the operation has failed for some reason.
-
waitForState
@Deprecated public static TableResult waitForState(NoSQLHandle handle, String tableName, TableResult.State state, int waitMillis, int delayMillis) Deprecated.usewaitForCompletion(oracle.nosql.driver.NoSQLHandle, int, int)
instead. Waits for the specified table to reach the desired state. This is a blocking, polling style wait that delays for the specified number of milliseconds between each polling operation. The state ofTableResult.State.DROPPED
is treated specially in that it will be returned as success, even if the table does not exist. Other states will throw an exception if the table is not found.- Parameters:
handle
- the NoSQLHandle to usetableName
- the table namestate
- the desired statewaitMillis
- the total amount of time to wait, in millseconds. This value must be non-zero and greater than delayMillisdelayMillis
- the amount of time to wait between polling attempts, in milliseconds. If 0 it will default to 500.- Returns:
- the TableResult representing the table at the desired state
- Throws:
IllegalArgumentException
- if the parameters are not valid.RequestTimeoutException
- if the operation times out.
-
waitForState
@Deprecated public static TableResult waitForState(NoSQLHandle handle, String tableName, String operationId, TableResult.State state, int waitMillis, int delayMillis) Deprecated.usewaitForCompletion(oracle.nosql.driver.NoSQLHandle, int, int)
instead. Waits for the specified table to reach the desired state. This is a blocking, polling style wait that delays for the specified number of milliseconds between each polling operation. The state ofTableResult.State.DROPPED
is treated specially in that it will be returned as success, even if the table does not exist. Other states will throw an exception if the table is not found.- Parameters:
handle
- the NoSQLHandle to usetableName
- the table nameoperationId
- optional operation idstate
- the desired statewaitMillis
- the total amount of time to wait, in millseconds. This value must be non-zero and greater than delayMillisdelayMillis
- the amount of time to wait between polling attempts, in milliseconds. If 0 it will default to 500.- Returns:
- the TableResult representing the table at the desired state
- Throws:
IllegalArgumentException
- if the parameters are not valid.RequestTimeoutException
- if the operation times out.
-
waitForCompletion
Waits for a table operation to complete. Table operations are asynchronous. This is a blocking, polling style wait that delays for the specified number of milliseconds between each polling operation. This call returns when the table reaches a terminal state, which is eitherTableResult.State.ACTIVE
orTableResult.State.DROPPED
. This instance must be the return value of a previousNoSQLHandle.tableRequest(oracle.nosql.driver.ops.TableRequest)
and contain a non-null operation id representing the in-progress operation unless the operation has already completed. This instance is modified with any change in table state or metadata.- Parameters:
handle
- the NoSQLHandle to usewaitMillis
- the total amount of time to wait, in millseconds. This value must be non-zero and greater than delayMillisdelayMillis
- the amount of time to wait between polling attempts, in milliseconds. If 0 it will default to 500.- Throws:
IllegalArgumentException
- if the parameters are not valid.RequestTimeoutException
- if the operation times out.
-
waitForCompletion(oracle.nosql.driver.NoSQLHandle, int, int)
instead.