EMMA Coverage Report (generated Sun Mar 01 22:06:14 CET 2015)
[all classes][org.h2.command.ddl]

COVERAGE SUMMARY FOR SOURCE FILE [AlterSchemaRename.java]

nameclass, %method, %block, %line, %
AlterSchemaRename.java100% (1/1)100% (5/5)100% (82/82)100% (20/20)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class AlterSchemaRename100% (1/1)100% (5/5)100% (82/82)100% (20/20)
AlterSchemaRename (Session): void 100% (1/1)100% (4/4)100% (2/2)
getType (): int 100% (1/1)100% (2/2)100% (1/1)
setNewName (String): void 100% (1/1)100% (4/4)100% (2/2)
setOldSchema (Schema): void 100% (1/1)100% (4/4)100% (2/2)
update (): int 100% (1/1)100% (68/68)100% (13/13)

1/*
2 * Copyright 2004-2014 H2 Group. Multiple-Licensed under the MPL 2.0,
3 * and the EPL 1.0 (http://h2database.com/html/license.html).
4 * Initial Developer: H2 Group
5 */
6package org.h2.command.ddl;
7 
8import org.h2.api.ErrorCode;
9import org.h2.command.CommandInterface;
10import org.h2.engine.Database;
11import org.h2.engine.Session;
12import org.h2.message.DbException;
13import org.h2.schema.Schema;
14import org.h2.schema.SchemaObject;
15 
16import java.util.ArrayList;
17 
18/**
19 * This class represents the statement
20 * ALTER SCHEMA RENAME
21 */
22public class AlterSchemaRename extends DefineCommand {
23 
24    private Schema oldSchema;
25    private String newSchemaName;
26 
27    public AlterSchemaRename(Session session) {
28        super(session);
29    }
30 
31    public void setOldSchema(Schema schema) {
32        oldSchema = schema;
33    }
34 
35    public void setNewName(String name) {
36        newSchemaName = name;
37    }
38 
39    @Override
40    public int update() {
41        session.commit(true);
42        Database db = session.getDatabase();
43        if (!oldSchema.canDrop()) {
44            throw DbException.get(ErrorCode.SCHEMA_CAN_NOT_BE_DROPPED_1,
45                    oldSchema.getName());
46        }
47        if (db.findSchema(newSchemaName) != null ||
48                newSchemaName.equals(oldSchema.getName())) {
49            throw DbException.get(ErrorCode.SCHEMA_ALREADY_EXISTS_1,
50                    newSchemaName);
51        }
52        session.getUser().checkSchemaAdmin();
53        db.renameDatabaseObject(session, oldSchema, newSchemaName);
54        ArrayList<SchemaObject> all = db.getAllSchemaObjects();
55        for (SchemaObject schemaObject : all) {
56            db.updateMeta(session, schemaObject);
57        }
58        return 0;
59    }
60 
61    @Override
62    public int getType() {
63        return CommandInterface.ALTER_SCHEMA_RENAME;
64    }
65 
66}

[all classes][org.h2.command.ddl]
EMMA 2.0.5312 (C) Vladimir Roubtsov