/** * Create simple HTD with three families: 'a', 'b', and 'c' * @param tableName name of the table descriptor * @return */ private TableDescriptor createBasic3FamilyHTD(final String tableName) { TableDescriptorBuilder tableBuilder = TableDescriptorBuilder.newBuilder(TableName.valueOf(tableName)); ColumnFamilyDescriptor a = ColumnFamilyDescriptorBuilder.of(Bytes.toBytes("a")); tableBuilder.addColumnFamily(a); ColumnFamilyDescriptor b = ColumnFamilyDescriptorBuilder.of(Bytes.toBytes("b")); tableBuilder.addColumnFamily(b); ColumnFamilyDescriptor c = ColumnFamilyDescriptorBuilder.of(Bytes.toBytes("c")); tableBuilder.addColumnFamily(c); return tableBuilder.build(); }
private static void createSequenceSnapshot(Admin admin, PhoenixConnection conn) throws SQLException { byte[] tableName = getSequenceSnapshotName(); TableDescriptor desc = TableDescriptorBuilder.newBuilder(TableName.valueOf(tableName)) .addColumnFamily(ColumnFamilyDescriptorBuilder.of(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_FAMILY_BYTES)) .build(); try { admin.createTable(desc); copyTable(conn, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_NAME_BYTES, tableName); } catch (IOException e) { throw ServerUtil.parseServerException(e); } }
PhoenixDatabaseMetaData.SYSTEM_MUTEX_NAME, props); TableDescriptor tableDesc = TableDescriptorBuilder.newBuilder(mutexTableName) .addColumnFamily(ColumnFamilyDescriptorBuilder .newBuilder(PhoenixDatabaseMetaData.SYSTEM_MUTEX_FAMILY_NAME_BYTES) .setTimeToLive(TTL_FOR_MUTEX).build())
TableDescriptorBuilder tableDescBuilder = TableDescriptorBuilder.newBuilder(physicalTableName); for (byte[] familyName : familySet) { tableDescBuilder.addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(familyName).build());
private void setSharedIndexMaxVersion(PTable table, TableDescriptor tableDescriptor, TableDescriptorBuilder indexDescriptorBuilder) { if (table.getColumnFamilies().isEmpty()) { byte[] familyName = SchemaUtil.getEmptyColumnFamily(table); ColumnFamilyDescriptorBuilder indexColDescriptorBuilder = ColumnFamilyDescriptorBuilder.newBuilder(indexDescriptorBuilder.build().getColumnFamily(familyName)); ColumnFamilyDescriptor tableColDescriptor = tableDescriptor.getColumnFamily(familyName); indexColDescriptorBuilder.setMaxVersions(tableColDescriptor.getMaxVersions()); indexColDescriptorBuilder.setValue( Bytes.toBytes(PhoenixTransactionContext.PROPERTY_TTL),tableColDescriptor.getValue(Bytes.toBytes(PhoenixTransactionContext.PROPERTY_TTL))); indexDescriptorBuilder.removeColumnFamily(familyName); indexDescriptorBuilder.addColumnFamily(indexColDescriptorBuilder.build()); } else { for (PColumnFamily family : table.getColumnFamilies()) { byte[] familyName = family.getName().getBytes(); ColumnFamilyDescriptor indexColDescriptor = indexDescriptorBuilder.build().getColumnFamily(familyName); if (indexColDescriptor != null) { ColumnFamilyDescriptor tableColDescriptor = tableDescriptor.getColumnFamily(familyName); ColumnFamilyDescriptorBuilder indexColDescriptorBuilder = ColumnFamilyDescriptorBuilder.newBuilder(indexColDescriptor); indexColDescriptorBuilder.setMaxVersions(tableColDescriptor.getMaxVersions()); indexColDescriptorBuilder.setValue( Bytes.toBytes(PhoenixTransactionContext.PROPERTY_TTL),tableColDescriptor.getValue(Bytes.toBytes(PhoenixTransactionContext.PROPERTY_TTL))); indexDescriptorBuilder.removeColumnFamily(familyName); indexDescriptorBuilder.addColumnFamily(indexColDescriptorBuilder.build()); } } } }
try (Admin admin = services.getAdmin()) { TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(TableName.valueOf(tableName)); builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES)); builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(FAMILY_NAME_A)); builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(FAMILY_NAME_B)); admin.createTable(builder.build());
builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(CF)); admin.createTable(builder.build()); builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(CF)); admin.createTable(builder.build()); builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(CF)); admin.createTable(builder.build());
/** * @param admin to create the table * @param index descriptor to update before creating table */ public static void createIndexTable(Admin admin, TableDescriptorBuilder indexBuilder) throws IOException { indexBuilder.addColumnFamily( ColumnFamilyDescriptorBuilder.newBuilder(CoveredColumnIndexCodec.INDEX_ROW_COLUMN_FAMILY) .setKeepDeletedCells(KeepDeletedCells.TRUE).build()); admin.createTable(indexBuilder.build()); } }
@Test public void testDropViewKeepsHTable() throws Exception { Connection conn = getConnection(); Admin admin = conn.unwrap(PhoenixConnection.class).getQueryServices().getAdmin(); String hbaseNativeViewName = generateUniqueName(); byte[] hbaseNativeBytes = SchemaUtil.getTableNameAsBytes(HBASE_NATIVE_SCHEMA_NAME, hbaseNativeViewName); try { TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(TableName.valueOf(hbaseNativeBytes)); ColumnFamilyDescriptor columnDescriptor = ColumnFamilyDescriptorBuilder.newBuilder(FAMILY_NAME) .setKeepDeletedCells(KeepDeletedCells.TRUE).build(); builder.addColumnFamily(columnDescriptor); admin.createTable(builder.build()); } finally { admin.close(); } conn.createStatement().execute("create view " + hbaseNativeViewName+ " (uint_key unsigned_int not null," + " ulong_key unsigned_long not null," + " string_key varchar not null,\n" + " \"1\".uint_col unsigned_int," + " \"1\".ulong_col unsigned_long" + " CONSTRAINT pk PRIMARY KEY (uint_key, ulong_key, string_key))\n" + ColumnFamilyDescriptorBuilder.DATA_BLOCK_ENCODING + "='" + DataBlockEncoding.NONE + "'"); conn.createStatement().execute("drop view " + hbaseNativeViewName); conn.close(); } }
try { admin.createTable(TableDescriptorBuilder.newBuilder(TableName.valueOf(tableBytes)) .addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(familyName) .setKeepDeletedCells(KeepDeletedCells.TRUE).build()) .build(), splits);
@Test public void testMappedView() throws Exception { Properties props = new Properties(); String schema = generateUniqueName(); String tableName = generateUniqueName(); String fullTablename = schema + QueryConstants.NAME_SEPARATOR + tableName; props.setProperty(QueryServices.SCHEMA_ATTRIB, schema); Connection conn = DriverManager.getConnection(getUrl(), props); Admin admin = driver.getConnectionQueryServices(getUrl(), TestUtil.TEST_PROPERTIES).getAdmin(); admin.createNamespace(NamespaceDescriptor.create(schema).build()); admin.createTable(TableDescriptorBuilder.newBuilder(TableName.valueOf(fullTablename)). addColumnFamily(ColumnFamilyDescriptorBuilder.of(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES)).build()); Put put = new Put(PVarchar.INSTANCE.toBytes(fullTablename)); put.addColumn(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, QueryConstants.EMPTY_COLUMN_BYTES, QueryConstants.EMPTY_COLUMN_VALUE_BYTES); Table phoenixSchematable = admin.getConnection().getTable(TableName.valueOf(fullTablename)); phoenixSchematable.put(put); phoenixSchematable.close(); conn.createStatement().execute("CREATE VIEW " + tableName + " (tablename VARCHAR PRIMARY KEY)"); ResultSet rs = conn.createStatement().executeQuery("select tablename from " + tableName); assertTrue(rs.next()); assertEquals(fullTablename, rs.getString(1)); admin.close(); conn.close(); } }
desc=TableDescriptorBuilder.newBuilder(desc).removeColumnFamily(cols[0].getName()).addColumnFamily(col).build();
builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(Bytes.toBytes("cf1"))) .addColumnFamily(ColumnFamilyDescriptorBuilder.of(Bytes.toBytes("cf2"))); admin.createTable(builder.build()); Table t = conn.getQueryServices().getTable(Bytes.toBytes(mtest));
TableDescriptorBuilder .newBuilder(tableName) .addColumnFamily( ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes("a")).build()) .build();
.addColumnFamily(ColumnFamilyDescriptorBuilder.of(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES)).build()); try { ddl = "CREATE TABLE " + t2 + " (k varchar primary key) transactional=true,transaction_provider='" + transactionProvider + "'";
builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(familyName));
builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(familyName));
admin.createNamespace(NamespaceDescriptor.create(namespace).build()); admin.createTable(TableDescriptorBuilder.newBuilder(TableName.valueOf(namespace, tableName)) .addColumnFamily(ColumnFamilyDescriptorBuilder.of(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES)).build()); admin.createTable(TableDescriptorBuilder.newBuilder(TableName.valueOf(phoenixFullTableName)) .addColumnFamily(ColumnFamilyDescriptorBuilder.of(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES)).build());
builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(familyName));
byte[] family = Bytes.toBytes("f"); descBuilder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(family)); TableDescriptor desc=descBuilder.build();