@Override public Date getDate(int columnIndex, Calendar cal) throws SQLException { checkCursorState(); Date value = (Date)rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PDate.INSTANCE, ptr); wasNull = (value == null); if (wasNull) { return null; } cal.setTime(value); return new Date(cal.getTimeInMillis()); }
@Override public BigDecimal getBigDecimal(int columnIndex) throws SQLException { checkCursorState(); BigDecimal value = (BigDecimal)rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PDecimal.INSTANCE, ptr); wasNull = (value == null); return value; }
@Override public int getInt(int columnIndex) throws SQLException { checkCursorState(); Integer value = (Integer)rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PInteger.INSTANCE, ptr); wasNull = (value == null); if (value == null) { return 0; } return value; }
@Override public Time getTime(int columnIndex) throws SQLException { checkCursorState(); Time value = (Time)rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PTime.INSTANCE, ptr); wasNull = (value == null); return value; }
@Override public long getLong(int columnIndex) throws SQLException { checkCursorState(); Long value = (Long)rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PLong.INSTANCE, ptr); wasNull = (value == null); if (value == null) { return 0; } return value; }
@Override public byte getByte(int columnIndex) throws SQLException { // throw new SQLFeatureNotSupportedException(); checkCursorState(); Byte value = (Byte)rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PTinyint.INSTANCE, ptr); wasNull = (value == null); if (value == null) { return 0; } return value; }
@Override public short getShort(int columnIndex) throws SQLException { checkCursorState(); Short value = (Short)rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PSmallint.INSTANCE, ptr); wasNull = (value == null); if (value == null) { return 0; } return value; }
@Override public byte[] getBytes(int columnIndex) throws SQLException { checkCursorState(); byte[] value = (byte[])rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PVarbinary.INSTANCE, ptr); wasNull = (value == null); return value; }
@Override public Timestamp getTimestamp(int columnIndex) throws SQLException { checkCursorState(); Timestamp value = (Timestamp)rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PTimestamp.INSTANCE, ptr); wasNull = (value == null); return value; }
@Override public Date getDate(int columnIndex) throws SQLException { checkCursorState(); Date value = (Date)rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PDate.INSTANCE, ptr); wasNull = (value == null); if (value == null) { return null; } return value; }
@Override public double getDouble(int columnIndex) throws SQLException { checkCursorState(); Double value = (Double)rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PDouble.INSTANCE, ptr); wasNull = (value == null); if (value == null) { return 0; } return value; }
@Override public float getFloat(int columnIndex) throws SQLException { checkCursorState(); Float value = (Float)rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PFloat.INSTANCE, ptr); wasNull = (value == null); if (value == null) { return 0; } return value; }
@Override public Time getTime(int columnIndex, Calendar cal) throws SQLException { checkCursorState(); Time value = (Time)rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PTime.INSTANCE, ptr); wasNull = (value == null); if (value == null) { return null; } cal.setTime(value); value.setTime(cal.getTimeInMillis()); return value; }
@Override public String getString(int columnIndex) throws SQLException { checkCursorState(); // Get the value using the expected type instead of trying to coerce to VARCHAR. // We can't coerce using our formatter because we don't have enough context in PDataType. ColumnProjector projector = rowProjector.getColumnProjector(columnIndex-1); PDataType type = projector.getExpression().getDataType(); Object value = projector.getValue(currentRow,type, ptr); if (wasNull = (value == null)) { return null; } // Run Object through formatter to get String. // This provides a simple way of getting a reasonable string representation // for types like DATE and TIME Format formatter = statement.getFormatter(type); return formatter == null ? value.toString() : formatter.format(value); }
@Override public Array getArray(int columnIndex) throws SQLException { checkCursorState(); // Get the value using the expected type instead of trying to coerce to VARCHAR. // We can't coerce using our formatter because we don't have enough context in PDataType. ColumnProjector projector = rowProjector.getColumnProjector(columnIndex-1); Array value = (Array)projector.getValue(currentRow, projector.getExpression().getDataType(), ptr); wasNull = (value == null); return value; }
@Override public Object getObject(int columnIndex) throws SQLException { checkCursorState(); ColumnProjector projector = rowProjector.getColumnProjector(columnIndex-1); Object value = projector.getValue(currentRow, projector.getExpression().getDataType(), ptr); wasNull = (value == null); return value; }
@Override public boolean getBoolean(int columnIndex) throws SQLException { checkCursorState(); ColumnProjector colProjector = rowProjector.getColumnProjector(columnIndex-1); PDataType type = colProjector.getExpression().getDataType(); Object value = colProjector.getValue(currentRow, type, ptr); wasNull = (value == null); if (value == null) { return false; } if (type == PBoolean.INSTANCE) { return Boolean.TRUE.equals(value); } else if (type == PVarchar.INSTANCE) { return !STRING_FALSE.equals(value); } else if (type == PInteger.INSTANCE) { return !INTEGER_FALSE.equals(value); } else if (type == PDecimal.INSTANCE) { return !BIG_DECIMAL_FALSE.equals(value); } else { throw new SQLExceptionInfo.Builder(SQLExceptionCode.CANNOT_CALL_METHOD_ON_TYPE) .setMessage("Method: getBoolean; Type:" + type).build().buildException(); } }
@Override public URL getURL(int columnIndex) throws SQLException { checkCursorState(); String value = (String)rowProjector.getColumnProjector(columnIndex-1).getValue(currentRow, PVarchar.INSTANCE, ptr); wasNull = (value == null); if (value == null) { return null; } try { return new URL(value); } catch (MalformedURLException e) { throw new SQLExceptionInfo.Builder(SQLExceptionCode.MALFORMED_URL).setRootCause(e).build().buildException(); } }
try { Tuple row = iterator.next(); final long mutationCount = (Long) aggProjector.getColumnProjector(0).getValue(row, PLong.INSTANCE, ptr); return new MutationState(maxSize, maxSizeBytes, connection) {
try { Tuple row = iterator.next(); final long mutationCount = (Long) projector.getColumnProjector(0).getValue(row, PLong.INSTANCE, ptr); return new MutationState(maxSize, maxSizeBytes, connection) { @Override