Package org.apache.derby.impl.load
Class ExportWriteData
- java.lang.Object
-
- org.apache.derby.impl.load.ExportWriteDataAbstract
-
- org.apache.derby.impl.load.ExportWriteData
-
- All Implemented Interfaces:
java.security.PrivilegedExceptionAction<java.lang.Object>
final class ExportWriteData extends ExportWriteDataAbstract implements java.security.PrivilegedExceptionAction<java.lang.Object>
-
-
Field Summary
Fields Modifier and Type Field Description private java.io.OutputStreamWriteraStreamprivate byte[]byteBufprivate char[]charBufprivate java.io.ByteArrayOutputStreamlobByteArrayStreamprivate java.io.OutputStreamWriterlobCharStreamprivate longlobFileOffsetprivate java.io.BufferedOutputStreamlobOutBinaryStreamprivate java.lang.StringlobsFileNameprivate booleanlobsInExtFileprivate java.lang.StringoutputFileName-
Fields inherited from class org.apache.derby.impl.load.ExportWriteDataAbstract
columnDefinition, columnLengths, controlFileReader, dataCodeset, dataLocale, doubleDelimiter, fieldSeparator, fieldStartDelimiter, fieldStopDelimiter, format, hasDelimiterAtEnd, nullString, recordSeparator
-
-
Constructor Summary
Constructors Constructor Description ExportWriteData(java.lang.String outputFileName, java.lang.String lobsFileName, ControlInfo controlFileReader)ExportWriteData(java.lang.String outputFileName, ControlInfo controlFileReader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidinit()private java.lang.StringmakeDoubleDelimiterString(java.lang.String inputString, java.lang.String charDelimiter)Convert the input string into double delimiter format for export.voidnoMoreRows()if nothing more to write, then close the file and write a message of completion in message fileprivate voidopenFiles()java.lang.Objectrun()(package private) java.lang.StringwriteBinaryColumnToExternalFile(java.io.InputStream istream)Writes the binary data in the given input stream to an external lob export file, and return it's location information in the file as string.(package private) java.lang.StringwriteCharColumnToExternalFile(java.io.Reader ir)Writes the clob data in the given input Reader to an external lob export file, and return it's location information in the file as string.(package private) voidwriteColumnDefinitionOptionally(java.lang.String[] columnNames, java.lang.String[] columnTypes)if control file says true for column definition, write it as first line of the data filevoidwriteData(java.lang.String[] oneRow, boolean[] isNumeric)write the passed row into the data fileprivate voidwriteNextColumn(java.lang.String oneColumn, boolean isNumeric)-
Methods inherited from class org.apache.derby.impl.load.ExportWriteDataAbstract
loadPropertiesInfo, setColumnLengths
-
-
-
-
Field Detail
-
outputFileName
private java.lang.String outputFileName
-
lobsFileName
private java.lang.String lobsFileName
-
lobsInExtFile
private boolean lobsInExtFile
-
lobFileOffset
private long lobFileOffset
-
aStream
private java.io.OutputStreamWriter aStream
-
lobCharStream
private java.io.OutputStreamWriter lobCharStream
-
lobOutBinaryStream
private java.io.BufferedOutputStream lobOutBinaryStream
-
lobByteArrayStream
private java.io.ByteArrayOutputStream lobByteArrayStream
-
byteBuf
private byte[] byteBuf
-
charBuf
private char[] charBuf
-
-
Constructor Detail
-
ExportWriteData
ExportWriteData(java.lang.String outputFileName, ControlInfo controlFileReader) throws java.lang.Exception- Throws:
java.lang.Exception
-
ExportWriteData
ExportWriteData(java.lang.String outputFileName, java.lang.String lobsFileName, ControlInfo controlFileReader) throws java.lang.Exception- Throws:
java.lang.Exception
-
-
Method Detail
-
init
private void init() throws java.lang.Exception- Throws:
java.lang.Exception
-
run
public final java.lang.Object run() throws java.lang.Exception- Specified by:
runin interfacejava.security.PrivilegedExceptionAction<java.lang.Object>- Throws:
java.lang.Exception
-
openFiles
private void openFiles() throws java.lang.Exception- Throws:
java.lang.Exception
-
writeColumnDefinitionOptionally
void writeColumnDefinitionOptionally(java.lang.String[] columnNames, java.lang.String[] columnTypes) throws java.lang.Exceptionif control file says true for column definition, write it as first line of the data file- Specified by:
writeColumnDefinitionOptionallyin classExportWriteDataAbstract- Throws:
java.lang.Exception- if there is an error
-
writeNextColumn
private void writeNextColumn(java.lang.String oneColumn, boolean isNumeric) throws java.lang.Exception- Throws:
java.lang.Exception
-
writeBinaryColumnToExternalFile
java.lang.String writeBinaryColumnToExternalFile(java.io.InputStream istream) throws java.lang.ExceptionWrites the binary data in the given input stream to an external lob export file, and return it's location information in the file as string. Location information is written in the main export file.- Specified by:
writeBinaryColumnToExternalFilein classExportWriteDataAbstract- Parameters:
istream- input streams that contains a binary column data.- Returns:
- Location where the column data written in the external file.
- Throws:
java.lang.Exception- if any error occurs while writing the data.
-
writeCharColumnToExternalFile
java.lang.String writeCharColumnToExternalFile(java.io.Reader ir) throws java.lang.ExceptionWrites the clob data in the given input Reader to an external lob export file, and return it's location information in the file as string. Location information is written in the main export file.- Specified by:
writeCharColumnToExternalFilein classExportWriteDataAbstract- Parameters:
ir- Reader that contains a clob column data.- Returns:
- Location where the column data written in the external file.
- Throws:
java.lang.Exception- if any error occurs while writing the data.
-
writeData
public void writeData(java.lang.String[] oneRow, boolean[] isNumeric) throws java.lang.Exceptionwrite the passed row into the data file- Specified by:
writeDatain classExportWriteDataAbstract- Throws:
java.lang.Exception- if there is an error
-
noMoreRows
public void noMoreRows() throws java.io.IOExceptionif nothing more to write, then close the file and write a message of completion in message file- Specified by:
noMoreRowsin classExportWriteDataAbstract- Throws:
java.lang.Exception- if there is an errorjava.io.IOException
-
makeDoubleDelimiterString
private java.lang.String makeDoubleDelimiterString(java.lang.String inputString, java.lang.String charDelimiter)Convert the input string into double delimiter format for export. double character delimiter recognition in delimited format files applies to the export and import utilities. Character delimiters are permitted within the character-based fields of a file. This applies to fields of type CHAR, VARCHAR, LONGVARCHAR, or CLOB. Any pair of character delimiters found between the enclosing character delimiters is imported into the database. For example with doble quote(") as character delimiter "What a ""nice""day!" will be imported as: What a "nice"day! In the case of export, the rule applies in reverse. For example, I am 6"tall. will be exported to a file as: "I am 6""tall."
-
-