@Override public void writeValue(DataBuffer buff, Value v) { int x = v.getInt(); write0(buff, x); }
private boolean isHavingNullOrFalse(Value[] row) { if (havingIndex >= 0) { Value v = row[havingIndex]; if (v == ValueNull.INSTANCE) { return true; } if (!Boolean.TRUE.equals(v.getBoolean())) { return true; } } return false; }
@Override public void setValue(int i, Value v, Column c) { if (i == -1) { this.key = v.getLong(); } else { data[i] = v; } }
private static long length(Value v) { switch (v.getType()) { case Value.BLOB: case Value.CLOB: case Value.BYTES: case Value.JAVA_OBJECT: return v.getPrecision(); default: return v.getString().length(); } }
if (getType() == targetType) { return this; switch (getType()) { case BYTE: case SHORT: case DOUBLE: case FLOAT: return ValueBoolean.get(getSignum() != 0); case TIME: case DATE: case JAVA_OBJECT: case UUID: throw DbException.get(ErrorCode.DATA_CONVERSION_ERROR_1, getString()); switch (getType()) { case BOOLEAN: return ValueByte.get(getBoolean().booleanValue() ? (byte) 1 : (byte) 0); case SHORT: return ValueByte.get(convertToByte(getShort())); case INT: return ValueByte.get(convertToByte(getInt())); case LONG: return ValueByte.get(convertToByte(getLong())); case DECIMAL: return ValueByte.get(convertToByte(convertToLong(getBigDecimal()))); case DOUBLE:
int type = v.getType(); writeInt(type); switch (type) { case Value.BYTES: case Value.JAVA_OBJECT: writeBytes(v.getBytesNoCopy()); break; case Value.UUID: { writeBoolean(v.getBoolean().booleanValue()); break; case Value.BYTE: writeByte(v.getByte()); break; case Value.DATE: writeString(v.getString()); break; case Value.DOUBLE: writeDouble(v.getDouble()); break; case Value.FLOAT: writeFloat(v.getFloat()); break; case Value.SHORT: writeInt(v.getShort()); break; case Value.INT:
switch (info.type) { case ABS: result = v0.getSignum() > 0 ? v0 : v0.negate(); break; case ACOS: result = ValueDouble.get(Math.acos(v0.getDouble())); break; case ASIN: result = ValueDouble.get(Math.asin(v0.getDouble())); break; case ATAN: result = ValueDouble.get(Math.atan(v0.getDouble())); break; case CEILING: result = ValueDouble.get(Math.ceil(v0.getDouble())); break; case COS: result = ValueDouble.get(Math.cos(v0.getDouble())); break; case COSH: result = ValueDouble.get(Math.cosh(v0.getDouble())); break; case COT: { double d = Math.tan(v0.getDouble()); if (d == 0.0) { throw DbException.get(ErrorCode.DIVISION_BY_ZERO_1, getSQL()); result = ValueDouble.get(Math.toDegrees(v0.getDouble())); break;
switch (info.type) { case ATAN2: result = ValueDouble.get(Math.atan2(v0.getDouble(), v1.getDouble())); break; case BITAND: result = ValueLong.get(v0.getLong() & v1.getLong()); break; case BITOR: result = ValueLong.get(v0.getLong() | v1.getLong()); break; case BITXOR: result = ValueLong.get(v0.getLong() ^ v1.getLong()); break; case MOD: { long x = v1.getLong(); if (x == 0) { throw DbException.get(ErrorCode.DIVISION_BY_ZERO_1, getSQL()); result = ValueLong.get(v0.getLong() % x); break; result = ValueDouble.get(Math.pow(v0.getDouble(), v1.getDouble())); break; case ROUND: { double f = v1 == null ? 1. : Math.pow(10., v1.getDouble()); result = ValueDouble.get(Math.round(v0.getDouble() * f) / f); break; if (v0.getType() == Value.TIMESTAMP) {
case Aggregate.SUM: if (value == null) { value = v.convertTo(dataType); } else { v = v.convertTo(value.getType()); value = value.add(v); value = v.convertTo(DataType.getAddProofType(dataType)); } else { v = v.convertTo(value.getType()); value = value.add(v); double x = v.getDouble(); if (count == 1) { mean = x; v = v.convertTo(Value.BOOLEAN); if (value == null) { value = v; } else { value = ValueBoolean.get(value.getBoolean().booleanValue() && v.getBoolean().booleanValue()); v = v.convertTo(Value.BOOLEAN); if (value == null) { value = v; } else { value = ValueBoolean.get(value.getBoolean().booleanValue() || v.getBoolean().booleanValue()); value = v.convertTo(dataType);
public ResultSet getResultSet() { SimpleResultSet rs = new SimpleResultSet(); rs.addColumn("X", DataType.convertTypeToSQLType(getType()), MathUtils.convertLongToInt(getPrecision()), getScale()); rs.addRow(getObject()); return rs; }
} else { synchronized (this) { value = localDefaultExpression.getValue(session).convertTo(type); if (value == ValueNull.INSTANCE) { if (convertNullToDefault && localDefaultExpression != null) { value = localDefaultExpression.getValue(session).convertTo(type); if (Boolean.FALSE.equals(v.getBoolean())) { throw DbException.get(ErrorCode.CHECK_CONSTRAINT_VIOLATED_1, checkConstraint.getSQL()); value = value.convertScale(mode.convertOnlyToSmallerScale, scale); if (precision > 0) { if (!value.checkPrecision(precision)) { String s = value.getTraceSQL(); if (s.length() > 127) { s = s.substring(0, 128) + "..."; s + " (" + value.getPrecision() + ")");
/** * Extracts expression columns from ValueArray * * @param session the current session * @param value the value to extract columns from * @return array of expression columns */ public static Expression[] getExpressionColumns(ServerSession session, ValueArray value) { Value[] list = value.getList(); ExpressionColumn[] expr = new ExpressionColumn[list.length]; for (int i = 0, len = list.length; i < len; i++) { Value v = list[i]; Column col = new Column("C" + (i + 1), v.getType(), v.getPrecision(), v.getScale(), v.getDisplaySize()); expr[i] = new ExpressionColumn(session.getDatabase(), col); } return expr; }
static Value divide(Value a, long by) { if (by == 0) { return ValueNull.INSTANCE; } int type = Value.getHigherOrder(a.getType(), Value.LONG); Value b = ValueLong.get(by).convertTo(type); a = a.convertTo(type).divide(b); return a; } }
/** * Convert an object to the default Java object for the given SQL type. For * example, LOB objects are converted to java.sql.Clob / java.sql.Blob. * * @param v the value * @return the object */ Object convertToDefaultObject(Value v) { Object o; switch (v.getType()) { case Value.CLOB: { int id = getNextTraceId(TraceObject.CLOB); o = new JdbcClob(this, v, id); break; } case Value.BLOB: { int id = getNextTraceId(TraceObject.BLOB); o = new JdbcBlob(this, v, id); break; } case Value.JAVA_OBJECT: if (SysProperties.SERIALIZE_JAVA_OBJECT) { o = Utils.deserialize(v.getBytesNoCopy()); break; } default: o = v.getObject(); } return o; }
@Override public void writeValue(DataBuffer buff, Value v) { String s = v.getString(); write0(buff, s); }
/** * Returns the length. * * @return the length */ @Override public long length() throws SQLException { try { debugCodeCall("length"); checkClosed(); if (value.getType() == Value.CLOB) { long precision = value.getPrecision(); if (precision > 0) { return precision; } } return IOUtils.copyAndCloseInput(value.getReader(), null, Long.MAX_VALUE); } catch (Exception e) { throw logAndConvert(e); } }
/** * Returns the length. * * @return the length * @throws SQLException */ @Override public long length() throws SQLException { try { debugCodeCall("length"); checkClosed(); if (value.getType() == Value.BLOB) { long precision = value.getPrecision(); if (precision > 0) { return precision; } } return IOUtils.copyAndCloseInput(value.getInputStream(), null); } catch (Exception e) { throw logAndConvert(e); } }
Blob blob; blob = conn.createBlob(); blob.setBytes(0, v.getBytes()); return blob; } else if (paramClass == Clob.class) { throw DbException.convert(e); if (v.getType() == Value.JAVA_OBJECT) { Object o = SysProperties.SERIALIZE_JAVA_OBJECT ? Utils.deserialize(v.getBytes()) : v.getObject(); if (paramClass.isAssignableFrom(o.getClass())) { return o;