Package org.apache.derby.impl.load
Class ColumnInfo
- java.lang.Object
-
- org.apache.derby.impl.load.ColumnInfo
-
class ColumnInfo extends java.lang.ObjectThis class provides supportto create casting/conversions required to perform import. Import VTI gives all the data in VARCHAR type becuase data in the files is in CHAR format. There is no implicit cast availabile from VARCHAR to some of the types. In cases where explicit casting is allowed, columns are casted with explict cast to the type of table column; in case of double/real explicit casting is also not allowd , scalar fuction DOUBLE is used in those cases.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.ArrayListcolumnPositionsprivate java.util.ArrayList<java.lang.String>columnTypesprivate java.sql.Connectionconnprivate booleancreateolumnNamesprivate intexpectedNumberOfColsprivate java.lang.String[]headerColumnNamesprivate java.util.ArrayList<java.lang.String>insertColumnNamesprivate java.util.ArrayList<java.lang.Integer>jdbcColumnTypesprivate intnoOfColumnsprivate java.lang.StringschemaNameprivate java.lang.StringtableNameprivate java.util.HashMap<java.lang.String,java.lang.String>udtClassNamesprivate java.util.ArrayList<java.lang.String>vtiColumnNames
-
Constructor Summary
Constructors Constructor Description ColumnInfo(java.sql.Connection conn, java.lang.String sName, java.lang.String tName, java.lang.String insertColumnList, java.lang.String vtiColumnIndexes, java.lang.String vtiColumnPrefix, java.lang.String[] headerColumnNames)Initialize the column type and name information
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.util.HashMapdeserializeHashMap(java.lang.String stringVersion)java.lang.StringgetColumnNamesWithCasts()java.lang.StringgetColumnTypeNames()Get the column type names.static java.lang.String[]getExpectedColumnTypeNames(java.lang.String columnTypeNamesString, int noOfColumns)intgetExpectedNumberOfColumnsInFile()static java.util.HashMapgetExpectedUDTClasses(java.lang.String stringVersion)static int[]getExpectedVtiColumnTypes(java.lang.String columnTypesStr, int noOfColumns)java.lang.StringgetExpectedVtiColumnTypesAsString()java.lang.StringgetInsertColumnNames()private java.lang.StringgetTypeOption(java.lang.String type, int length, int precision, int scale)private java.lang.StringgetUDTClassName(java.sql.DatabaseMetaData dmd, java.lang.String sqlTypeName)java.lang.StringgetUDTClassNames()Get the class names of udt columns as a string.static booleanimportExportSupportedType(int type)private booleaninitializeColumnInfo(java.lang.String columnPattern)private intreadHeaders(java.lang.String columnPattern)private booleantableExists()
-
-
-
Field Detail
-
vtiColumnNames
private java.util.ArrayList<java.lang.String> vtiColumnNames
-
insertColumnNames
private java.util.ArrayList<java.lang.String> insertColumnNames
-
columnTypes
private java.util.ArrayList<java.lang.String> columnTypes
-
jdbcColumnTypes
private java.util.ArrayList<java.lang.Integer> jdbcColumnTypes
-
noOfColumns
private int noOfColumns
-
columnPositions
private java.util.ArrayList columnPositions
-
createolumnNames
private boolean createolumnNames
-
expectedNumberOfCols
private int expectedNumberOfCols
-
conn
private java.sql.Connection conn
-
tableName
private java.lang.String tableName
-
schemaName
private java.lang.String schemaName
-
headerColumnNames
private java.lang.String[] headerColumnNames
-
udtClassNames
private java.util.HashMap<java.lang.String,java.lang.String> udtClassNames
-
-
Constructor Detail
-
ColumnInfo
public ColumnInfo(java.sql.Connection conn, java.lang.String sName, java.lang.String tName, java.lang.String insertColumnList, java.lang.String vtiColumnIndexes, java.lang.String vtiColumnPrefix, java.lang.String[] headerColumnNames) throws java.sql.SQLExceptionInitialize the column type and name information- Parameters:
conn- - connection to use for metadata queriessName- - table's schematName- - table NameinsertColumnList- - comma seperared insert statement column listvtiColumnIndexes- - Indexes in the filevtiColumnPrefix- - Prefix to use to generate column names to select from VTI- Throws:
java.lang.Exception- on errorjava.sql.SQLException
-
-
Method Detail
-
readHeaders
private int readHeaders(java.lang.String columnPattern) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
initializeColumnInfo
private boolean initializeColumnInfo(java.lang.String columnPattern) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
getUDTClassName
private java.lang.String getUDTClassName(java.sql.DatabaseMetaData dmd, java.lang.String sqlTypeName) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
importExportSupportedType
public static final boolean importExportSupportedType(int type)
-
getTypeOption
private java.lang.String getTypeOption(java.lang.String type, int length, int precision, int scale)
-
getColumnTypeNames
public java.lang.String getColumnTypeNames() throws java.lang.ExceptionGet the column type names.- Throws:
java.lang.Exception
-
getUDTClassNames
public java.lang.String getUDTClassNames() throws java.lang.ExceptionGet the class names of udt columns as a string.- Throws:
java.lang.Exception
-
getColumnNamesWithCasts
public java.lang.String getColumnNamesWithCasts()
-
getInsertColumnNames
public java.lang.String getInsertColumnNames()
-
getExpectedNumberOfColumnsInFile
public int getExpectedNumberOfColumnsInFile()
-
tableExists
private boolean tableExists() throws java.sql.SQLException- Throws:
java.sql.SQLException
-
getExpectedVtiColumnTypesAsString
public java.lang.String getExpectedVtiColumnTypesAsString()
-
getExpectedVtiColumnTypes
public static int[] getExpectedVtiColumnTypes(java.lang.String columnTypesStr, int noOfColumns)
-
getExpectedColumnTypeNames
public static java.lang.String[] getExpectedColumnTypeNames(java.lang.String columnTypeNamesString, int noOfColumns) throws java.lang.Exception- Throws:
java.lang.Exception
-
getExpectedUDTClasses
public static java.util.HashMap getExpectedUDTClasses(java.lang.String stringVersion) throws java.lang.Exception- Throws:
java.lang.Exception
-
deserializeHashMap
public static java.util.HashMap deserializeHashMap(java.lang.String stringVersion) throws java.lang.Exception- Throws:
java.lang.Exception
-
-