use of com.torodb.core.transaction.metainf.ImmutableMetaSnapshot in project torodb by torodb.
the class SnapshotMergerTest method testDatabaseNameConflict.
/**
* Test that an exception is thrown on database name conflicts
*
* @throws Exception
*/
@Test
public void testDatabaseNameConflict() throws Exception {
MutableMetaSnapshot changedSnapshot = new WrapperMutableMetaSnapshot(new ImmutableMetaSnapshot(Collections.emptyMap()));
changedSnapshot.addMetaDatabase("dbName2", "dbId1");
try {
new SnapshotMerger(currentSnapshot, changedSnapshot).merge();
Assert.fail("A " + UnmergeableException.class.getSimpleName() + " was expected to be thrown");
} catch (UnmergeableException ex) {
}
}
use of com.torodb.core.transaction.metainf.ImmutableMetaSnapshot in project torodb by torodb.
the class SnapshotMergerTest method testDocPartRefConflict.
/**
* Test that an exception is thrown on doc part table ref conflicts
*
* @throws Exception
*/
@Test
public void testDocPartRefConflict() throws Exception {
MutableMetaSnapshot changedSnapshot = new WrapperMutableMetaSnapshot(new ImmutableMetaSnapshot(Collections.emptyMap()));
changedSnapshot.addMetaDatabase("dbName1", "dbId1").addMetaCollection("colName1", "colId1").addMetaDocPart(tableRefFactory.createChild(tableRefFactory.createRoot(), "anotherTRef"), "docPartId1");
try {
new SnapshotMerger(currentSnapshot, changedSnapshot).merge();
Assert.fail("A " + UnmergeableException.class.getSimpleName() + " was expected to be thrown");
} catch (UnmergeableException ex) {
}
}
use of com.torodb.core.transaction.metainf.ImmutableMetaSnapshot in project torodb by torodb.
the class ReservedIdInfoFactoryImpl method startUp.
@Override
protected void startUp() throws Exception {
ImmutableMetaSnapshot snapshot;
try (SnapshotStage snapshotStage = metainfoRepository.startSnapshotStage()) {
snapshot = snapshotStage.createImmutableSnapshot();
}
try (Connection connection = sqlInterface.getDbBackend().createSystemConnection()) {
DSLContext dsl = sqlInterface.getDslContextFactory().createDslContext(connection);
megaMap = loadRowIds(dsl, snapshot);
}
}
use of com.torodb.core.transaction.metainf.ImmutableMetaSnapshot in project torodb by torodb.
the class IdentifierFactoryImplTest method unallowedDatabaseToIdentifierTest.
@Test
public void unallowedDatabaseToIdentifierTest() {
ImmutableMetaSnapshot metaSnapshot = new ImmutableMetaSnapshot.Builder().build();
String identifier = identifierFactory.toDatabaseIdentifier(metaSnapshot, "unallowed_schema");
Assert.assertEquals("_unallowed_schema", identifier);
}
use of com.torodb.core.transaction.metainf.ImmutableMetaSnapshot in project torodb by torodb.
the class SqlTorodServer method enableDataImportMode.
@Override
public void enableDataImportMode() {
ImmutableMetaSnapshot snapshot = internalTransactionManager.takeMetaSnapshot();
backend.enableDataImportMode(snapshot);
}
Aggregations