Package org.monetdb.monetdbe
Class MonetStatement
java.lang.Object
org.monetdb.monetdbe.MonetWrapper
org.monetdb.monetdbe.MonetStatement
- All Implemented Interfaces:
AutoCloseable,Statement,Wrapper
- Direct Known Subclasses:
MonetPreparedStatement
public class MonetStatement extends MonetWrapper implements Statement
A
Statement suitable for the MonetDB embedded database.
The object used for executing a static SQL statement and returning
the results it produces.
By default, only one ResultSet object per Statement object can be
open at the same time. Therefore, if the reading of one ResultSet
object is interleaved with the reading of another, each must have
been generated by different Statement objects. All execution methods
in the Statement interface implicitly close a Statement's current
ResultSet object if an open one exists.-
Field Summary
Fields Modifier and Type Field Description protected List<String>batchBatched SQL queries to executeprotected MonetConnectionconnThis statement's parent connection objectprotected longlargeUpdateCountCurrent updateCount (number of affected rows) for executeLarge methodsprotected MonetResultSetresultSetThe current result setprotected intupdateCountCurrent updateCount (number of affected rows)Fields inherited from interface java.sql.Statement
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO -
Constructor Summary
Constructors Constructor Description MonetStatement(MonetConnection conn)Default MonetStatement constructor.MonetStatement(MonetConnection conn, int queryTimeout)MonetStatement constructor with query timeout value.MonetStatement(MonetConnection conn, int resultSetType, int resultSetConcurrency, int resultSetHoldability)MonetStatement constructor with parameterized result set options. -
Method Summary
Modifier and Type Method Description voidaddBatch(String sql)Adds the given SQL command to the current list of commands for this Statement object.voidcancel()This feature is not currently supported.voidcheckNotClosed()Helper method to test whether the Statement object is closed When closed, it throws an SQLExceptionvoidclearBatch()Empties this Statement object's current list of SQL commands.voidclearWarnings()Clears all warnings reported for this Statement object.voidclose()Releases this Statement object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.protected voidcloseIfComplete()Called by the result set object when it is closed Used to close statement if closeOnCompletion() was calledvoidcloseOnCompletion()Specifies that this Statement will be closed when all its dependent result sets are closed.booleanexecute(String sql)The execute method executes the given SQL statement and indicates the form of the first result.booleanexecute(String sql, int autoGeneratedKeys)Feature not supported.booleanexecute(String sql, int[] columnIndexes)Feature not supported.booleanexecute(String sql, String[] columnNames)Feature not supported.int[]executeBatch()Submits a batch of commands to the database for execution and if all commands execute successfully, returns an array of update counts.long[]executeLargeBatch()Submits a batch of commands to the database for execution and if all commands execute successfully, returns an array of update counts.longexecuteLargeUpdate(String sql)Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE statement or an SQL statement that returns nothing, such as an SQL DDL statement.longexecuteLargeUpdate(String sql, int autoGeneratedKeys)Feature not supported.longexecuteLargeUpdate(String sql, int[] columnIndexes)Feature not supported.longexecuteLargeUpdate(String sql, String[] columnNames)Feature not supported.ResultSetexecuteQuery(String sql)Executes the given SQL statement, which returns a single ResultSet object.intexecuteUpdate(String sql)Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE statement or an SQL statement that returns nothing, such as an SQL DDL statement.intexecuteUpdate(String sql, int autoGeneratedKeys)Feature not supported.intexecuteUpdate(String sql, int[] columnIndexes)Feature not supported.intexecuteUpdate(String sql, String[] columnNames)Feature not supported.ConnectiongetConnection()Retrieves the Connection object that produced this Statement object.intgetFetchDirection()Retrieves the direction for fetching rows from database tables that is the default for result sets generated from this Statement object.intgetFetchSize()Retrieves the number of result set rows that is the default fetch size for ResultSet objects generated from this Statement object.ResultSetgetGeneratedKeys()Feature not supported.longgetLargeMaxRows()Retrieves the maximum number of rows that a ResultSet object produced by this Statement object can contain.longgetLargeUpdateCount()Retrieves the current result as an update count; if the result is a ResultSet object or there are no more results, -1 is returned.intgetMaxFieldSize()Retrieves the maximum number of bytes that can be returned for character and binary column values in a ResultSet object produced by this Statement object.intgetMaxRows()Retrieves the maximum number of rows that a ResultSet object produced by this Statement object can contain.booleangetMoreResults()Feature currently not supported.booleangetMoreResults(int current)Feature currently not supported.intgetQueryTimeout()Retrieves the number of seconds the driver will wait for a Statement object to execute.ResultSetgetResultSet()Retrieves the current result as a ResultSet object.intgetResultSetConcurrency()Retrieves the result set concurrency for ResultSet objects generated by this Statement object.intgetResultSetHoldability()Retrieves the result set holdability for ResultSet objects generated by this Statement object.intgetResultSetType()Retrieves the result set type for ResultSet objects generated by this Statement object.intgetUpdateCount()Retrieves the current result as an update count; if the result is a ResultSet object or there are no more results, -1 is returned.SQLWarninggetWarnings()Retrieves the first warning reported by calls on this Statement object.booleanisClosed()Retrieves whether this Statement object has been closed.booleanisCloseOnCompletion()Returns a value indicating whether this Statement will be closed when all its dependent result sets are closed.booleanisPoolable()Returns a value indicating whether the Statement is poolable or not.voidsetCursorName(String name)Sets the SQL cursor name to the given String, which will be used by subsequent Statement object execute methods.voidsetEscapeProcessing(boolean enable)Sets escape processing on or off.voidsetFetchDirection(int direction)Gives the driver a hint as to the direction in which rows will be processed in ResultSet objects created using this Statement object.voidsetFetchSize(int rows)Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for ResultSet objects generated by this Statement.voidsetLargeMaxRows(long max)Sets the limit for the maximum number of rows that any ResultSet object generated by this Statement object can contain to the given number.voidsetMaxFieldSize(int max)Sets the limit for the maximum number of bytes that can be returned for character and binary column values in a ResultSet object produced by this Statement object.voidsetMaxRows(int max)Sets the limit for the maximum number of rows that any ResultSet object generated by this Statement object can contain to the given number.voidsetPoolable(boolean poolable)Feature not supportedvoidsetQueryTimeout(int seconds)Sets the number of seconds the driver will wait for a Statement object to execute to the given number of seconds.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.sql.Statement
enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, isSimpleIdentifier
-
Field Details
-
conn
This statement's parent connection object -
resultSet
The current result set -
batch
Batched SQL queries to execute -
updateCount
protected int updateCountCurrent updateCount (number of affected rows) -
largeUpdateCount
protected long largeUpdateCountCurrent updateCount (number of affected rows) for executeLarge methods
-
-
Constructor Details
-
MonetStatement
Default MonetStatement constructor.- Parameters:
conn- the connection that created this Statement
-
MonetStatement
MonetStatement constructor with query timeout value.- Parameters:
conn- the connection that created this StatementqueryTimeout- the timeout before aborting a query execution
-
MonetStatement
public MonetStatement(MonetConnection conn, int resultSetType, int resultSetConcurrency, int resultSetHoldability)MonetStatement constructor with parameterized result set options.- Parameters:
conn- the connection that created this StatementresultSetType- type of ResultSet to produceresultSetConcurrency- concurrency of ResultSet to produceresultSetHoldability- holdability of ResultSet after commit
-
-
Method Details
-
checkNotClosed
Helper method to test whether the Statement object is closed When closed, it throws an SQLException- Throws:
SQLException- if this method is called on a closed Statement
-
close
Releases this Statement object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed. Calling the method close on a Statement object that is already closed has no effect. A Statement object is automatically closed when it is garbage collected. When a Statement object is closed, its current ResultSet object, if one exists, is also closed.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceStatement- Throws:
SQLException- if this method is called on a closed Statement
-
cancel
This feature is not currently supported.- Specified by:
cancelin interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-
isClosed
Retrieves whether this Statement object has been closed. A Statement is closed if the method close has been called on it, or if it is automatically closed.- Specified by:
isClosedin interfaceStatement- Returns:
- true if this Statement object is closed; false if it is still open
- Throws:
SQLException
-
closeOnCompletion
Specifies that this Statement will be closed when all its dependent result sets are closed. If execution of the Statement does not produce any result sets, this method has no effect.- Specified by:
closeOnCompletionin interfaceStatement- Throws:
SQLException- if this method is called on a closed Statement
-
isCloseOnCompletion
Returns a value indicating whether this Statement will be closed when all its dependent result sets are closed.- Specified by:
isCloseOnCompletionin interfaceStatement- Returns:
- true if the Statement will be closed when all of its dependent result sets are closed; false otherwise
- Throws:
SQLException- if this method is called on a closed Statement
-
closeIfComplete
Called by the result set object when it is closed Used to close statement if closeOnCompletion() was called- Throws:
SQLException- if this method is called on a closed Statement
-
execute
The execute method executes the given SQL statement and indicates the form of the first result. You must then use the methods getResultSet or getUpdateCount to retrieve the result (either a ResultSet object or an int representing the update count). Multiple results may result from the SQL statement, but only the first one may be retrieved in the current version. The result set or update count object variables are set within monetdbe_query().- Specified by:
executein interfaceStatement- Parameters:
sql- any SQL statement- Returns:
- true if the first result is a ResultSet object; false if it is an update count or there are no results
- Throws:
SQLException- if a database access error occurs or this method is called on a closed Statement
-
executeQuery
Executes the given SQL statement, which returns a single ResultSet object. Multiple results may result from the SQL statement, but only the first one may be retrieved in the current version.- Specified by:
executeQueryin interfaceStatement- Parameters:
sql- an SQL statement to be sent to the database, typically a static SQL SELECT statement- Returns:
- a ResultSet object that contains the data produced by the given query; never null
- Throws:
SQLException- if a database access error occurs or the given SQL statement produces anything other than a single ResultSet object
-
executeUpdate
Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE statement or an SQL statement that returns nothing, such as an SQL DDL statement.- Specified by:
executeUpdatein interfaceStatement- Parameters:
sql- an SQL INSERT, UPDATE or DELETE statement or an SQL statement that returns nothing- Returns:
- either the row count for INSERT, UPDATE or DELETE statements, or 0 for SQL statements that return nothing
- Throws:
SQLException- if a database access error occurs or the given SQL statement produces a ResultSet object
-
executeLargeUpdate
Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE statement or an SQL statement that returns nothing, such as an SQL DDL statement. This method should be used when the returned row count may exceed Integer.MAX_VALUE. The result set or large update count object variables are set within monetdbe_query().- Specified by:
executeLargeUpdatein interfaceStatement- Parameters:
sql- an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or DELETE; or an SQL statement that returns nothing, such as a DDL statement.- Returns:
- either the row count for INSERT, UPDATE or DELETE statements, or 0 for SQL statements that return nothing
- Throws:
SQLException- if a database access error occurs, this method is called on a closed Statement, the given SQL statement produces a ResultSet object, the method is called on a PreparedStatement or CallableStatement
-
executeBatch
Submits a batch of commands to the database for execution and if all commands execute successfully, returns an array of update counts. The int elements of the array that is returned are ordered to correspond to the commands in the batch, which are ordered according to the order in which they were added to the batch. The elements in the array returned by the method executeBatch may be one of the following:- A number greater than or equal to zero -- indicates that the command was processed successfull and is an update count giving the number of rows in the database that were affected by the command's execution
- A value of SUCCESS_NO_INFO -- indicates that the command was processed successfully but that the number of rows affected is unknown
- Specified by:
executeBatchin interfaceStatement- Returns:
- an array of update counts containing one element for each command in the batch. The elements of the array are ordered according to the order in which commands were added to the batch.
- Throws:
SQLException- if a database access error occurs or this method is called on a closed StatementBatchUpdateException- if one of the commands sent to the database fails to execute properly or attempts to return a result set
-
addBatch
Adds the given SQL command to the current list of commands for this Statement object. The commands in this list can be executed as a batch by calling the method executeBatch.- Specified by:
addBatchin interfaceStatement- Parameters:
sql- typically this is a SQL INSERT or UPDATE statement- Throws:
SQLException- if a database access error occurs, this method is called on a closed Statement, the driver does not support batch updatesor the method is called on a PreparedStatement or CallableStatement
-
clearBatch
Empties this Statement object's current list of SQL commands.- Specified by:
clearBatchin interfaceStatement- Throws:
SQLException- if a database access error occurs, this method is called on a closed Statement or the driver does not support batch updates
-
executeLargeBatch
Submits a batch of commands to the database for execution and if all commands execute successfully, returns an array of update counts. The long elements of the array that is returned are ordered to correspond to the commands in the batch, which are ordered according to the order in which they were added to the batch. This method should be used when the returned row count may exceed Integer.MAX_VALUE.- Specified by:
executeLargeBatchin interfaceStatement- Returns:
- an array of update counts containing one element for each command in the batch. The elements of the array are ordered according to the order in which commands were added to the batch.
- Throws:
SQLException- if a database access error occurs or this method is called on a closed StatementBatchUpdateException- if one of the commands sent to the database fails to execute properly or attempts to return a result set
-
getMoreResults
Feature currently not supported.- Specified by:
getMoreResultsin interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-
getMoreResults
Feature currently not supported.- Specified by:
getMoreResultsin interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-
getUpdateCount
Retrieves the current result as an update count; if the result is a ResultSet object or there are no more results, -1 is returned. This method should be called only once per result.- Specified by:
getUpdateCountin interfaceStatement- Returns:
- the current result as an update count; -1 if the current result is a ResultSet object or there are no more results
- Throws:
SQLException- if this method is called on a closed Statement
-
getResultSet
Retrieves the current result as a ResultSet object. This method should be called only once per result.- Specified by:
getResultSetin interfaceStatement- Returns:
- the current result as a ResultSet object or null if the result is an update count or there are no more results
- Throws:
SQLException- if this method is called on a closed Statement
-
setEscapeProcessing
Sets escape processing on or off. This feature is not supported by this driver, so calling this method will add a SQL warning.- Specified by:
setEscapeProcessingin interfaceStatement- Parameters:
enable- true to enable escape processing; false to disable it- Throws:
SQLException- if this method is called on a closed Statement
-
getQueryTimeout
Retrieves the number of seconds the driver will wait for a Statement object to execute. If the limit is exceeded, a SQLException is thrown. The current version of the driver does not support query timeout, so this limit will have no effect on query execution.- Specified by:
getQueryTimeoutin interfaceStatement- Returns:
- the current query timeout limit in seconds; zero means there is no limit
- Throws:
SQLException- if this method is called on a closed Statement
-
setQueryTimeout
Sets the number of seconds the driver will wait for a Statement object to execute to the given number of seconds. By default there is no limit on the amount of time allowed for a running statement to complete. If the limit is exceeded, an SQLTimeoutException is thrown. The driver must apply this limit to the execute, executeQuery and executeUpdate methods. The current version of the driver does not support query timeout, so this limit will have no effect on query execution.- Specified by:
setQueryTimeoutin interfaceStatement- Parameters:
seconds- the new query timeout limit in seconds; zero means there is no limit- Throws:
SQLException- if this method is called on a closed Statement or the condition seconds >= 0 is not satisfied
-
getWarnings
Retrieves the first warning reported by calls on this Statement object. If there is more than one warning, subsequent warnings will be chained to the first one and can be retrieved by calling the method SQLWarning.getNextWarning on the warning that was retrieved previously.- Specified by:
getWarningsin interfaceStatement- Returns:
- the first SQLWarning object or null if there are none
- Throws:
SQLException- if a database access error occurs or this method is called on a closed connection
-
clearWarnings
Clears all warnings reported for this Statement object. After a call to this method, the method getWarnings returns null until a new warning is reported for this Connection object.- Specified by:
clearWarningsin interfaceStatement- Throws:
SQLException- if a database access error occurs or this method is called on a closed connection
-
setCursorName
Sets the SQL cursor name to the given String, which will be used by subsequent Statement object execute methods. Because positioned updates/deletes are not supported by this driver, this will add a SQL warning.- Specified by:
setCursorNamein interfaceStatement- Parameters:
name- the new cursor name, which must be unique within a connection- Throws:
SQLException- if this method is called on a closed Statement
-
setFetchDirection
Gives the driver a hint as to the direction in which rows will be processed in ResultSet objects created using this Statement object. The default value is ResultSet.FETCH_FORWARD.- Specified by:
setFetchDirectionin interfaceStatement- Parameters:
direction- the initial direction for processing rows- Throws:
SQLException- if this method is called on a closed Statement or the given direction is not one of ResultSet.FETCH_FORWARD, ResultSet.FETCH_REVERSE, or ResultSet.FETCH_UNKNOWN
-
getFetchDirection
Retrieves the direction for fetching rows from database tables that is the default for result sets generated from this Statement object.- Specified by:
getFetchDirectionin interfaceStatement- Returns:
- the default fetch direction for result sets generated from this Statement object
- Throws:
SQLException- if this method is called on a closed Statement
-
setFetchSize
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for ResultSet objects generated by this Statement. If the value specified is zero, then the hint is ignored. The default value is zero.- Specified by:
setFetchSizein interfaceStatement- Parameters:
rows- the number of rows to fetch- Throws:
SQLException- if this method is called on a closed Statement or the condition rows >= 0 is not satisfied
-
getFetchSize
Retrieves the number of result set rows that is the default fetch size for ResultSet objects generated from this Statement object.- Specified by:
getFetchSizein interfaceStatement- Returns:
- the default fetch size for result sets generated from this Statement object
- Throws:
SQLException- if this method is called on a closed Statement
-
getResultSetConcurrency
Retrieves the result set concurrency for ResultSet objects generated by this Statement object.- Specified by:
getResultSetConcurrencyin interfaceStatement- Returns:
- either ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE
- Throws:
SQLException- if this method is called on a closed Statement
-
getResultSetType
Retrieves the result set type for ResultSet objects generated by this Statement object.- Specified by:
getResultSetTypein interfaceStatement- Returns:
- one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
- Throws:
SQLException- if this method is called on a closed Statement
-
getConnection
Retrieves the Connection object that produced this Statement object.- Specified by:
getConnectionin interfaceStatement- Returns:
- the connection that produced this statement
- Throws:
SQLException- if this method is called on a closed Statement
-
getResultSetHoldability
Retrieves the result set holdability for ResultSet objects generated by this Statement object.- Specified by:
getResultSetHoldabilityin interfaceStatement- Returns:
- either ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT
- Throws:
SQLException- if this method is called on a closed Statement
-
setPoolable
Feature not supported- Specified by:
setPoolablein interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-
isPoolable
Returns a value indicating whether the Statement is poolable or not.- Specified by:
isPoolablein interfaceStatement- Returns:
- false
- Throws:
SQLException- if this method is called on a closed Statement
-
getLargeUpdateCount
Retrieves the current result as an update count; if the result is a ResultSet object or there are no more results, -1 is returned. This method should be called only once per result. This method should be used when the returned row count may exceed Integer.MAX_VALUE.- Specified by:
getLargeUpdateCountin interfaceStatement- Returns:
- the current result as an update count; -1 if the current result is a ResultSet object or there are no more results
- Throws:
SQLException- if this method is called on a closed Statement
-
setLargeMaxRows
Sets the limit for the maximum number of rows that any ResultSet object generated by this Statement object can contain to the given number. If the limit is exceeded, the excess rows are silently dropped. This method should be used when the row limit may exceed Integer.MAX_VALUE.- Specified by:
setLargeMaxRowsin interfaceStatement- Parameters:
max- the new max rows limit; zero means there is no limit- Throws:
SQLException- if this method is called on a closed Statement or the condition max >= 0 is not satisfied
-
getLargeMaxRows
Retrieves the maximum number of rows that a ResultSet object produced by this Statement object can contain. If this limit is exceeded, the excess rows are silently dropped. This method should be used when the returned row limit may exceed Integer.MAX_VALUE.- Specified by:
getLargeMaxRowsin interfaceStatement- Returns:
- the current maximum number of rows for a ResultSet object produced by this Statement object; zero means there is no limit
- Throws:
SQLException- if this method is called on a closed Statement
-
getMaxFieldSize
Retrieves the maximum number of bytes that can be returned for character and binary column values in a ResultSet object produced by this Statement object.- Specified by:
getMaxFieldSizein interfaceStatement- Returns:
- zero, meaning there is no column size limit for columns storing character and binary values
- Throws:
SQLException- if this method is called on a closed Statement
-
setMaxFieldSize
Sets the limit for the maximum number of bytes that can be returned for character and binary column values in a ResultSet object produced by this Statement object.- Specified by:
setMaxFieldSizein interfaceStatement- Parameters:
max- the new column size limit in bytes; zero means there is no limit- Throws:
SQLException- if this method is called on a closed Statement or the condition max >= 0 is not satisfied
-
getMaxRows
Retrieves the maximum number of rows that a ResultSet object produced by this Statement object can contain. If this limit is exceeded, the excess rows are silently dropped.- Specified by:
getMaxRowsin interfaceStatement- Returns:
- the current maximum number of rows for a ResultSet object produced by this Statement object; zero means there is no limit
- Throws:
SQLException- if this method is called on a closed Statement
-
setMaxRows
Sets the limit for the maximum number of rows that any ResultSet object generated by this Statement object can contain to the given number. If the limit is exceeded, the excess rows are silently dropped.- Specified by:
setMaxRowsin interfaceStatement- Parameters:
max- the new max rows limit; zero means there is no limit- Throws:
SQLException- if this method is called on a closed Statement or the condition max >= 0 is not satisfied
-
execute
Feature not supported.- Specified by:
executein interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-
execute
Feature not supported.- Specified by:
executein interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-
execute
Feature not supported.- Specified by:
executein interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-
executeUpdate
Feature not supported.- Specified by:
executeUpdatein interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-
executeUpdate
Feature not supported.- Specified by:
executeUpdatein interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-
executeUpdate
Feature not supported.- Specified by:
executeUpdatein interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-
executeLargeUpdate
Feature not supported.- Specified by:
executeLargeUpdatein interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-
executeLargeUpdate
Feature not supported.- Specified by:
executeLargeUpdatein interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-
executeLargeUpdate
Feature not supported.- Specified by:
executeLargeUpdatein interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-
getGeneratedKeys
Feature not supported.- Specified by:
getGeneratedKeysin interfaceStatement- Throws:
SQLFeatureNotSupportedException- This feature is not supportedSQLException
-