private static PSchema newDeletedSchemaMarker(long timestamp) { return new PSchema(timestamp); }
private static Map<PTableKey, PSchema> cloneSchemaMap(Map<PTableKey, PSchema> schemas, int expectedCapacity) { Map<PTableKey, PSchema> newSchemas = newSchemaMap(Math.max(schemas.size(), expectedCapacity)); // Copy value so that access time isn't changing anymore for (PSchema schema : schemas.values()) { newSchemas.put(schema.getSchemaKey(), new PSchema(schema)); } return newSchemas; }
public PSchema(PSchema schema) { this(schema.getSchemaName().toString(), schema.getTimeStamp()); }
@Test public void testSchema() throws Exception { TestTimeKeeper timeKeeper = new TestTimeKeeper(); PMetaData metaData = new PMetaDataImpl(5, timeKeeper, new ReadOnlyProps(Collections.EMPTY_MAP)); PSchema schema = new PSchema("testSchema"); metaData.addSchema(schema); assertEquals(schema, metaData.getSchema(schema.getSchemaKey())); metaData.removeSchema(schema, schema.getTimeStamp()); try { metaData.getSchema(schema.getSchemaKey()); fail("the schema should be removed"); } catch (SchemaNotFoundException e) { } }
boolean isIfNotExists = create.isIfNotExists(); validateSchema(create.getSchemaName()); PSchema schema = new PSchema(create.getSchemaName()); connection.setAutoCommit(false); List<Mutation> schemaMutations; schemaUpsert.setString(1, schema.getSchemaName()); schemaUpsert.setString(2, MetaDataClient.EMPTY_TABLE); schemaUpsert.execute(); schema.getSchemaName()); MutationCode code = result.getMutationCode(); switch (code) { addSchemaToCache(result); if (!isIfNotExists) { throw new SchemaAlreadyExistsException(schema.getSchemaName()); } break; case NEWER_SCHEMA_FOUND: throw new NewerSchemaAlreadyExistsException(schema.getSchemaName()); default: result = new MetaDataMutationResult(code, schema, result.getMutationTime());
PSchema schema = loadSchema(env, lockKey, cacheKey, clientTimeStamp, clientTimeStamp); if (schema != null) { if (schema.getTimeStamp() < clientTimeStamp) { if (!isSchemaDeleted(schema)) { builder.setReturnCode(MetaDataProtos.MutationCode.SCHEMA_ALREADY_EXISTS); builder.setMutationTime(EnvironmentEdgeManager.currentTimeMillis()); builder.setSchema(PSchema.toProto(schema)); done.run(builder.build()); return; builder.setReturnCode(MetaDataProtos.MutationCode.NEWER_SCHEMA_FOUND); builder.setMutationTime(EnvironmentEdgeManager.currentTimeMillis()); builder.setSchema(PSchema.toProto(schema)); done.run(builder.build()); return;
@Override public void removeSchema(PSchema schema, long schemaTimeStamp) { this.metaData.schemas.remove(schema.getSchemaKey()); }
if (schema == null) { return new MetaDataMutationResult(MutationCode.SCHEMA_NOT_FOUND, EnvironmentEdgeManager.currentTimeMillis(), null); } if (schema.getTimeStamp() < clientTimeStamp) { Region region = env.getRegion(); Scan scan = MetaDataUtil.newTableRowsScan(SchemaUtil.getKeyForSchema(null, schemaName), MIN_TABLE_TIMESTAMP,
private static boolean isSchemaDeleted(PSchema schema) { return schema.getSchemaName() == null; }
result.schema = PSchema.createFromProto(proto.getSchema());
builder.setSchema(PSchema.toProto(result.schema));
boolean wasAutoCommit = connection.getAutoCommit(); try { PSchema schema = new PSchema(executableDropSchemaStatement.getSchemaName()); String schemaName = schema.getSchemaName(); boolean ifExists = executableDropSchemaStatement.ifExists(); byte[] key = SchemaUtil.getSchemaKey(schemaName);
PSchema schema = loadSchema(env, lockKey, cacheKey, clientTimeStamp, clientTimeStamp); if (schema != null) { if (schema.getTimeStamp() < clientTimeStamp) { if (!isSchemaDeleted(schema)) { builder.setReturnCode(MetaDataProtos.MutationCode.SCHEMA_ALREADY_EXISTS); builder.setMutationTime(EnvironmentEdgeManager.currentTimeMillis()); builder.setSchema(PSchema.toProto(schema)); done.run(builder.build()); return; builder.setReturnCode(MetaDataProtos.MutationCode.NEWER_SCHEMA_FOUND); builder.setMutationTime(EnvironmentEdgeManager.currentTimeMillis()); builder.setSchema(PSchema.toProto(schema)); done.run(builder.build()); return;
@Override public void addSchema(PSchema schema) throws SQLException { this.metaData.schemas.put(schema.getSchemaKey(), schema); }
if (schema == null) { return new MetaDataMutationResult(MutationCode.SCHEMA_NOT_FOUND, EnvironmentEdgeManager.currentTimeMillis(), null); } if (schema.getTimeStamp() < clientTimeStamp) { Region region = env.getRegion(); Scan scan = MetaDataUtil.newTableRowsScan(SchemaUtil.getKeyForSchema(null, schemaName), MIN_TABLE_TIMESTAMP,
private static boolean isSchemaDeleted(PSchema schema) { return schema.getSchemaName() == null; }
result.schema = PSchema.createFromProto(proto.getSchema());
builder.setSchema(PSchema.toProto(result.schema));
public SingleTableColumnResolver(PhoenixConnection connection, TableRef tableRef) { super(connection, 0, null); alias = tableRef.getTableAlias(); tableRefs = ImmutableList.of(tableRef); schemas = ImmutableList.of(new PSchema(tableRef.getTable().getSchemaName().toString())); }
public static PSchemaProtos.PSchema toProto(PSchema schema) { PSchemaProtos.PSchema.Builder builder = PSchemaProtos.PSchema.newBuilder(); builder.setSchemaName(schema.getSchemaName()); builder.setTimeStamp(schema.getTimeStamp()); return builder.build(); }