Class RequestedColumnImpl
java.lang.Object
org.apache.drill.exec.physical.resultSet.project.BaseRequestedColumn
org.apache.drill.exec.physical.resultSet.project.RequestedColumnImpl
- All Implemented Interfaces:
- QualifierContainer,- RequestedColumn
Represents one name element. Like a 
PathSegment.NameSegment, except that this
 version is an aggregate. If the projection list contains `a.b` and `a.c`,
 then one name segment exists for a, and contains segments for both b and c.- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionintIfisArray()returns true, reports the number of dimensions observed in projection.protected voidbooleanhasIndex(int index) Report is a specific index was selected.booleanReports if the projection list included (only) specific element indexes.boolean[]indexes()Return a bitmap of the selected indexes.booleanisArray()Report whether the first qualifier is an array.booleanisSimple()booleanisTuple()Report whether the projection implies a tuple.booleanSeveral consumers of this this mechanism process the "raw" projection list which can contain a combination of wildcard and otehr columns.intmaxIndex()Return the maximum index value, if only explicit indexes were given.The internal qualifier information for the column.intrefCount()toString()Convert the projection to a string of the form:a[0,1,4]['*']{b, c d}.tuple()Return projection information for the column as a tuple.Methods inherited from class org.apache.drill.exec.physical.resultSet.project.BaseRequestedColumnbuildName, fullName, isRoot, name, nameEquals
- 
Constructor Details- 
RequestedColumnImpl
 
- 
- 
Method Details- 
bumpRefCountprotected void bumpRefCount()
- 
refCountpublic int refCount()
- 
qualifierDescription copied from interface:RequestedColumnThe internal qualifier information for the column. Generally not needed by clients; use the other informations to interpret the qualifier for you.- Specified by:
- qualifierin interface- QualifierContainer
- Specified by:
- qualifierin interface- RequestedColumn
- Returns:
- detailed column qualifier information, if the column was seen to be complex in the project list
 
- 
requireQualifier- Specified by:
- requireQualifierin interface- QualifierContainer
 
- 
isWildcardpublic boolean isWildcard()Description copied from interface:RequestedColumnSeveral consumers of this this mechanism process the "raw" projection list which can contain a combination of wildcard and otehr columns. For example:filename, *, dir0. The requested tuple preserves the wildcard within the projection list so that, say, the projection mechanism can insert the actual data columns between the two implicit columns in the example.If a column is a wildcard, then none of the other methods apply, since this projected column represents any number or actual columns. - Specified by:
- isWildcardin interface- RequestedColumn
- Returns:
- if this column is the wildcard placeholder
 
- 
isSimplepublic boolean isSimple()- Specified by:
- isSimplein interface- RequestedColumn
- Returns:
- true if this column has no qualifiers. Example:
 a.
 
- 
isTuplepublic boolean isTuple()Description copied from interface:RequestedColumnReport whether the projection implies a tuple. Example:a.b. Not that this method, and others can only tell if the projection implies a tuple; the actual column may be a tuple (MAP), but be projected simply. The map format also describes a DICT with a VARCHAR key.- Specified by:
- isTuplein interface- RequestedColumn
- Returns:
- true if the column has a map-like projection.
 
- 
tupleDescription copied from interface:RequestedColumnReturn projection information for the column as a tuple. If projection included references to nested columns (such asa.b, a.c, then the tuple projection will list only the referenced columns. However, if projection is generic (m), then we presume all columns of the map are projected and the returned object assumes all members are projected.- Specified by:
- tuplein interface- RequestedColumn
- Returns:
- projection information for a (presumed) map column
 
- 
isArraypublic boolean isArray()Description copied from interface:RequestedColumnReport whether the first qualifier is an array. Example:a[1]. The array format also describes a DICT with an integer key.- Specified by:
- isArrayin interface- RequestedColumn
- Returns:
- true if the column must be an array.
 
- 
hasIndexespublic boolean hasIndexes()Description copied from interface:RequestedColumnReports if the projection list included (only) specific element indexes. For example:a[2], a[5]. The user could also project both indexes and the array:a[0], a. In this caseisArray()is {code true}, buthasIndexes()isfalse.- Specified by:
- hasIndexesin interface- RequestedColumn
- Returns:
- trueif the column has enumerated indexes,- falseif the column was also projected as a whole, or if this column was not observed to be an array
 
- 
hasIndexpublic boolean hasIndex(int index) Description copied from interface:RequestedColumnReport is a specific index was selected. Short cut for the other array methods. Used in cases such as thecolumnscolumn where the user can select specific elements (column) but not others.- Specified by:
- hasIndexin interface- RequestedColumn
- Parameters:
- index- the array index to check
- Returns:
- trueif the array element was projected, either explicitly (- a[3]) or implicitly (- a). Returns- falseonly if- hasIndexes()returns- true(the user listed only explicit indexes) and the requested index is not among those requested (- index >= maxIndex() || !indexes()[index])
 
- 
maxIndexpublic int maxIndex()Description copied from interface:RequestedColumnReturn the maximum index value, if only explicit indexes were given. Valid ifhasIndexes()returns true.- Specified by:
- maxIndexin interface- RequestedColumn
- Returns:
- the maximum array index value known to the projection, or
 0 if isArray()isfalse. Also returns 0 ifhasIndexe()returnsfalse, meaning that either the column was not observed to be an array, or was projected with both indexes and by itself:a[0], a.
 
- 
indexespublic boolean[] indexes()Description copied from interface:RequestedColumnReturn a bitmap of the selected indexes. Only valid ifhasIndexes()returnstrue.- Specified by:
- indexesin interface- RequestedColumn
- Returns:
- a bitmap of the selected array indexes, or nullifhasIndexes()returnsfalse.
 
- 
toStringConvert the projection to a string of the form:a[0,1,4]['*']{b, c d}. The information here s insufficient to specify a type, it only specifies a pattern to which types are compatible.
- 
arrayDimspublic int arrayDims()Description copied from interface:RequestedColumnIfisArray()returns true, reports the number of dimensions observed in projection. That is if projection isa[0][1], then this method returns 2.Note that, as with all projection-level information, this number reflects only what was in the project list; not what might be the number of dimensions in the actual input source. - Specified by:
- arrayDimsin interface- RequestedColumn
- Returns:
- the maximum number of array dimensions observed in the
 projection list, or 0 if this column was not observed to be an
 array (if isArray()returnsfalse.
 
 
-