@Override public ParameterMetaData getParameterMetaData() throws SQLException { return targetStatement.getParameterMetaData(); }
@Override public ParameterMetaData getParameterMetaData() throws SQLException { return rawStatement.getParameterMetaData(); }
@Override public ParameterMetaData getParameterMetaData() throws SQLException { return rawStatement.getParameterMetaData(); }
@Override public ParameterMetaData getParameterMetaData() throws SQLException { return statement.getParameterMetaData(); }
/** {@inheritDoc} */ @Override public ParameterMetaData getParameterMetaData() throws SQLException { return delegate.getParameterMetaData(); }
@Override public ParameterMetaData getParameterMetaData() throws SQLException { return delegate.getParameterMetaData(); }
public ParameterMetaData getParameterMetaData() throws SQLException { return pstmt.getParameterMetaData(); }
private void init() throws SQLException { int paramCount = targetStatement.getParameterMetaData().getParameterCount(); this.parameters = new ArrayList[paramCount]; for (int i = 0; i < paramCount; i++) { parameters[i] = new ArrayList<>(); } }
private void initParameterHolder() throws SQLException { int paramCount = targetStatement.getParameterMetaData().getParameterCount(); this.parameters = new ArrayList[paramCount]; for (int i = 0; i < paramCount; i++) { parameters[i] = new ArrayList<>(); } }
if (!shouldIgnoreGetParameterType) { try { sqlTypeToUse = ps.getParameterMetaData().getParameterType(paramIndex);
@Override public ParameterMetaData preparedStatement_getParameterMetaData(PreparedStatementProxy statement) throws SQLException { if (this.pos < filterSize) { return nextFilter().preparedStatement_getParameterMetaData(this, statement); } return statement.getRawObject().getParameterMetaData(); }
/** * Creates a mapping between column positions and their data types * @return A map containing the position of the columns along with their data type as value */ private Map<Integer, Integer> getColumnPosSqlTypes() { try { final Map<Integer, Integer> columnPosSqlTypes = Maps.newHashMap(); ParameterMetaData pMetaData = this.insertPstmtForFixedBatch.getParameterMetaData(); for (int i = 1; i <= pMetaData.getParameterCount(); i++) { columnPosSqlTypes.put(i, pMetaData.getParameterType(i)); } return columnPosSqlTypes; } catch (SQLException e) { throw new RuntimeException("Cannot retrieve columns types for batch insert", e); } }
/** {@inheritDoc} */ @Override public ParameterMetaData getParameterMetaData() throws SQLException { ensureNotClosed(); return getNativeStatement().getParameterMetaData(); }
@Override public ParameterMetaData getParameterMetaData() throws SQLException { checkOpen(); if (!conn.holder.isUnderlyingAutoCommit()) { conn.createTransactionInfo(); } try { return stmt.getParameterMetaData(); } catch (Throwable t) { throw checkException(t); } }
@Override public void setValues(PreparedStatement ps) throws SQLException { ps.setString(1, user.getUsername()); ps.setString(2, user.getPassword()); ps.setBoolean(3, user.isEnabled()); int paramCount = ps.getParameterMetaData().getParameterCount(); if (paramCount > 3) { //NOTE: acc_locked, acc_expired and creds_expired are also to be inserted ps.setBoolean(4, !user.isAccountNonLocked()); ps.setBoolean(5, !user.isAccountNonExpired()); ps.setBoolean(6, !user.isCredentialsNonExpired()); } } });
@Override public void setValues(PreparedStatement ps) throws SQLException { ps.setString(1, user.getPassword()); ps.setBoolean(2, user.isEnabled()); int paramCount = ps.getParameterMetaData().getParameterCount(); if (paramCount == 3) { ps.setString(3, user.getUsername()); } else { //NOTE: acc_locked, acc_expired and creds_expired are also updated ps.setBoolean(3, !user.isAccountNonLocked()); ps.setBoolean(4, !user.isAccountNonExpired()); ps.setBoolean(5, !user.isCredentialsNonExpired()); ps.setString(6, user.getUsername()); } } });
/** * @param req Request. * @return Response. */ private ClientListenerResponse getParametersMeta(JdbcMetaParamsRequest req) { try { ParameterMetaData paramMeta = ctx.query().prepareNativeStatement(req.schemaName(), req.sql()) .getParameterMetaData(); int size = paramMeta.getParameterCount(); List<JdbcParameterMeta> meta = new ArrayList<>(size); for (int i = 0; i < size; i++) meta.add(new JdbcParameterMeta(paramMeta, i + 1)); JdbcMetaParamsResult res = new JdbcMetaParamsResult(meta); return new JdbcResponse(res); } catch (Exception e) { U.error(log, "Failed to get parameters metadata [reqId=" + req.requestId() + ", req=" + req + ']', e); return exceptionToResult(e); } }
/** * @throws Exception If failed. */ @Test public void testParametersMetadata() throws Exception { try (Connection conn = DriverManager.getConnection(URL)) { conn.setSchema("\"pers\""); PreparedStatement stmt = conn.prepareStatement("select orgId from Person p where p.name > ? and p.orgId > ?"); ParameterMetaData meta = stmt.getParameterMetaData(); assert meta != null; assert meta.getParameterCount() == 2; assert meta.getParameterType(1) == Types.VARCHAR; assert meta.isNullable(1) == ParameterMetaData.parameterNullableUnknown; assert meta.getPrecision(1) == Integer.MAX_VALUE; assert meta.getParameterType(2) == Types.INTEGER; assert meta.isNullable(2) == ParameterMetaData.parameterNullableUnknown; } }
@Test public void testSetParameterValueWithNullAndGetParameterTypeWorking() throws SQLException { ParameterMetaData pmd = mock(ParameterMetaData.class); given(preparedStatement.getParameterMetaData()).willReturn(pmd); given(pmd.getParameterType(1)).willReturn(Types.SMALLINT); StatementCreatorUtils.setParameterValue(preparedStatement, 1, SqlTypeValue.TYPE_UNKNOWN, null, null); verify(pmd).getParameterType(1); verify(preparedStatement, never()).getConnection(); verify(preparedStatement).setNull(1, Types.SMALLINT); }
/** * @throws Exception If failed. */ @Test public void testParametersMetadata() throws Exception { try (Connection conn = DriverManager.getConnection(BASE_URL)) { conn.setSchema("pers"); PreparedStatement stmt = conn.prepareStatement("select orgId from Person p where p.name > ? and p.orgId > ?"); ParameterMetaData meta = stmt.getParameterMetaData(); assertNotNull(meta); assertEquals(2, meta.getParameterCount()); assertEquals(Types.VARCHAR, meta.getParameterType(1)); assertEquals(ParameterMetaData.parameterNullableUnknown, meta.isNullable(1)); assertEquals(Integer.MAX_VALUE, meta.getPrecision(1)); assertEquals(Types.INTEGER, meta.getParameterType(2)); assertEquals(ParameterMetaData.parameterNullableUnknown, meta.isNullable(2)); } }