java.sql.ResultSet#TYPE_FORWARD_ONLY源码实例Demo

下面列出了java.sql.ResultSet#TYPE_FORWARD_ONLY 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Override protected Statement newInstance() throws Exception {
  UnregisteredDriver driver = new TestDriver();
  AvaticaConnection connection = new AvaticaConnection(driver, driver.createFactory(),
      "jdbc:avatica", new Properties()) {
  };
  StatementHandle handle = mock(StatementHandle.class);
  AvaticaStatement statement = new AvaticaStatement(connection, handle,
      ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY,
      ResultSet.HOLD_CURSORS_OVER_COMMIT) {
  };
  statement.close();
  assertTrue("Statement is not closed", statement.isClosed());

  return statement;
}
 
源代码2 项目: presto   文件: PrestoDatabaseMetaData.java
@Override
public boolean supportsResultSetConcurrency(int type, int concurrency)
        throws SQLException
{
    return (type == ResultSet.TYPE_FORWARD_ONLY) &&
            (concurrency == ResultSet.CONCUR_READ_ONLY);
}
 
源代码3 项目: phoenix   文件: PhoenixConnection.java
@Override
public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
    if (resultSetType != ResultSet.TYPE_FORWARD_ONLY || resultSetConcurrency != ResultSet.CONCUR_READ_ONLY) {
        throw new SQLFeatureNotSupportedException();
    }
    return createStatement();
}
 
源代码4 项目: mybatis   文件: DefaultResultSetHandler.java
private void skipRows(ResultSet rs, RowBounds rowBounds) throws SQLException {
  if (rs.getType() != ResultSet.TYPE_FORWARD_ONLY) {
    if (rowBounds.getOffset() != RowBounds.NO_ROW_OFFSET) {
      rs.absolute(rowBounds.getOffset());
    }
  } else {
    for (int i = 0; i < rowBounds.getOffset(); i++) {
      rs.next();
    }
  }
}
 
源代码5 项目: dragonwell8_jdk   文件: CommonRowSetTests.java
@DataProvider(name = "rowSetScrollTypes")
protected Object[][] rowSetScrollTypes() throws Exception {
    RowSet rs = newInstance();

    return new Object[][]{
        {rs, ResultSet.TYPE_FORWARD_ONLY},
        {rs, ResultSet.TYPE_SCROLL_INSENSITIVE},
        {rs, ResultSet.TYPE_SCROLL_SENSITIVE}
    };
}
 
源代码6 项目: jdk8u60   文件: CommonRowSetTests.java
@DataProvider(name = "rowSetScrollTypes")
protected Object[][] rowSetScrollTypes() throws Exception {
    RowSet rs = newInstance();

    return new Object[][]{
        {rs, ResultSet.TYPE_FORWARD_ONLY},
        {rs, ResultSet.TYPE_SCROLL_INSENSITIVE},
        {rs, ResultSet.TYPE_SCROLL_SENSITIVE}
    };
}
 
源代码7 项目: gemfirexd-oss   文件: Converters.java
public static int getJdbcResultSetType(byte thriftType) {
  switch (thriftType) {
    case gfxdConstants.RESULTSET_TYPE_FORWARD_ONLY:
      return ResultSet.TYPE_FORWARD_ONLY;
    case gfxdConstants.RESULTSET_TYPE_INSENSITIVE:
      return ResultSet.TYPE_SCROLL_INSENSITIVE;
    case gfxdConstants.RESULTSET_TYPE_SENSITIVE:
      return ResultSet.TYPE_SCROLL_SENSITIVE;
    default:
      throw new IllegalArgumentException("Thrift ResultSet type="
          + thriftType);
  }
}
 
源代码8 项目: tddl5   文件: MockResultSet.java
/**
 * iBatis会用到这个方法
 */
public int getType() throws SQLException {
    return ResultSet.TYPE_FORWARD_ONLY;
}
 
CassandraPreparedStatement(CassandraConnection con, String cql) throws SQLException
{    	
    this(con, cql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);
}
 
源代码10 项目: phoenix   文件: PhoenixStatement.java
@Override
public int getResultSetType() throws SQLException {
    return ResultSet.TYPE_FORWARD_ONLY;
}
 
源代码11 项目: gemfirexd-oss   文件: DRDAStatement.java
/** 
 * is this a scrollable cursor?
 * return true if this is not a forward only cursor
 */
protected boolean isScrollable()
{
	return (getScrollType() != ResultSet.TYPE_FORWARD_ONLY);
}
 
源代码12 项目: shardingsphere   文件: StatementOption.java
public StatementOption(final boolean returnGeneratedKeys) {
    this(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT, returnGeneratedKeys);
}
 
源代码13 项目: gemfirexd-oss   文件: VTIDeferModPolicy.java
/**
 * See if a VTI modification statement should be deferred.
 *
 * @param statementType DeferModification.INSERT_STATEMENT, UPDATE_STATEMENT, or DELETE_STATEMENT
 * @param targetVTI The target VTI
 * @param updateColumnNames The list of columns being updated, null if this is not an update statement
 * @param source
 */
