/** * @deprecated please use createFromFullyQualifiedName, if fullTableName includes the namespace, * or createWithEmptyNamespace, if you're passing in a system table name. */ @Deprecated public static TableReference createUnsafe(String fullTableName) { return fullTableName.indexOf('.') < 0 ? createWithEmptyNamespace(fullTableName) : createFromFullyQualifiedName(fullTableName); }
public static TableReference fromString(String tableReferenceAsString) { int dotCount = StringUtils.countMatches(tableReferenceAsString, "."); if (dotCount == 0) { return TableReference.createWithEmptyNamespace(tableReferenceAsString); } else if (dotCount == 1) { return TableReference.createFromFullyQualifiedName(tableReferenceAsString); } else { throw new IllegalArgumentException(tableReferenceAsString + " is not a valid table reference."); } } }
/** * @deprecated uses {@link TableReference#createUnsafe}, which is itself deprecated. */ @Deprecated public static TableReference fromInternalTableName(String tableName) { if (tableName.startsWith("_")) { return createWithEmptyNamespace(tableName); } return createUnsafe(tableName.replaceFirst("__", ".")); }
public void checkDatabaseVersion() { runDdl(TableReference.createWithEmptyNamespace(""), (Function<DbDdlTable, Void>) table -> { table.checkDatabaseVersion(); return null; }); }
@Override protected AbstractTaskCheckpointer getCheckpointer() { return new GeneralTaskCheckpointer( TableReference.createWithEmptyNamespace("checkpoint"), keyValueService, txManager); } }
@Test public void shouldTruncateSystemTables() throws Exception { atlasDbService.truncateTable("_locks"); TableReference tableToTruncate = TableReference.createWithEmptyNamespace("_locks"); verify(kvs, atLeastOnce()).truncateTable(tableToTruncate); }
@Test public void testLongTableNameLengthFailsCassandra() { Schema schema = new Schema("Table", TEST_PACKAGE, Namespace.EMPTY_NAMESPACE); int longLengthCassandra = AtlasDbConstants.CASSANDRA_TABLE_NAME_CHAR_LIMIT + 1; String longTableName = String.join("", Collections.nCopies(longLengthCassandra, "x")); TableReference tableRef = TableReference.createWithEmptyNamespace(longTableName); List<CharacterLimitType> kvsList = new ArrayList<CharacterLimitType>(); kvsList.add(CharacterLimitType.CASSANDRA); assertThatThrownBy(() -> schema.addTableDefinition(longTableName, getSimpleTableDefinition(tableRef))) .isInstanceOf(IllegalArgumentException.class) .hasMessage(getErrorMessage(longTableName, kvsList)); }
@Test public void shouldSayANewStyleLocksTableIsHidden() { assertThat(HiddenTables.isHidden(TableReference.createWithEmptyNamespace("_locks_aaaa_123")), is(true)); }
@Test public void shouldSayANonNamespacedVisibleTableIsNotHidden() { assertThat(HiddenTables.isHidden(TableReference.createWithEmptyNamespace("table")), is(false)); }
@Test public void shouldSayAnOldStyleLocksTableIsHidden() { assertThat(HiddenTables.isHidden(TableReference.createWithEmptyNamespace("_locks")), is(true)); }
@Test public void getIndexTableFromValueTableWorksWithTableWithEmptyNamespace() { String valueTableName = StreamTableType.VALUE.getTableName(TEST_TABLE); TableReference valueTable = TableReference.createWithEmptyNamespace(valueTableName); String indexTableName = StreamTableType.INDEX.getTableName(TEST_TABLE); TableReference expectedIndexTable = TableReference.createWithEmptyNamespace(indexTableName); TableReference indexTableFromValueTable = StreamTableType.getIndexTableFromValueTable(valueTable); assertThat(indexTableFromValueTable).isNotEqualTo(valueTable); assertEquals(expectedIndexTable, indexTableFromValueTable); }
@Test public void testKeyValueMultiput() { TableReference table = TableReference.createWithEmptyNamespace("table2"); keyValueService.createTable(table, AtlasDbConstants.GENERIC_TABLE_METADATA); Cell k = Cell.create(PtBytes.toBytes("row"), PtBytes.toBytes("col")); String value = "whatever"; byte[] v = PtBytes.toBytes(value); Map<Cell, byte[]> map = ImmutableMap.of(k, v); keyValueService.multiPut(ImmutableMap.of(TEST_TABLE, map, table, map), 0); assertEquals(value, getDirect("row", "col", 1).lhSide); assertEquals(value, getDirect(table, "row", "col", 1).lhSide); keyValueService.dropTable(table); }
@Test public void testIgnoreTableNameLengthFlag() { Schema schema = new Schema("Table", TEST_PACKAGE, Namespace.EMPTY_NAMESPACE); schema.ignoreTableNameLengthChecks(); String longTableName = String.join("", Collections.nCopies(1000, "x")); TableReference tableRef = TableReference.createWithEmptyNamespace(longTableName); schema.addTableDefinition(longTableName, getSimpleTableDefinition(tableRef)); }
@Test public void isStreamStoreValueTableReturnsFalseForTestTable() { TableReference tableReference = TableReference.createWithEmptyNamespace(TEST_TABLE); assertFalse(StreamTableType.isStreamStoreValueTable(tableReference)); }
@Test public void defaultsToTheFirstKvsInTheListIfNoMappingsMatch() { TableSplittingKeyValueService splittingKvs = TableSplittingKeyValueService.create( ImmutableList.of(defaultKvs, tableDelegate), ImmutableMap.of(TableReference.createWithEmptyNamespace("not-this"), tableDelegate) ); mockery.checking(new Expectations() {{ oneOf(defaultKvs).put(TABLE, VALUES, TIMESTAMP); }}); splittingKvs.put(TABLE, VALUES, TIMESTAMP); }
@Test public void createTableThrowsAndDoesNotChangeCassandraSchema() { TableReference tableToCreate = TableReference.createWithEmptyNamespace("new_table"); assertThrowsAtlasDbDependencyExceptionAndDoesNotChangeCassandraSchema(() -> getTestKvs().createTable(tableToCreate, AtlasDbConstants.GENERIC_TABLE_METADATA)); } }
@Test public void isStreamStoreValueTableReturnsTrueForTableWithEmptyNamespace() { String tableName = StreamTableType.VALUE.getTableName(TEST_TABLE); TableReference tableReference = TableReference.createWithEmptyNamespace(tableName); assertTrue(StreamTableType.isStreamStoreValueTable(tableReference)); }
@Test public void createLowerCasedWithoutNamespace() { String upperBar = "BAR"; TableReference upper = TableReference.createWithEmptyNamespace(upperBar); TableReference lower = TableReference.createLowerCased(upper); assertEquals(lower.getNamespace(), Namespace.EMPTY_NAMESPACE); assertEquals(lower.getTablename(), upperBar.toLowerCase()); }
@Test public void canCreateTables() { TableReference tableToCreate = TableReference.createWithEmptyNamespace("new_table2"); getTestKvs().createTables(ImmutableMap.of(tableToCreate, AtlasDbConstants.GENERIC_TABLE_METADATA)); assertThat(getTestKvs().getAllTableNames()).contains(tableToCreate); assertKvsReturnsGenericMetadata(tableToCreate); assertCassandraSchemaChanged(); }
@Test public void canCreateTable() { TableReference tableToCreate = TableReference.createWithEmptyNamespace("new_table"); getTestKvs().createTable(tableToCreate, AtlasDbConstants.GENERIC_TABLE_METADATA); assertThat(getTestKvs().getAllTableNames()).contains(tableToCreate); assertKvsReturnsGenericMetadata(tableToCreate); assertCassandraSchemaChanged(); }