public enum NameResolvingMode extends Enum<NameResolvingMode>
select (l_orderkey + l_orderkey) l_orderkey from lineitem where l_orderkey > 2 order by l_orderkey;Although
l_orderkey seems to be ambiguous, the above usages are available in commercial DBMSs.
In order to eliminate the ambiguity, Tajo follows the behaviors of PostgreSQL.
RELS_AND_SUBEXPRS. The main difference is that it
firstly chooses an aliased temporal field instead of the fields in a relation.select (l_orderkey + l_orderkey) l_orderkey from lineitem where l_orderkey > 2 order by l_orderkey;With the above rules and the relationship between modes and operators, we can easily identify which reference points to which field.
l_orderkey included in (l_orderkey + l_orderkey) points to the field
in the relation lineitem.l_orderkey included in WHERE clause also points to the field in the relation
lineitem.l_orderkey included in ORDER BY clause points to the temporal field
(l_orderkey + l_orderkey).| Enum Constant and Description |
|---|
LEGACY |
RELS_AND_SUBEXPRS |
RELS_ONLY |
SUBEXPRS_AND_RELS |
| Modifier and Type | Method and Description |
|---|---|
static NameResolvingMode |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static NameResolvingMode[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final NameResolvingMode RELS_ONLY
public static final NameResolvingMode RELS_AND_SUBEXPRS
public static final NameResolvingMode SUBEXPRS_AND_RELS
public static final NameResolvingMode LEGACY
public static NameResolvingMode[] values()
for (NameResolvingMode c : NameResolvingMode.values()) System.out.println(c);
public static NameResolvingMode valueOf(String name)
name - the name of the enum constant to be returned.IllegalArgumentException - if this enum type has no constant
with the specified nameNullPointerException - if the argument is nullCopyright © 2015 Apache Software Foundation. All Rights Reserved.