/** * Copyright (C) 2009-2013 FoundationDB, LLC * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.foundationdb.server.api.ddl; import com.foundationdb.ais.AISCloner; import com.foundationdb.ais.model.AkibanInformationSchema; import com.foundationdb.ais.model.Index; import com.foundationdb.ais.model.Routine; import com.foundationdb.ais.model.Sequence; import com.foundationdb.ais.model.SQLJJar; import com.foundationdb.ais.model.Table; import com.foundationdb.ais.model.Table; import com.foundationdb.ais.model.TableName; import com.foundationdb.ais.model.View; import com.foundationdb.ais.util.TableChange; import com.foundationdb.qp.operator.QueryContext; import com.foundationdb.server.api.DDLFunctions; import com.foundationdb.server.error.NoSuchTableException; import com.foundationdb.server.error.NoSuchTableIdException; import com.foundationdb.server.error.RowDefNotFoundException; import com.foundationdb.server.rowdata.RowDef; import com.foundationdb.server.service.dxl.OnlineDDLMonitor; import com.foundationdb.server.service.session.Session; import com.foundationdb.server.store.format.DummyStorageFormatRegistry; import com.foundationdb.server.store.format.StorageFormatRegistry; import com.foundationdb.server.types.common.types.TypesTranslator; import com.foundationdb.server.types.mcompat.mtypes.MTypesTranslator; import com.foundationdb.server.types.service.TestTypesRegistry; import com.foundationdb.server.types.service.TypesRegistry; import com.foundationdb.sql.server.ServerSession; import java.util.Collection; import java.util.List; import java.util.Set; import static com.foundationdb.ais.util.TableChangeValidator.ChangeLevel; /** * Simple implementation that throws UnsupportedOperation for all methods. */ public class DDLFunctionsMockBase implements DDLFunctions { @Override public void createTable(Session session, Table table) { throw new UnsupportedOperationException(); } @Override public void createTable(Session session, Table table, String queryExpression, QueryContext context, ServerSession server) { throw new UnsupportedOperationException(); } @Override public void renameTable(Session session, TableName currentName, TableName newName) { throw new UnsupportedOperationException(); } @Override public void dropTable(Session session, TableName tableName) { throw new UnsupportedOperationException(); } @Override public ChangeLevel alterTable(Session session, TableName tableName, Table newDefinition, List<TableChange> columnChanges, List<TableChange> indexChanges, QueryContext context) { throw new UnsupportedOperationException(); } @Override public void alterSequence(Session session, TableName sequenceName, Sequence newDefinition) { throw new UnsupportedOperationException(); } @Override public void dropSchema(Session session, String schemaName) { throw new UnsupportedOperationException(); } @Override public void dropNonSystemSchemas(Session session) { throw new UnsupportedOperationException(); } @Override public void dropGroup(Session session, TableName groupName) { throw new UnsupportedOperationException(); } @Override public AkibanInformationSchema getAIS(Session session) { throw new UnsupportedOperationException(); } @Override public TypesRegistry getTypesRegistry() { return TestTypesRegistry.MCOMPAT; } @Override public TypesTranslator getTypesTranslator() { return MTypesTranslator.INSTANCE; } @Override public StorageFormatRegistry getStorageFormatRegistry() { return DummyStorageFormatRegistry.create(); } @Override public AISCloner getAISCloner() { return new AISCloner(getTypesRegistry(), getStorageFormatRegistry()); } @Override public TableName getTableName(Session session, int tableId) { throw new UnsupportedOperationException(); } @Override public int getTableId(Session session, TableName tableName) throws NoSuchTableException { throw new UnsupportedOperationException(); } @Override public Table getTable(Session session, int tableId) throws NoSuchTableIdException { throw new UnsupportedOperationException(); } @Override public Table getTable(Session session, TableName tableName) throws NoSuchTableException { throw new UnsupportedOperationException(); } @Override public int getGenerationAsInt(Session session) { throw new UnsupportedOperationException(); } @Override public long getGeneration(Session session) { throw new UnsupportedOperationException(); } @Override public long getOldestActiveGeneration() { throw new UnsupportedOperationException(); } @Override public Set<Long> getActiveGenerations() { throw new UnsupportedOperationException(); } @Override public void createIndexes(Session session, Collection<? extends Index> indexesToAdd) { throw new UnsupportedOperationException(); } @Override public void dropTableIndexes(Session session, TableName tableName, Collection<String> indexesToDrop) { throw new UnsupportedOperationException(); } @Override public void dropGroupIndexes(Session session, TableName groupName, Collection<String> indexesToDrop) { throw new UnsupportedOperationException(); } @Override public void updateTableStatistics(Session session, TableName tableName, Collection<String> indexesToUpdate) { throw new UnsupportedOperationException(); } @Override public void createView(Session session, View view) { throw new UnsupportedOperationException(); } @Override public void dropView(Session session, TableName viewName) { throw new UnsupportedOperationException(); } @Override public void createSequence(Session session, Sequence sequence) { throw new UnsupportedOperationException(); } @Override public void dropSequence(Session session, TableName sequenceName) { throw new UnsupportedOperationException(); } @Override public void createRoutine(Session session, Routine routine, boolean replaceExisting) { throw new UnsupportedOperationException(); } @Override public void dropRoutine(Session session, TableName procedureName) { throw new UnsupportedOperationException(); } @Override public void createSQLJJar(Session session, SQLJJar sqljJar) { throw new UnsupportedOperationException(); } @Override public void replaceSQLJJar(Session session, SQLJJar sqljJar) { throw new UnsupportedOperationException(); } @Override public void dropSQLJJar(Session session, TableName jarName) { throw new UnsupportedOperationException(); } @Override public void setOnlineDDLMonitor(OnlineDDLMonitor onlineDDLMonitor) { throw new UnsupportedOperationException(); } }