/** * Creates a table reference based on fullTableName. * fullTableName is assumed to be of the format namespace.tableName, and must contain a dot. */ public static TableReference createFromFullyQualifiedName(String fullTableName) { int index = fullTableName.indexOf('.'); Preconditions.checkArgument(index > 0, "Table name %s is not a fully qualified table name.", fullTableName); return create( Namespace.create(fullTableName.substring(0, index), Namespace.UNCHECKED_NAME), fullTableName.substring(index + 1)); }
public TableReference getTableRef() { Namespace namespace = Namespace.create("default", Namespace.UNCHECKED_NAME); String tableName = "blobs"; return TableReference.create(namespace, tableName); }
public static TableReference createLowerCased(TableReference table) { String name = table.namespace.getName().toLowerCase(); Namespace namespace = name.isEmpty() ? Namespace.EMPTY_NAMESPACE : Namespace.create(name); return create( namespace, table.tablename.toLowerCase()); }
private void expectFailure(String string, Pattern pattern) { try { Namespace.create(string, pattern); fail("Namespace '" + string + "' was not supposed to match pattern '" + pattern + "'"); } catch (Exception e) { // success } }
private static TableReference table(int id) { return TableReference.create(Namespace.create(Integer.toString(id)), Integer.toString(id)); } }
private static TableReference table(String name) { return TableReference.create(Namespace.create("test"), name); } }
private static TableReference tableRef(int index) { return TableReference.create(Namespace.create(Integer.toString(index)), Integer.toString(index)); } }
private static TableReference getTableRef(int number) { return TableReference.create(Namespace.create("ns"), "table" + number); } }
private static TableReference table(String name) { return TableReference.create(Namespace.create("test"), name); }
private TableReference table(String tableName) { return TableReference.create(Namespace.create("foo"), tableName); }
public static final TableReference getTableRefFromBytes(byte[] encodedTableRef) { String nameSpace = EncodingUtils.decodeVarString(encodedTableRef); int offset = EncodingUtils.sizeOfVarString(nameSpace); String tableName = PtBytes.toString(encodedTableRef, offset, encodedTableRef.length - offset); return TableReference.create(Namespace.create(nameSpace), tableName); }
@Test public void testGetFullTableReferenceStringLegacy() { MatcherAssert.assertThat( Schemas.getTableReferenceString(TABLE_NAME, Namespace.create("met")), Matchers.equalTo("TableReference.createWithEmptyNamespace(\"" + TABLE_NAME + "\")") ); }
private static Schema schemaWithNamespaceAndDeprecatedTables(String namespace, String... deprecatedTables) { Schema schema = new Schema(Namespace.create(namespace)); schema.addDeprecatedTables(deprecatedTables); return schema; }
@Test(timeout = 50000) public void testSweepOnMixedCaseTable() { TableReference mixedCaseTable = TableReference.create(Namespace.create("someNamespace"), "someTable"); createTable(mixedCaseTable, SweepStrategy.CONSERVATIVE); put(mixedCaseTable, "row", "col", "val", 10); put(mixedCaseTable, "row", "col", "val", 20); Optional<SweepResults> optResults = completeSweep(mixedCaseTable, 30); optResults.ifPresent(results -> { assertEquals(1, results.getStaleValuesDeleted()); assertThat(results.getCellTsPairsExamined()).isGreaterThanOrEqualTo(2); }); }
@Test public void skipsSpecifiedCheckpointTable() { TableReference noNamespaceCheckpoint = TableReference.createWithEmptyNamespace(KeyValueServiceMigratorUtils.CHECKPOINT_TABLE_NAME); TableReference defaultNamespaceCheckpoint = TableReference.create( Namespace.create("old_namespace"), KeyValueServiceMigratorUtils.CHECKPOINT_TABLE_NAME); when(fromKvs.getAllTableNames()) .thenReturn(ImmutableSet.of(noNamespaceCheckpoint, defaultNamespaceCheckpoint, TABLE_TO_MIGRATE)); Set<TableReference> migratableTableNames = KeyValueServiceMigratorUtils.getMigratableTableNames(fromKvs, ImmutableSet.of(), defaultNamespaceCheckpoint); assertThat(migratableTableNames).containsExactlyInAnyOrder(TABLE_TO_MIGRATE, noNamespaceCheckpoint); } }
@Test public void shouldModifyTableNameForShortTableName() { when(resultSet.size()).thenReturn(0); TableReference tableRef = TableReference.create(Namespace.create("ns1"), "short"); String shortPrefixedTableName = oracleTableNameMapper .getShortPrefixedTableName(connectionSupplier, TEST_PREFIX, tableRef); assertThat(shortPrefixedTableName, is("a_ns__short_0000")); }
private TableReference truncateNamespace(TableReference tableRef) { if (tableRef.getNamespace().isEmptyNamespace()) { return tableRef; } String namespace = tableRef.getNamespace().getName(); namespace = truncate(namespace, MAX_NAMESPACE_LENGTH); return TableReference.create(Namespace.create(namespace), tableRef.getTablename()); }
@Test public void createLowerCasedWithNamespace() { String upperFoo = "FOO"; String upperBar = "BAR"; TableReference upper = TableReference.create(Namespace.create(upperFoo), upperBar); TableReference lower = TableReference.createLowerCased(upper); assertEquals(lower.getNamespace().getName(), upperFoo.toLowerCase()); assertEquals(lower.getTablename(), upperBar.toLowerCase()); }
@Test public void canAddDeprecatedTablesAndIndexes() { Namespace namespace = Namespace.create("namespace"); Schema schema = new Schema("TableWithDeprecations", TEST_PACKAGE, namespace); schema.addTableDefinition(TEST_TABLE_NAME, getSimpleTableDefinition(TABLE_REF)); schema.addDeprecatedTables("anOldTable"); schema.validate(); assertThat(schema.getDeprecatedTables()).containsOnly( TableReference.create(namespace, "anOldTable")); }
@Test public void cannotAddDeprecatedTablesOrIndexesThatConflictWithCurrentTables() { Namespace namespace = Namespace.create("namespace"); Schema schema = new Schema("TableWithDeprecations", TEST_PACKAGE, namespace); schema.addTableDefinition(TEST_TABLE_NAME, getSimpleTableDefinition(TABLE_REF)); schema.addDeprecatedTables(TEST_TABLE_NAME); assertThatExceptionOfType(SafeIllegalStateException.class) .isThrownBy(schema::validate) .withMessageStartingWith("A deprecated table cannot also be part of your schema. " + "Check logs for any unsafe table names.") .satisfies(e -> assertThat(e.getArgs()).contains(UnsafeArg.of( "invalidDeprecatedTables_unsafe", ImmutableSet.of(TableReference.create(namespace, TEST_TABLE_NAME))))); }