@Override public PColumnFamily getColumnFamily(String familyName) throws ColumnFamilyNotFoundException { PColumnFamily family = familyByString.get(familyName); if (family == null) { String schemaNameStr = schemaName==null?null:schemaName.getString(); String tableNameStr = tableName==null?null:tableName.getString(); throw new ColumnFamilyNotFoundException(schemaNameStr, tableNameStr, familyName); } return family; }
public static byte[] getChildLinkKey(PName parentTenantId, PName parentSchemaName, PName parentTableName, PName viewTenantId, PName viewName) { return ByteUtil.concat(parentTenantId == null ? ByteUtil.EMPTY_BYTE_ARRAY : parentTenantId.getBytes(), QueryConstants.SEPARATOR_BYTE_ARRAY, parentSchemaName == null ? ByteUtil.EMPTY_BYTE_ARRAY : parentSchemaName.getBytes(), QueryConstants.SEPARATOR_BYTE_ARRAY, parentTableName.getBytes(), QueryConstants.SEPARATOR_BYTE_ARRAY, viewTenantId == null ? ByteUtil.EMPTY_BYTE_ARRAY : viewTenantId.getBytes(), QueryConstants.SEPARATOR_BYTE_ARRAY, viewName.getBytes()); }
public static ImmutableBytesPtr getEmptyColumnFamilyPtr(PTable table) { List<PColumnFamily> families = table.getColumnFamilies(); return families.isEmpty() ? table.getDefaultFamilyName() == null ? (table.getIndexType() == IndexType.LOCAL ? QueryConstants.DEFAULT_LOCAL_INDEX_COLUMN_FAMILY_BYTES_PTR : QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES_PTR) : table.getDefaultFamilyName().getBytesPtr() : families.get(0) .getName().getBytesPtr(); }
@Override public int getEstimatedSize() { return SizedUtil.OBJECT_SIZE + SizedUtil.POINTER_SIZE * 8 + SizedUtil.INT_OBJECT_SIZE * 3 + SizedUtil.INT_SIZE + name.getEstimatedSize() + (familyName == null ? 0 : familyName.getEstimatedSize()) + (viewConstant == null ? 0 : (SizedUtil.ARRAY_SIZE + viewConstant.length)); }
private void addIndexToTable(PName tenantId, PName schemaName, PName indexName, PName tableName, long clientTimeStamp, List<PTable> indexes, int clientVersion, boolean skipAddingParentColumns) throws IOException, SQLException { byte[] tenantIdBytes = tenantId == null ? ByteUtil.EMPTY_BYTE_ARRAY : tenantId.getBytes(); PTable indexTable = doGetTable(tenantIdBytes, schemaName.getBytes(), indexName.getBytes(), clientTimeStamp, null, clientVersion, false, skipAddingParentColumns, null); if (indexTable == null) { ServerUtil.throwIOException("Index not found", new TableNotFoundException(schemaName.getString(), indexName.getString())); return; } indexes.add(indexTable); }
public static int getEstimatedSize(PName name) { return name == null ? 0 : name.getEstimatedSize(); }
@Override public PColumnFamily getColumnFamily(byte[] familyBytes) throws ColumnFamilyNotFoundException { PColumnFamily family = familyByBytes.get(familyBytes); if (family == null) { String familyName = Bytes.toString(familyBytes); String schemaNameStr = schemaName==null?null:schemaName.getString(); String tableNameStr = tableName==null?null:tableName.getString(); throw new ColumnFamilyNotFoundException(schemaNameStr, tableNameStr, familyName); } return family; }
public static void checkTenantId(PName tenantId) { // tenantId should be null or not empty Preconditions.checkArgument(tenantId == null || tenantId.getBytes().length > 0); }
public Builder setFamilyAttributes(List<PColumnFamily> families) { this.familyByBytes = Maps.newHashMapWithExpectedSize(families.size()); this.familyByString = Maps.newHashMapWithExpectedSize(families.size()); for (PColumnFamily family : families) { familyByBytes.put(family.getName().getBytes(), family); familyByString.put(family.getName().getString(), family); } this.families = families; return this; }
@Override public String apply(PColumn input) { return input.getName().getString(); } });
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((tenantId == null || tenantId.getBytes().length==0) ? 0 : tenantId.hashCode()); result = prime * result + name.hashCode(); return result; }
public KeyValueColumnExpression(PColumn column) { super(column); this.cf = column.getFamilyName().getBytes(); // for backward compatibility since older tables won't have columnQualifierBytes in their metadata this.cq = column.getColumnQualifierBytes() != null ? column.getColumnQualifierBytes() : column.getName().getBytes(); this.displayName = column.getName().getString(); }
private static int getIndexPosition(List<PTable> indexes, String indexName) { for (int i = 0; i < indexes.size(); i++) { if (indexName.equals(indexes.get(i).getTableName().getString())) { return i; } } return -1; }
public static byte[] getEmptyColumnFamily(PName defaultColumnFamily, List<PColumnFamily> families, boolean isLocalIndex) { return families.isEmpty() ? defaultColumnFamily == null ? (isLocalIndex ? QueryConstants.DEFAULT_LOCAL_INDEX_COLUMN_FAMILY_BYTES : QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES) : defaultColumnFamily.getBytes() : families.get(0).getName().getBytes(); }
private void flushParentPhysicalTable(PTable table) throws SQLException { byte[] parentPhysicalTableName = null; if (PTableType.VIEW == table.getType()) { if (!table.getIndexes().isEmpty()) { parentPhysicalTableName = table.getPhysicalName().getBytes(); } } else if (PTableType.INDEX == table.getType()) { PTable parentTable = getTable(table.getTenantId(), table.getParentName().getString(), HConstants.LATEST_TIMESTAMP); parentPhysicalTableName = parentTable.getPhysicalName().getBytes(); } if (parentPhysicalTableName != null) { flushTable(parentPhysicalTableName); } }
@Override public byte[] getColumnQualifierBytes() { // Needed for backward compatibility if (!SchemaUtil.isPKColumn(this) && columnQualifierBytes == null) { return this.name.getBytes(); } return columnQualifierBytes; }
@Override public void commitDDLFence(PTable dataTable) throws SQLException { try { tx = (HBaseTransaction) tm.fence(dataTable.getName().getBytes()); if (logger.isInfoEnabled()) { logger.info("Added write fence at ~" + tx.getReadTimestamp()); } } catch (TransactionException e) { throw new SQLExceptionInfo.Builder( SQLExceptionCode.TX_UNABLE_TO_GET_WRITE_FENCE) .setSchemaName(dataTable.getSchemaName().getString()) .setTableName(dataTable.getTableName().getString()).build() .buildException(); } }