validateField(key); if (!key.getName().equals(primaryKeys.get(i))) { throw new InvalidFieldException(
private void setField(PreparedStatement statement, Field field, int parameterIndex) throws SQLException, InvalidFieldException { fieldValidator.validateField(field); Object value = field.getValue(); FieldType.Type type = tableSchema.getType(field.getName());
oldValue, newValue); fieldValidator.validatePrimaryKeys(keys, false); fieldValidator.validateField(oldValue); if (oldValue.getFieldType() != newValue.getFieldType()) { throw new IllegalArgumentException(
@Override public boolean compareAndSwap(Collection<Field<?>> keys, Field<?> oldValue, Field<?> newValue) { LOG.trace("Table {}: CompareAndSwap with keys {}, oldValue {}, newValue {}", schema.getTableId(), keys, oldValue, newValue); fieldValidator.validateField(oldValue); if (oldValue.getFieldType() != newValue.getFieldType()) { throw new IllegalArgumentException( String.format("Field types of oldValue (%s) and newValue (%s) are not the same", oldValue.getFieldType(), newValue.getFieldType())); } if (!oldValue.getName().equals(newValue.getName())) { throw new IllegalArgumentException( String.format("Trying to compare and swap different fields. Old Value = %s, New Value = %s", oldValue, newValue)); } if (schema.isPrimaryKeyColumn(oldValue.getName())) { throw new IllegalArgumentException("Cannot use compare and swap on a primary key field"); } return table.compareAndSwap(convertKeyToBytes(keys, false), Bytes.toBytes(oldValue.getName()), fieldToBytes(oldValue, oldValue.getFieldType()), fieldToBytes(newValue, newValue.getFieldType())); }
fieldValidator.validateField(field); if (schema.isPrimaryKeyColumn(field.getName())) { addKey(key, field, schema.getType(field.getName()));