public class TTypeName extends TParseTreeNode
toString
will return string representation of datatype
including type name,length,precision,scale and attributes
getLength()
getPrecision()
getScale()
datetype attribute
In datatype like this: MEDIUMTEXT [CHARACTER SET cs_name] [COLLATE collation_name],
CHARACTER SET and COLLATE were treated as attribute of the MEDIUMTEXT datatype,those attributes
can be fetched from getDatatypeAttributeList()
. For more detailed information about
attributes in datatype, please check TDatatypeAttribute
.
method getDatatypeAttributeList()
can be used to get datatype attribute
such as FORMAT 'yyyymmdd' of DATE in this fuction: CAST('20120802' AS DATE FORMAT 'yyyymmdd').
BINARY
BOOLEAN
CHARACTER STRING
DATALINK
INTERVAL
EDataType.interval_day_t
getPrecision()
EDataType.interval_day_to_second_t
getPrecision()
getSecondsPrecision()
EDataType.interval_day_to_minute_t
getPrecision()
EDataType.interval_day_to_hour_t
getPrecision()
EDataType.interval_year_to_month_t
getPrecision()
COLLECTION
NUMERIC
TEMPORAL
EDataType.timestamp_t
getPrecision()
EDataType.timestamp_with_time_zone_t
getPrecision()
EDataType.datetimeoffset_t
getPrecision()
EDataType.datetime2_t
getPrecision()
XML
HIVE array OTHERS
datatypes optional attributes:
TDatatypeAttribute
Modifier and Type | Field and Description |
---|---|
static int |
lfdBfile
Deprecated.
As of v1.4.3.0, replaced by
EDataType.bfile_t |
static int |
lfdBigInt
Deprecated.
As of v1.4.3.0, replaced by
EDataType.bigint_t |
static int |
lfdBinary
Deprecated.
As of v1.4.3.0, replaced by
EDataType.binary_t |
static int |
lfdBinaryInteger
Deprecated.
As of v1.4.3.0, replaced by
EDataType.binary_integer_t |
static int |
lfdBinaryLargeObject
Deprecated.
As of v1.4.3.0, replaced by
EDataType.binary_large_object_t |
static int |
lfdBit
Deprecated.
As of v1.4.3.0, replaced by
EDataType.bit_t |
static int |
lfdBlob
Deprecated.
As of v1.4.3.0, replaced by
EDataType.blob_t |
static int |
lfdBoolean
Deprecated.
As of v1.4.3.0, replaced by
EDataType.bool_t |
static int |
lfdByte
Deprecated.
As of v1.4.3.0, replaced by
EDataType.byte_t |
static int |
lfdByteint
Deprecated.
As of v1.4.3.0, replaced by
EDataType.byteint_t |
static int |
lfdChar
Deprecated.
As of v1.4.3.0, replaced by
EDataType.char_t |
static int |
lfdCharacter
Deprecated.
As of v1.4.3.0, replaced by
EDataType.char_t |
static int |
lfdCharacterLargeObject
Deprecated.
As of v1.4.3.0, replaced by
EDataType.char_large_object_t |
static int |
lfdCharacterVarying
Deprecated.
As of v1.4.3.0, replaced by
EDataType.varchar_t |
static int |
lfdCharLargeObject
Deprecated.
As of v1.4.3.0, replaced by
EDataType.char_large_object_t |
static int |
lfdCharVarying
Deprecated.
As of v1.4.3.0, replaced by
EDataType.varchar_t |
static int |
lfdClob
Deprecated.
As of v1.4.3.0, replaced by
EDataType.clob_t |
static int |
lfdDatalink
Deprecated.
As of v1.4.3.0, replaced by
EDataType.datalink_t |
static int |
lfdDate
Deprecated.
As of v1.4.3.0, replaced by
EDataType.date_t |
static int |
lfdDatetime
Deprecated.
As of v1.4.3.0, replaced by
EDataType.datetime_t |
static int |
lfdDBClob
Deprecated.
As of v1.4.3.0, replaced by
EDataType.dbclob_t |
static int |
lfdDec
Deprecated.
As of v1.4.3.0, replaced by
EDataType.dec_t |
static int |
lfdDecimal
Deprecated.
As of v1.4.3.0, replaced by
EDataType.dec_t |
static int |
lfdDoublePrecision
Deprecated.
As of v1.4.3.0, replaced by
EDataType.double_t |
static int |
lfdEnum
Deprecated.
As of v1.4.3.0, replaced by
EDataType.enum_t |
static int |
lfdFloat
Deprecated.
As of v1.4.3.0, replaced by
EDataType.float_t |
static int |
lfdGeneric
Deprecated.
As of v1.4.3.0, replaced by
EDataType.generic_t |
static int |
lfdGeoGraphy
Deprecated.
As of v1.4.3.0, replaced by
EDataType.geography_t |
static int |
lfdGeoMetry
Deprecated.
As of v1.4.3.0, replaced by
EDataType.geometry_t |
static int |
lfdGraphic
Deprecated.
As of v1.4.3.0, replaced by
EDataType.graphic_t |
static int |
lfdInt
Deprecated.
As of v1.4.3.0, replaced by
EDataType.int_t |
static int |
lfdInteger
Deprecated.
As of v1.4.3.0, replaced by
EDataType.int_t |
static int |
lfdInterval
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_t |
static int |
lfdIntervalDay
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_day_t |
static int |
lfdIntervalDayToHour
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_day_to_hour_t |
static int |
lfdIntervalDayToMinute
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_day_to_minute_t |
static int |
lfdIntervalDayToSecond
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_day_to_second_t |
static int |
lfdIntervalDTS
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_day_to_second_t |
static int |
lfdIntervalHour
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_hour_t |
static int |
lfdIntervalHourToMinute
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_hour_to_minute_t |
static int |
lfdIntervalHourToSecond
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_hour_to_second_t |
static int |
lfdIntervalMinute
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_minute_t |
static int |
lfdIntervalMinuteToSecond
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_minute_to_second_t |
static int |
lfdIntervalMonth
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_month_t |
static int |
lfdIntervalSecond
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_second_t |
static int |
lfdIntervalYear
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_year_t |
static int |
lfdIntervalYearToMonth
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_year_to_month_t |
static int |
lfdIntervalYTM
Deprecated.
As of v1.4.3.0, replaced by
EDataType.interval_year_to_month_t |
static int |
lfdLong
Deprecated.
As of v1.4.3.0, replaced by
EDataType.long_t |
static int |
lfdLongblob
Deprecated.
As of v1.4.3.0, replaced by
EDataType.longblob_t |
static int |
lfdLongRaw
Deprecated.
As of v1.4.3.0, replaced by
EDataType.long_raw_t |
static int |
lfdLongtext
Deprecated.
As of v1.4.3.0, replaced by
EDataType.longtext_t |
static int |
lfdLongvarbinary
Deprecated.
As of v1.4.3.0, replaced by
EDataType.long_varbinary_t |
static int |
lfdLongvarchar
Deprecated.
As of v1.4.3.0, replaced by
EDataType.long_varchar_t |
static int |
lfdLongVarGraphic
Deprecated.
As of v1.4.3.0, replaced by
EDataType.long_vargraphic_t |
static int |
lfdMediumblob
Deprecated.
As of v1.4.3.0, replaced by
EDataType.mediumblob_t |
static int |
lfdMediumtext
Deprecated.
As of v1.4.3.0, replaced by
EDataType.mediumtext_t |
static int |
lfdNationalChar
Deprecated.
As of v1.4.3.0, replaced by
EDataType.nchar_t |
static int |
lfdNationalCharVarying
Deprecated.
As of v1.4.3.0, replaced by
EDataType.nvarchar_t |
static int |
lfdNchar
Deprecated.
As of v1.4.3.0, replaced by
EDataType.nchar_t |
static int |
lfdNcharVarying
Deprecated.
As of v1.4.3.0, replaced by
EDataType.nvarchar_t |
static int |
lfdNClob
Deprecated.
As of v1.4.3.0, replaced by
EDataType.nclob_t |
static int |
lfdntext
Deprecated.
As of v1.4.3.0, replaced by
EDataType.ntext_t |
static int |
lfdNum
Deprecated.
As of v1.4.3.0, replaced by
EDataType.number_t |
static int |
lfdnumber
Deprecated.
As of v1.4.3.0, replaced by
EDataType.number_t |
static int |
lfdNumeric
Deprecated.
As of v1.4.3.0, replaced by
EDataType.numeric_t |
static int |
lfdPeriod
Deprecated.
As of v1.4.3.0, replaced by
EDataType.period_t |
static int |
lfdPlsInteger
Deprecated.
As of v1.4.3.0, replaced by
EDataType.pls_integer_t |
static int |
lfdRaw
Deprecated.
As of v1.4.3.0, replaced by
EDataType.raw_t |
static int |
lfdReal
Deprecated.
As of v1.4.3.0, replaced by
EDataType.real_t |
static int |
lfdRowTypeAtribute
Deprecated.
As of v1.4.3.0, replaced by
TDatatypeAttribute |
static int |
lfdSet
Deprecated.
As of v1.4.3.0, replaced by
EDataType.set_t |
static int |
lfdSmallint
Deprecated.
As of v1.4.3.0, replaced by
EDataType.smallint_t |
static int |
lfdText
Deprecated.
As of v1.4.3.0, replaced by
EDataType.text_t |
static int |
lfdTime
Deprecated.
As of v1.4.3.0, replaced by
EDataType.time_t |
static int |
lfdTimestamp
Deprecated.
As of v1.4.3.0, replaced by
EDataType.timestamp_t |
static int |
lfdTimeStampWithLTZ
Deprecated.
As of v1.4.3.0, replaced by
EDataType.timestamp_with_local_time_zone_t |
static int |
lfdTimeStampWithTZ
Deprecated.
As of v1.4.3.0, replaced by
EDataType.timestamp_with_time_zone_t |
static int |
lfdTimeWithTZ
Deprecated.
As of v1.4.3.0, replaced by
EDataType.time_with_time_zone_t |
static int |
lfdTinyblob
Deprecated.
As of v1.4.3.0, replaced by
EDataType.tinyblob_t |
static int |
lfdTinyInt
Deprecated.
As of v1.4.3.0, replaced by
EDataType.tinyint_t |
static int |
lfdTinytext
Deprecated.
As of v1.4.3.0, replaced by
EDataType.tinytext_t |
static int |
lfdTypeAtribute
Deprecated.
As of v1.4.3.0, replaced by
TDatatypeAttribute |
static int |
lfdUnknown
Deprecated.
As of v1.4.3.0, replaced by
EDataType.unknown_t |
static int |
lfdURowid
Deprecated.
As of v1.4.3.0, replaced by
EDataType.urowid_t |
static int |
lfdVarbinary
Deprecated.
As of v1.4.3.0, replaced by
EDataType.varbinary_t |
static int |
lfdVarByte
Deprecated.
As of v1.4.3.0, replaced by
EDataType.varbyte_t |
static int |
lfdVarchar
Deprecated.
As of v1.4.3.0, replaced by
EDataType.varchar_t |
static int |
lfdVarchar2
Deprecated.
As of v1.4.3.0, replaced by
EDataType.varchar2_t |
static int |
lfdVarGraphic
Deprecated.
As of v1.4.3.0, replaced by
EDataType.vargraphic_t |
static int |
lfdYear
Deprecated.
As of v1.4.3.0, replaced by
EDataType.year_t |
Constructor and Description |
---|
TTypeName() |
TTypeName(EDataType dataType) |
TTypeName(EDataType dataType,
TConstant length) |
TTypeName(EDataType dataType,
TConstant precision,
TConstant scale) |
addAllMyTokensToTokenList, appendString, doParse, fastSetString, getColumnNo, getDummyTag, getEndToken, getGsqlparser, getLineNo, getNodeType, getStartToken, init, init, init, removeAllMyTokensFromTokenList, setDummyTag, setEndToken, setEndToken, setEndToken, setEndToken, setGsqlparser, setIncludingComment, setNodeType, setStartToken, setStartToken, setStartToken, setStartToken, setString, toScript, toString
public static final int lfdUnknown
EDataType.unknown_t
public static final int lfdGeneric
EDataType.generic_t
public static final int lfdFloat
EDataType.float_t
public static final int lfdDoublePrecision
EDataType.double_t
public static final int lfdDecimal
EDataType.dec_t
public static final int lfdDec
EDataType.dec_t
public static final int lfdNumeric
EDataType.numeric_t
public static final int lfdnumber
EDataType.number_t
public static final int lfdNum
EDataType.number_t
public static final int lfdInteger
EDataType.int_t
public static final int lfdBit
EDataType.bit_t
public static final int lfdBoolean
EDataType.bool_t
public static final int lfdVarbinary
EDataType.varbinary_t
public static final int lfdBinary
EDataType.binary_t
public static final int lfdInt
EDataType.int_t
public static final int lfdSmallint
EDataType.smallint_t
public static final int lfdReal
EDataType.real_t
public static final int lfdTinyInt
EDataType.tinyint_t
public static final int lfdBigInt
EDataType.bigint_t
public static final int lfdCharacter
EDataType.char_t
public static final int lfdChar
EDataType.char_t
public static final int lfdVarchar
EDataType.varchar_t
public static final int lfdVarchar2
EDataType.varchar2_t
public static final int lfdLongvarchar
EDataType.long_varchar_t
public static final int lfdLongvarbinary
EDataType.long_varbinary_t
public static final int lfdYear
EDataType.year_t
public static final int lfdNationalChar
EDataType.nchar_t
public static final int lfdNchar
EDataType.nchar_t
public static final int lfdDate
EDataType.date_t
public static final int lfdTimestamp
EDataType.timestamp_t
public static final int lfdTimeStampWithTZ
EDataType.timestamp_with_time_zone_t
public static final int lfdTimeStampWithLTZ
EDataType.timestamp_with_local_time_zone_t
public static final int lfdTime
EDataType.time_t
public static final int lfdDatetime
EDataType.datetime_t
public static final int lfdIntervalYTM
EDataType.interval_year_to_month_t
public static final int lfdIntervalDTS
EDataType.interval_day_to_second_t
public static final int lfdLong
EDataType.long_t
public static final int lfdRaw
EDataType.raw_t
public static final int lfdLongRaw
EDataType.long_raw_t
public static final int lfdBlob
EDataType.blob_t
public static final int lfdClob
EDataType.clob_t
public static final int lfdNClob
EDataType.nclob_t
public static final int lfdBfile
EDataType.bfile_t
public static final int lfdTinyblob
EDataType.tinyblob_t
public static final int lfdMediumblob
EDataType.mediumblob_t
public static final int lfdLongblob
EDataType.longblob_t
public static final int lfdTinytext
EDataType.tinytext_t
public static final int lfdText
EDataType.text_t
public static final int lfdntext
EDataType.ntext_t
public static final int lfdMediumtext
EDataType.mediumtext_t
public static final int lfdLongtext
EDataType.longtext_t
public static final int lfdURowid
EDataType.urowid_t
public static final int lfdEnum
EDataType.enum_t
public static final int lfdBinaryLargeObject
EDataType.binary_large_object_t
public static final int lfdGraphic
EDataType.graphic_t
public static final int lfdVarGraphic
EDataType.vargraphic_t
public static final int lfdLongVarGraphic
EDataType.long_vargraphic_t
public static final int lfdDatalink
EDataType.datalink_t
public static final int lfdBinaryInteger
EDataType.binary_integer_t
public static final int lfdPlsInteger
EDataType.pls_integer_t
public static final int lfdByteint
EDataType.byteint_t
public static final int lfdTimeWithTZ
EDataType.time_with_time_zone_t
public static final int lfdIntervalYear
EDataType.interval_year_t
public static final int lfdIntervalYearToMonth
EDataType.interval_year_to_month_t
public static final int lfdIntervalMonth
EDataType.interval_month_t
public static final int lfdIntervalDay
EDataType.interval_day_t
public static final int lfdIntervalDayToHour
EDataType.interval_day_to_hour_t
public static final int lfdIntervalDayToMinute
EDataType.interval_day_to_minute_t
public static final int lfdIntervalDayToSecond
EDataType.interval_day_to_second_t
public static final int lfdIntervalHour
EDataType.interval_hour_t
public static final int lfdIntervalHourToMinute
EDataType.interval_hour_to_minute_t
public static final int lfdIntervalHourToSecond
EDataType.interval_hour_to_second_t
public static final int lfdIntervalMinute
EDataType.interval_minute_t
public static final int lfdIntervalMinuteToSecond
EDataType.interval_minute_to_second_t
public static final int lfdIntervalSecond
EDataType.interval_second_t
public static final int lfdByte
EDataType.byte_t
public static final int lfdVarByte
EDataType.varbyte_t
public static final int lfdCharacterVarying
EDataType.varchar_t
public static final int lfdCharVarying
EDataType.varchar_t
public static final int lfdPeriod
EDataType.period_t
public static final int lfdCharacterLargeObject
EDataType.char_large_object_t
public static final int lfdGeoMetry
EDataType.geometry_t
public static final int lfdGeoGraphy
EDataType.geography_t
public static final int lfdNationalCharVarying
EDataType.nvarchar_t
public static final int lfdNcharVarying
EDataType.nvarchar_t
public static final int lfdSet
EDataType.set_t
public static final int lfdCharLargeObject
EDataType.char_large_object_t
public static final int lfdDBClob
EDataType.dbclob_t
public static final int lfdInterval
EDataType.interval_t
public static final int lfdTypeAtribute
TDatatypeAttribute
public static final int lfdRowTypeAtribute
TDatatypeAttribute
public TTypeName()
public TTypeName(EDataType dataType)
public void setFractionalSecondsPrecision(TConstant fractionalSecondsPrecision)
public TConstant getFractionalSecondsPrecision()
public boolean isCharUnit()
public boolean isByteUnit()
public boolean isVarying()
public void setCharsetAndCollation(TDummy dummy)
public void setCharsetNameByToken(TSourceToken st)
public void setCharsetName(String charsetName)
public void setCollationName(String collationName)
public String getCharsetName()
public String getCollationName()
public void setColTypeList(TPTNodeList<TTypeName> colTypeList)
public TPTNodeList<TTypeName> getColTypeList()
public void setColumnDefList(TColumnDefinitionList columnDefList)
public TColumnDefinitionList getColumnDefList()
public void setTypeOfMap(TTypeName typeOfMap)
public void setPrimitiveTypeOfMap(TTypeName primitiveTypeOfMap)
public TTypeName getTypeOfMap()
public TTypeName getPrimitiveTypeOfMap()
public void setTypeOfList(TTypeName typeOfList)
public TTypeName getTypeOfList()
public void setDataTypeByObjectName(TObjectName objectName)
public void setDataTypeByToken(TSourceToken st)
public TObjectName getDataTypeObjectName()
public String getDataTypeName()
public void setDataType(EDataType dataType)
public void setStart(TConstant start)
public TConstant getStart()
public void setMax(TConstant max)
public void setReserve(TConstant reserve)
public TConstant getMax()
public TConstant getReserve()
public void setLength(TConstant length)
public TConstant getLength()
TConstant
, length of this datatype.public TConstant getSecondsPrecision()
TConstant
, typically the second precision value of datatype.public void setPrecision(TConstant precision)
public TConstant getScale()
TConstant
, scale value of datatypes such as numeric, float.public TConstant getPrecision()
TConstant
, precision value of datatypes such as numeric, float.public void setScale(TConstant scale)
public void setPrecisionScale(TPrecisionScale precisionScale)
public TPTNodeList<TIndices> getArrays()
TIndices
,public void setArrays(TPTNodeList<TIndices> arrays)
public void setDatatypeAttributeList(TPTNodeList<TDatatypeAttribute> datatypeAttributeList)
public TPTNodeList<TDatatypeAttribute> getDatatypeAttributeList()
TDatatypeAttribute
public void init(Object arg1, Object arg2, Object arg3)
init
in class TParseTreeNode
public void setTypeModifiers(TExpressionList exprList)
public void init(Object arg1, Object arg2)
init
in class TParseTreeNode
public void init(Object arg1)
TParseTreeNode
init
in class TParseTreeNode
arg1
- first argumentpublic void setByteUnit(boolean byteUnit)
public void setCharUnit(boolean charUnit)
public void setVarying(boolean varying)
public void setSecondsPrecision(TConstant secondsPrecision)
public void setCharUnit(TSourceToken st)
public void setVarying(TSourceToken st)
public void setDataTypeInTokens()
public void accept(TParseTreeVisitor v)
TParseTreeNode
accept
in interface Visitable
accept
in class TParseTreeNode
v
- visitor is a descendant class of TParseTreeVisitor
public void acceptChildren(TParseTreeVisitor v)
TParseTreeNode
acceptChildren
in interface Visitable
acceptChildren
in class TParseTreeNode
v
- visitor is a descendant class of TParseTreeVisitor
public void setType(int type)
public int getType()
Copyright © 2019. All rights reserved.