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

COVERAGE SUMMARY FOR SOURCE FILE [Alias.java]

nameclass, %method, %block, %line, %
Alias.java100% (1/1)95%  (18/19)97%  (116/120)97%  (30/31)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class Alias100% (1/1)95%  (18/19)97%  (116/120)97%  (30/31)
getCost (): int 0%   (0/1)0%   (0/4)0%   (0/1)
Alias (Expression, String, boolean): void 100% (1/1)100% (12/12)100% (5/5)
getAlias (): String 100% (1/1)100% (3/3)100% (1/1)
getColumnName (): String 100% (1/1)100% (14/14)100% (3/3)
getDisplaySize (): int 100% (1/1)100% (4/4)100% (1/1)
getNonAliasExpression (): Expression 100% (1/1)100% (3/3)100% (1/1)
getNullable (): int 100% (1/1)100% (4/4)100% (1/1)
getPrecision (): long 100% (1/1)100% (4/4)100% (1/1)
getSQL (): String 100% (1/1)100% (15/15)100% (1/1)
getScale (): int 100% (1/1)100% (4/4)100% (1/1)
getTableName (): String 100% (1/1)100% (10/10)100% (3/3)
getType (): int 100% (1/1)100% (4/4)100% (1/1)
getValue (Session): Value 100% (1/1)100% (5/5)100% (1/1)
isAutoIncrement (): boolean 100% (1/1)100% (4/4)100% (1/1)
isEverything (ExpressionVisitor): boolean 100% (1/1)100% (5/5)100% (1/1)
mapColumns (ColumnResolver, int): void 100% (1/1)100% (6/6)100% (2/2)
optimize (Session): Expression 100% (1/1)100% (8/8)100% (2/2)
setEvaluatable (TableFilter, boolean): void 100% (1/1)100% (6/6)100% (2/2)
updateAggregate (Session): void 100% (1/1)100% (5/5)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.expression;
7 
8import org.h2.command.Parser;
9import org.h2.engine.Session;
10import org.h2.table.ColumnResolver;
11import org.h2.table.TableFilter;
12import org.h2.value.Value;
13 
14/**
15 * A column alias as in SELECT 'Hello' AS NAME ...
16 */
17public class Alias extends Expression {
18 
19    private final String alias;
20    private Expression expr;
21    private final boolean aliasColumnName;
22 
23    public Alias(Expression expression, String alias, boolean aliasColumnName) {
24        this.expr = expression;
25        this.alias = alias;
26        this.aliasColumnName = aliasColumnName;
27    }
28 
29    @Override
30    public Expression getNonAliasExpression() {
31        return expr;
32    }
33 
34    @Override
35    public Value getValue(Session session) {
36        return expr.getValue(session);
37    }
38 
39    @Override
40    public int getType() {
41        return expr.getType();
42    }
43 
44    @Override
45    public void mapColumns(ColumnResolver resolver, int level) {
46        expr.mapColumns(resolver, level);
47    }
48 
49    @Override
50    public Expression optimize(Session session) {
51        expr = expr.optimize(session);
52        return this;
53    }
54 
55    @Override
56    public void setEvaluatable(TableFilter tableFilter, boolean b) {
57        expr.setEvaluatable(tableFilter, b);
58    }
59 
60    @Override
61    public int getScale() {
62        return expr.getScale();
63    }
64 
65    @Override
66    public long getPrecision() {
67        return expr.getPrecision();
68    }
69 
70    @Override
71    public int getDisplaySize() {
72        return expr.getDisplaySize();
73    }
74 
75    @Override
76    public boolean isAutoIncrement() {
77        return expr.isAutoIncrement();
78    }
79 
80    @Override
81    public String getSQL() {
82        return expr.getSQL() + " AS " + Parser.quoteIdentifier(alias);
83    }
84 
85    @Override
86    public void updateAggregate(Session session) {
87        expr.updateAggregate(session);
88    }
89 
90    @Override
91    public String getAlias() {
92        return alias;
93    }
94 
95    @Override
96    public int getNullable() {
97        return expr.getNullable();
98    }
99 
100    @Override
101    public boolean isEverything(ExpressionVisitor visitor) {
102        return expr.isEverything(visitor);
103    }
104 
105    @Override
106    public int getCost() {
107        return expr.getCost();
108    }
109 
110    @Override
111    public String getTableName() {
112        if (aliasColumnName) {
113            return super.getTableName();
114        }
115        return expr.getTableName();
116    }
117 
118    @Override
119    public String getColumnName() {
120        if (!(expr instanceof ExpressionColumn) || aliasColumnName) {
121            return super.getColumnName();
122        }
123        return expr.getColumnName();
124    }
125 
126}

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