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

COVERAGE SUMMARY FOR SOURCE FILE [AlterIndexRename.java]

nameclass, %method, %block, %line, %
AlterIndexRename.java100% (1/1)100% (5/5)92%  (58/63)93%  (14/15)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class AlterIndexRename100% (1/1)100% (5/5)92%  (58/63)93%  (14/15)
update (): int 100% (1/1)90%  (44/49)88%  (7/8)
AlterIndexRename (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)
setOldIndex (Index): void 100% (1/1)100% (4/4)100% (2/2)

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.Right;
12import org.h2.engine.Session;
13import org.h2.index.Index;
14import org.h2.message.DbException;
15import org.h2.schema.Schema;
16 
17/**
18 * This class represents the statement
19 * ALTER INDEX RENAME
20 */
21public class AlterIndexRename extends DefineCommand {
22 
23    private Index oldIndex;
24    private String newIndexName;
25 
26    public AlterIndexRename(Session session) {
27        super(session);
28    }
29 
30    public void setOldIndex(Index index) {
31        oldIndex = index;
32    }
33 
34    public void setNewName(String name) {
35        newIndexName = name;
36    }
37 
38    @Override
39    public int update() {
40        session.commit(true);
41        Database db = session.getDatabase();
42        Schema schema = oldIndex.getSchema();
43        if (schema.findIndex(session, newIndexName) != null ||
44                newIndexName.equals(oldIndex.getName())) {
45            throw DbException.get(ErrorCode.INDEX_ALREADY_EXISTS_1,
46                    newIndexName);
47        }
48        session.getUser().checkRight(oldIndex.getTable(), Right.ALL);
49        db.renameSchemaObject(session, oldIndex, newIndexName);
50        return 0;
51    }
52 
53    @Override
54    public int getType() {
55        return CommandInterface.ALTER_INDEX_RENAME;
56    }
57 
58}

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