Examples of AISMerge


Examples of com.foundationdb.ais.model.AISMerge

    @Override
    public void createIndexes(Session session, Collection<? extends Index> indexes, boolean keepStorage) {
        ArgumentValidation.notNull("indexes", indexes);
        ArgumentValidation.notEmpty("indexes", indexes);

        AISMerge merge = AISMerge.newForAddIndex(aisCloner, getNameGenerator(session), getAISForChange(session));
        Set<String> schemas = new HashSet<>();
        Collection<Integer> tableIDs = new HashSet<>(indexes.size());
        for(Index proposed : indexes) {
            Index newIndex = merge.mergeIndex(proposed);
            if(keepStorage && (proposed.getStorageDescription() != null)) {
                newIndex.copyStorageDescription(proposed);
            }
            tableIDs.addAll(newIndex.getAllTableIDs());
            schemas.add(DefaultNameGenerator.schemaNameForIndex(newIndex));
        }
        merge.merge();
        AkibanInformationSchema newAIS = merge.getAIS();
        saveAISChange(session, newAIS, schemas, tableIDs);
    }
View Full Code Here

Examples of com.foundationdb.ais.model.AISMerge

            schemas.add(oldName.getSchemaName());
            schemas.add(newName.getSchemaName());
            tableIDs.add(oldAIS.getTable(oldName).getTableId());
        }

        AISMerge merge = AISMerge.newForModifyTable(aisCloner, getNameGenerator(session), oldAIS, alteredTables);
        merge.merge();
        final AkibanInformationSchema newAIS = merge.getAIS();

        for(ChangedTableDescription desc : alteredTables) {
            Table newTable = newAIS.getTable(desc.getNewName());
            ensureUuids(newTable);
View Full Code Here

Examples of com.foundationdb.ais.model.AISMerge

    /** Add the Sequence to the current AIS */
    @Override
    public void createSequence(final Session session, final Sequence sequence) {
        checkSequenceName(session, sequence.getSequenceName(), false);
        AISMerge merge = AISMerge.newForOther(aisCloner, getNameGenerator(session), getAISForChange(session));
        AkibanInformationSchema newAIS = merge.mergeSequence(sequence);
        saveAISChange(session, newAIS, Collections.singleton(sequence.getSchemaName()));
    }
View Full Code Here

Examples of com.foundationdb.ais.model.AISMerge

        final TableName newName = newTable.getName();
        checkTableName(session, newName, false, isInternal);
        AISInvariants.checkJoinTo(newTable.getParentJoin(), newName, isInternal);

        AkibanInformationSchema oldAIS = getAISForChange(session, !isInternal);
        AISMerge merge = AISMerge.newForAddTable(aisCloner, getNameGenerator(session), oldAIS, newTable);
        merge.merge();
        AkibanInformationSchema newAIS = merge.getAIS();
        Table mergedTable = newAIS.getTable(newName);

        ensureUuids(mergedTable);

        if(version == null) {
View Full Code Here

Examples of com.foundationdb.ais.model.AISMerge

            return ais;
        }

        @Override
        public void createIndexes(Session session, Collection<? extends Index> indexesToAdd) {
            AISMerge merge = AISMerge.newForAddIndex(getAISCloner(), new DefaultNameGenerator(ais), ais);
            for(Index newIndex : indexesToAdd) {
                merge.mergeIndex(newIndex);
            }
            merge.merge();
            ais = merge.getAIS();
        }
View Full Code Here

Examples of com.foundationdb.ais.model.AISMerge

            ais = merge.getAIS();
        }
       
        @Override
        public void createSequence(Session session, Sequence sequence) {
            AISMerge merge = AISMerge.newForOther(getAISCloner(), new DefaultNameGenerator(ais), ais);
            ais = merge.mergeSequence(sequence);
        }
View Full Code Here

Examples of com.foundationdb.ais.model.AISMerge

    private static class CreateOnlyDDLMock extends DDLFunctionsMockBase {
        AkibanInformationSchema ais = new AkibanInformationSchema();

        @Override
        public void createTable(Session session, Table newTable) {
            AISMerge merge = AISMerge.newForAddTable(getAISCloner(), new DefaultNameGenerator(ais), ais, newTable);
            merge.merge();
            ais = merge.getAIS();
        }
View Full Code Here

Examples of com.foundationdb.ais.model.AISMerge

            ais = merge.getAIS();
        }

        @Override
        public void createTable(Session session, Table newTable, String queryExpression, QueryContext context, ServerSession server) {
            AISMerge merge = AISMerge.newForAddTable(getAISCloner(), new DefaultNameGenerator(ais), ais, newTable);
            merge.merge();
            ais = merge.getAIS();
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.