public void hasColumnFamilyAccess(String keyspace, String columnFamily, Permission perm) throws UnauthorizedException, InvalidRequestException { ThriftValidation.validateColumnFamily(keyspace, columnFamily); hasAccess(keyspace, perm, DataResource.table(keyspace, columnFamily)); }
public void hasColumnFamilyAccess(String keyspace, String columnFamily, Permission perm) throws UnauthorizedException, InvalidRequestException { ThriftValidation.validateColumnFamily(keyspace, columnFamily); hasAccess(keyspace, perm, DataResource.table(keyspace, columnFamily)); }
public void hasColumnFamilyAccess(String keyspace, String columnFamily, Permission perm) throws UnauthorizedException, InvalidRequestException { ThriftValidation.validateColumnFamily(keyspace, columnFamily); hasAccess(keyspace, perm, DataResource.columnFamily(keyspace, columnFamily)); }
public void validate(ClientState state) throws InvalidRequestException { ThriftValidation.validateColumnFamily(keyspace(), columnFamily()); }
public void validate(ClientState state) throws RequestValidationException { ThriftValidation.validateColumnFamily(keyspace(), columnFamily()); }
public void validate(ClientState state) throws InvalidRequestException { ThriftValidation.validateColumnFamily(keyspace(), columnFamily()); }
public void validate(ClientState state) throws InvalidRequestException { ThriftValidation.validateColumnFamily(keyspace(), columnFamily()); }
public void validate(ClientState state) throws RequestValidationException { ThriftValidation.validateColumnFamily(keyspace(), columnFamily()); }
public void validate(ClientState state) throws RequestValidationException { ThriftValidation.validateColumnFamily(keyspace(), columnFamily()); }
public List<IMutation> prepareRowMutations(String keyspace, ThriftClientState clientState, Long timestamp, List<ByteBuffer> variables) throws InvalidRequestException, UnauthorizedException { CFMetaData metadata = validateColumnFamily(keyspace, columnFamily); clientState.hasColumnFamilyAccess(keyspace, columnFamily, Permission.MODIFY); AbstractType<?> keyType = Schema.instance.getCFMetaData(keyspace, columnFamily).getKeyValidator(); List<IMutation> mutations = new ArrayList<IMutation>(keys.size()); for (Term key : keys) mutations.add(mutationForKey(key.getByteBuffer(keyType, variables), keyspace, timestamp, clientState, variables, metadata)); return mutations; }
public void validate(ClientState state) throws RequestValidationException { ThriftValidation.validateColumnFamily(keyspace(), columnFamily()); try { TriggerExecutor.instance.loadTriggerInstance(triggerClass); } catch (Exception e) { throw new ConfigurationException(String.format("Trigger class '%s' doesn't exist", triggerClass)); } }
public static CFMetaData validateColumnFamily(String keyspaceName, String cfName, boolean isCommutativeOp) throws org.apache.cassandra.exceptions.InvalidRequestException { CFMetaData metadata = validateColumnFamily(keyspaceName, cfName); if (isCommutativeOp) { if (!metadata.isCounter()) throw new org.apache.cassandra.exceptions.InvalidRequestException("invalid operation for non commutative table " + cfName); } else { if (metadata.isCounter()) throw new org.apache.cassandra.exceptions.InvalidRequestException("invalid operation for commutative table " + cfName); } return metadata; }
public static CFMetaData validateColumnFamily(String keyspaceName, String cfName, boolean isCommutativeOp) throws org.apache.cassandra.exceptions.InvalidRequestException { CFMetaData metadata = validateColumnFamily(keyspaceName, cfName); if (isCommutativeOp) { if (!metadata.isCounter()) throw new org.apache.cassandra.exceptions.InvalidRequestException("invalid operation for non commutative columnfamily " + cfName); } else { if (metadata.isCounter()) throw new org.apache.cassandra.exceptions.InvalidRequestException("invalid operation for commutative columnfamily " + cfName); } return metadata; }
public void validate(ClientState state) throws RequestValidationException { CFMetaData cfm = ThriftValidation.validateColumnFamily(keyspace(), columnFamily()); if (cfm.isView()) throw new InvalidRequestException("Cannot CREATE TRIGGER against a materialized view"); try { TriggerExecutor.instance.loadTriggerInstance(triggerClass); } catch (Exception e) { throw new ConfigurationException(String.format("Trigger class '%s' doesn't exist", triggerClass)); } }
public static CFMetaData validateColumnFamily(String keyspaceName, String cfName, boolean isCommutativeOp) throws org.apache.cassandra.exceptions.InvalidRequestException { CFMetaData metadata = validateColumnFamily(keyspaceName, cfName); if (isCommutativeOp) { if (!metadata.isCounter()) throw new org.apache.cassandra.exceptions.InvalidRequestException("invalid operation for non commutative table " + cfName); } else { if (metadata.isCounter()) throw new org.apache.cassandra.exceptions.InvalidRequestException("invalid operation for commutative table " + cfName); } return metadata; }
public void validate(ClientState state) throws RequestValidationException { CFMetaData cfm = ThriftValidation.validateColumnFamily(keyspace(), columnFamily()); if (cfm.isView()) throw new InvalidRequestException("Cannot CREATE TRIGGER against a materialized view"); try { TriggerExecutor.instance.loadTriggerInstance(triggerClass); } catch (Exception e) { throw new ConfigurationException(String.format("Trigger class '%s' doesn't exist", triggerClass)); } }
/** {@inheritDoc} */ public List<IMutation> prepareRowMutations(String keyspace, ThriftClientState clientState, Long timestamp, List<ByteBuffer> variables) throws InvalidRequestException, UnauthorizedException { boolean hasCommutativeOperation = false; for (Map.Entry<Term, Operation> column : getColumns().entrySet()) { if (!column.getValue().isUnary()) hasCommutativeOperation = true; if (hasCommutativeOperation && column.getValue().isUnary()) throw new InvalidRequestException("Mix of commutative and non-commutative operations is not allowed."); } CFMetaData metadata = validateColumnFamily(keyspace, columnFamily, hasCommutativeOperation); if (hasCommutativeOperation) getConsistencyLevel().validateCounterForWrite(metadata); QueryProcessor.validateKeyAlias(metadata, keyName); clientState.hasColumnFamilyAccess(keyspace, columnFamily, Permission.MODIFY); List<IMutation> mutations = new LinkedList<>(); for (Term key: keys) mutations.add(mutationForKey(keyspace, key.getByteBuffer(getKeyType(keyspace),variables), metadata, timestamp, clientState, variables)); return mutations; }
public String system_drop_column_family(String column_family) throws InvalidRequestException, SchemaDisagreementException, TException { logger.trace("drop_column_family"); ThriftClientState cState = state(); try { String keyspace = cState.getKeyspace(); cState.hasColumnFamilyAccess(keyspace, column_family, Permission.DROP); CFMetaData metadata = ThriftValidation.validateColumnFamily(keyspace, column_family); if (metadata.isView()) throw new org.apache.cassandra.exceptions.InvalidRequestException("Cannot drop Materialized Views from Thrift"); MigrationManager.announceColumnFamilyDrop(keyspace, column_family); return Schema.instance.getVersion().toString(); } catch (RequestValidationException e) { throw ThriftConversion.toThrift(e); } }
public String system_drop_column_family(String column_family) throws InvalidRequestException, SchemaDisagreementException, TException { logger.trace("drop_column_family"); ThriftClientState cState = state(); try { String keyspace = cState.getKeyspace(); cState.hasColumnFamilyAccess(keyspace, column_family, Permission.DROP); CFMetaData metadata = ThriftValidation.validateColumnFamily(keyspace, column_family); if (metadata.isView()) throw new org.apache.cassandra.exceptions.InvalidRequestException("Cannot drop Materialized Views from Thrift"); MigrationManager.announceColumnFamilyDrop(keyspace, column_family); return Schema.instance.getVersion().toString(); } catch (RequestValidationException e) { throw ThriftConversion.toThrift(e); } }
@Override public Event.SchemaChange announceMigration(QueryState queryState, boolean isLocalOnly) throws RequestValidationException { KeyspaceMetadata ksm = Schema.instance.getKSMetaData(keyspace()); CFMetaData cfm = validateColumnFamily(ksm, columnFamily()); Pair<CFMetaData, List<ViewDefinition>> x = updateTable(ksm, cfm, queryState.getTimestamp()); MigrationManager.announceColumnFamilyUpdate(x.left, x.right, isLocalOnly); return new Event.SchemaChange(Event.SchemaChange.Change.UPDATED, Event.SchemaChange.Target.TABLE, keyspace(), columnFamily()); }