use of org.apache.hadoop.hive.metastore.client.builder.SQLCheckConstraintBuilder in project hive by apache.
the class TestCheckConstraint method inOtherCatalog.
@Test
public void inOtherCatalog() throws TException {
String constraintName = "occc";
// Table in non 'hive' catalog
List<SQLCheckConstraint> cc = new SQLCheckConstraintBuilder().onTable(testTables[2]).addColumn("col1").setConstraintName(constraintName).setCheckExpression("like s%").build(metaStore.getConf());
client.addCheckConstraint(cc);
CheckConstraintsRequest rqst = new CheckConstraintsRequest(testTables[2].getCatName(), testTables[2].getDbName(), testTables[2].getTableName());
List<SQLCheckConstraint> fetched = client.getCheckConstraints(rqst);
Assert.assertEquals(cc, fetched);
client.dropConstraint(testTables[2].getCatName(), testTables[2].getDbName(), testTables[2].getTableName(), constraintName);
rqst = new CheckConstraintsRequest(testTables[2].getCatName(), testTables[2].getDbName(), testTables[2].getTableName());
fetched = client.getCheckConstraints(rqst);
Assert.assertTrue(fetched.isEmpty());
}
use of org.apache.hadoop.hive.metastore.client.builder.SQLCheckConstraintBuilder in project hive by apache.
the class TestGetAllTableConstraints method allConstraintsPresent.
/**
* Test to verify all constraint are present in table
* @throws TException
*/
@Test
public void allConstraintsPresent() throws TException {
Table table = testTables[0];
Table parentTable = testTables[1];
SQLAllTableConstraints expected = new SQLAllTableConstraints();
// Set col1 as primary key Constraint in default catalog and database
List<SQLPrimaryKey> pk = new SQLPrimaryKeyBuilder().onTable(table).addColumn("col1").setConstraintName("col1_pk").build(metaStore.getConf());
client.addPrimaryKey(pk);
expected.setPrimaryKeys(pk);
// Set col2 with Unique Constraint in default catalog and database
String uniqueConstraintName = "col2_unique";
List<SQLUniqueConstraint> uc = new SQLUniqueConstraintBuilder().onTable(table).addColumn("col2").setConstraintName("col2_unique").build(metaStore.getConf());
client.addUniqueConstraint(uc);
expected.setUniqueConstraints(uc);
// Set col3 with default Constraint in default catalog and database
List<SQLDefaultConstraint> dv = new SQLDefaultConstraintBuilder().onTable(table).addColumn("col3").setConstraintName("col3_default").setDefaultVal(false).build(metaStore.getConf());
client.addDefaultConstraint(dv);
expected.setDefaultConstraints(dv);
// Set col3 with not null constraint in default catalog and database;
List<SQLNotNullConstraint> nn = new SQLNotNullConstraintBuilder().onTable(table).addColumn("col3").setConstraintName("col3_not_null").build(metaStore.getConf());
client.addNotNullConstraint(nn);
expected.setNotNullConstraints(nn);
// Set col2 with not check constraint in default catalog and database;
List<SQLCheckConstraint> cc = new SQLCheckConstraintBuilder().onTable(table).addColumn("col2").setConstraintName("col2_check").setCheckExpression("= 5").build(metaStore.getConf());
client.addCheckConstraint(cc);
expected.setCheckConstraints(cc);
// Set col1 of parent table to PK and Set Col4 of table to FK
List<SQLPrimaryKey> parentPk = new SQLPrimaryKeyBuilder().onTable(parentTable).addColumn("col1").setConstraintName("parentpk").build(metaStore.getConf());
client.addPrimaryKey(parentPk);
String fkConstraintName = "fk";
List<SQLForeignKey> fk = new SQLForeignKeyBuilder().fromPrimaryKey(parentPk).onTable(table).setConstraintName(fkConstraintName).addColumn("col4").build(metaStore.getConf());
client.addForeignKey(fk);
expected.setForeignKeys(fk);
// Fetch all constraints for the table in default catalog and database
AllTableConstraintsRequest request = new AllTableConstraintsRequest(table.getDbName(), table.getTableName(), table.getCatName());
SQLAllTableConstraints actual = client.getAllTableConstraints(request);
Assert.assertEquals(expected, actual);
}
Aggregations