public static boolean deferIt( int statementType,
                               FromVTI targetVTI,
                               String[] updateColumnNames,
                               QueryTreeNode source)
    throws StandardException
{
    try
    {
        DeferModification deferralControl;
        int resultSetType = targetVTI.getResultSetType( );

        /* Deferred updates and deletes are implemented by scrolling the result set. So, if
         * the statement is an update or delete but the result set is not scrollable then do
         * not attempt to defer the statement.
         */
        if( (statementType == DeferModification.UPDATE_STATEMENT ||statementType == DeferModification.DELETE_STATEMENT)
            && resultSetType == ResultSet.TYPE_FORWARD_ONLY)
            return false;

        deferralControl = targetVTI.getDeferralControl();
        if( deferralControl == null)
        {
            String VTIClassName = targetVTI.getMethodCall().getJavaClassName();
            deferralControl = new DefaultVTIModDeferPolicy( VTIClassName,
                                                            ResultSet.TYPE_SCROLL_SENSITIVE == resultSetType);
        }
        if( deferralControl.alwaysDefer( statementType))
            return true;

        if( source == null && statementType != DeferModification.UPDATE_STATEMENT)
            return false;

        VTIDeferModPolicy deferralSearch = new VTIDeferModPolicy( targetVTI,
                                                                  updateColumnNames,
                                                                  deferralControl,
                                                                  statementType);

        if( source != null)
            source.accept( deferralSearch);

        if( statementType == DeferModification.UPDATE_STATEMENT)
        {
            // Apply the columnRequiresDefer method to updated columns not in the where clause.
            Enumeration columns = deferralSearch.columns.keys();
            while( columns.hasMoreElements())
            {
                if( deferralControl.columnRequiresDefer( statementType,
                                                         (String) columns.nextElement(),
                                                         false))
                    return true;
            }
        }
        return deferralSearch.deferred;
    }
    catch( SQLException sqle)
    {
        throw StandardException.unexpectedUserException(sqle);
    }
}
 
源代码14 项目: spliceengine   文件: DRDAResultSet.java
/**
 * This method resets the state of this DRDAResultset object so that it can
 * be re-used. This method should reset all variables of this class.
 * 
 */
protected void reset() {
	explicitlyClosed = false;
	state = NOT_OPENED;
	hasdata = true;
	rsLens = null;
	rsDRDATypes = null;
	rsPrecision = null;
	rsScale = null;
	
	outovr_drdaType = null;
	
	withHoldCursor = 0;	
	scrollType = ResultSet.TYPE_FORWARD_ONLY;
	concurType = 0;
	rowCount = 0;
	rs = null;
	
	blksize = 0;
	maxblkext = 0;	
	outovropt = 0;
	qryclsimp = CodePoint.QRYCLSIMP_NO;	
	qryrelscr = false;
	qryrownbr = 0;
	qryrfrtbl = false;	
	qryscrorn = 0;
	qryrowsns = false; 
	qryblkrst = false;
	qryrtndta = false;	
	qryrowset = 0;
	qryprctyp = 0;
	gotPrctyp = false; 	
	rtnextdta = 0;	
	nbrrow = 0;
	rslsetflg = null;	

	extDtaObjects = null;
	rsExtPositions = null;
	pkgcnstkn = null;
	splitQRYDTA = null;	
}
 
源代码15 项目: phoenix   文件: PhoenixResultSet.java
@Override
public int getType() throws SQLException {
    return ResultSet.TYPE_FORWARD_ONLY;
}
 
源代码16 项目: shardingsphere   文件: CircuitBreakerResultSet.java
@Override
public int getType() {
    return ResultSet.TYPE_FORWARD_ONLY;
}
 
源代码17 项目: phoenix   文件: PhoenixStatement.java
@Override
public int getResultSetType() throws SQLException {
    return ResultSet.TYPE_FORWARD_ONLY;
}
 
源代码18 项目: gemfirexd-oss   文件: EmbedDatabaseMetaData.java
/**
    * JDBC 2.0
    *
    * Does the database support the given result set type?
    *
    * @param type defined in java.sql.ResultSet
    * @return true if so 
    * @see Connection
    */
public boolean supportsResultSetType(int type) {
	if ((type == ResultSet.TYPE_FORWARD_ONLY) ||
	    (type == ResultSet.TYPE_SCROLL_INSENSITIVE)) {
		return true;
	}
   //we don't support TYPE_SCROLL_SENSITIVE yet.
   return false;
}
 
源代码19 项目: gemfirexd-oss   文件: StatementKeyFactory.java
/**
 * Creates a key for a query with default settings.
 * <p>
 * Defaults are according to the JDBC standard; result set type will be
 * <code>ResultSet.TYPE_FORWARD_ONLY</code>, concurrency will be
 * <code>ResultSet.CONCUR_READ_ONLY</code> and the statement will not
 * return auto-generated keys.
 *
 * @param sql SQL query string
 * @param schema current compilation schema
 * @param holdability result set holdability
 * @return A statement key.
 */
public static StatementKey newPrepared(
        String sql, String schema, int holdability) {
    return new StatementKey(PREPARED, sql, schema,
            ResultSet.TYPE_FORWARD_ONLY,
            ResultSet.CONCUR_READ_ONLY,
            holdability, Statement.NO_GENERATED_KEYS);
}
 
源代码20 项目: gemfirexd-oss   文件: StatementKeyFactory.java
/**
 * Creates a key for a query specifying whether auto-generated keys
 * shall be returned.
 * <p>
 * Unspecified settings will be according to the JDBC standard; result set
 * type will be <code>ResultSet.TYPE_FORWARD_ONLY</code>, concurrency will
 * be <code>ResultSet.CONCUR_READ_ONLY</code>.
 *
 * @param sql SQL query string
 * @param schema current compilation schema
 * @param holdability result set holdability
 * @param autogeneratedKeys tells whether or not to reutrn auto-generated
 *      keys
 * @return A statement key.
 */
public static StatementKey newPrepared(
        String sql, String schema, int holdability, int autogeneratedKeys) {
    return new StatementKey(PREPARED, sql, schema,
                            ResultSet.TYPE_FORWARD_ONLY,
                            ResultSet.CONCUR_READ_ONLY,
                            holdability, autogeneratedKeys);
}