| Title: Apache Accumulo Constraints Example |
| Notice: Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| . |
| http://www.apache.org/licenses/LICENSE-2.0 |
| . |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| This tutorial uses the following Java classes, which can be found in org.apache.accumulo.examples.simple.constraints in the examples-simple module: |
| |
| * AlphaNumKeyConstraint.java - a constraint that requires alphanumeric keys |
| * NumericValueConstraint.java - a constraint that requires numeric string values |
| |
| This an example of how to create a table with constraints. Below a table is |
| created with two example constraints. One constraints does not allow non alpha |
| numeric keys. The other constraint does not allow non numeric values. Two |
| inserts that violate these constraints are attempted and denied. The scan at |
| the end shows the inserts were not allowed. |
| |
| $ ./bin/accumulo shell -u username -p password |
| |
| Shell - Apache Accumulo Interactive Shell |
| - |
| - version: 1.5.0 |
| - instance name: instance |
| - instance id: 00000000-0000-0000-0000-000000000000 |
| - |
| - type 'help' for a list of available commands |
| - |
| username@instance> createtable testConstraints |
| username@instance testConstraints> constraint -a org.apache.accumulo.examples.simple.constraints.NumericValueConstraint |
| username@instance testConstraints> constraint -a org.apache.accumulo.examples.simple.constraints.AlphaNumKeyConstraint |
| username@instance testConstraints> insert r1 cf1 cq1 1111 |
| username@instance testConstraints> insert r1 cf1 cq1 ABC |
| Constraint Failures: |
| ConstraintViolationSummary(constrainClass:org.apache.accumulo.examples.simple.constraints.NumericValueConstraint, violationCode:1, violationDescription:Value is not numeric, numberOfViolatingMutations:1) |
| username@instance testConstraints> insert r1! cf1 cq1 ABC |
| Constraint Failures: |
| ConstraintViolationSummary(constrainClass:org.apache.accumulo.examples.simple.constraints.NumericValueConstraint, violationCode:1, violationDescription:Value is not numeric, numberOfViolatingMutations:1) |
| ConstraintViolationSummary(constrainClass:org.apache.accumulo.examples.simple.constraints.AlphaNumKeyConstraint, violationCode:1, violationDescription:Row was not alpha numeric, numberOfViolatingMutations:1) |
| username@instance testConstraints> scan |
| r1 cf1:cq1 [] 1111 |
| username@instance testConstraints> |
| |