TypeCompiler
public class UserDefinedTypeCompiler extends BaseTypeCompiler
AVG_OP, BOOLEAN_MAXWIDTH_AS_CHAR, DEFAULT_DECIMAL_PRECISION, DEFAULT_DECIMAL_SCALE, DIVIDE_OP, DOUBLE_MAXWIDTH_AS_CHAR, INT_MAXWIDTH_AS_CHAR, LONGINT_MAXWIDTH_AS_CHAR, MAX_DECIMAL_PRECISION_SCALE, MINUS_OP, MOD_OP, PLUS_OP, REAL_MAXWIDTH_AS_CHAR, SMALLINT_MAXWIDTH_AS_CHAR, SUM_OP, TIMES_OP, TINYINT_MAXWIDTH_AS_CHAR
Constructor | Description |
---|---|
UserDefinedTypeCompiler() |
Modifier and Type | Method | Description |
---|---|---|
boolean |
compatible(TypeId otherType) |
Determine if this type is compatible to some other type
(e.g.
|
boolean |
convertible(TypeId otherType,
boolean forDataTypeFunction) |
Right now, casting is not allowed from one user defined type
to another.
|
void |
generateDataValue(MethodBuilder mb,
int collationType,
LocalField field) |
The caller will have pushed a DataValueFactory and value
of that can be converted to the correct type, e.g. int
for a SQL INTEGER.
|
int |
getCastToCharWidth(DataTypeDescriptor dts) |
Return the maximum width for this data type when cast to a char type.
|
java.lang.String |
getCorrespondingPrimitiveTypeName() |
Get the name of the corresponding Java type.
|
java.lang.String |
interfaceName() |
Get the name of the interface for this type.
|
(package private) java.lang.String |
nullMethodName() |
Return the method name to get a Derby DataValueDescriptor
object of the correct type set to SQL NULL.
|
boolean |
storable(TypeId otherType,
ClassFactory cf) |
ANSI UDTs can only be stored into values of exactly their own
type.
|
dataValueMethodName, generateNull, getPrimitiveMethodName, getStoredFormatIdFromTypeId, getTypeCompiler, getTypeId, numberConvertible, numberStorable, pushCollationForDataValue, resolveArithmeticOperation, setTypeId, userTypeStorable
public boolean convertible(TypeId otherType, boolean forDataTypeFunction)
otherType
- forDataTypeFunction
- TypeCompiler.convertible(org.apache.derby.iapi.types.TypeId, boolean)
public boolean compatible(TypeId otherType)
TypeCompiler
otherType
- The CompilationType of the other type to compare
this type toTypeCompiler.compatible(org.apache.derby.iapi.types.TypeId)
public boolean storable(TypeId otherType, ClassFactory cf)
otherType
- the type of the instance to store into this type.cf
- A ClassFactorypublic java.lang.String interfaceName()
TypeCompiler
TypeCompiler.interfaceName()
public java.lang.String getCorrespondingPrimitiveTypeName()
TypeCompiler
TypeCompiler.getCorrespondingPrimitiveTypeName()
public int getCastToCharWidth(DataTypeDescriptor dts)
TypeCompiler
dts
- The associated DataTypeDescriptor for this TypeId.TypeCompiler.getCastToCharWidth(org.apache.derby.iapi.types.DataTypeDescriptor)
java.lang.String nullMethodName()
BaseTypeCompiler
nullMethodName
in class BaseTypeCompiler
public void generateDataValue(MethodBuilder mb, int collationType, LocalField field)
BaseTypeCompiler
generateDataValue
in interface TypeCompiler
generateDataValue
in class BaseTypeCompiler
mb
- The method to put the expression incollationType
- For character DVDs, this will be used to determine
what Collator should be associated with the DVD which in turn will
decide whether to generate CollatorSQLcharDVDs or SQLcharDVDs. For
other types of DVDs, this parameter will be ignored.field
- LocalFieldTypeCompiler.generateDataValue(MethodBuilder, int, LocalField)
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.