com.onewebsql.query.adapter
Class DiskBufferingSetClobOp

java.lang.Object
  extended by com.onewebsql.query.adapter.ColumnOp<T>
      extended by com.onewebsql.query.adapter.ColumnClobOp<Object>
          extended by com.onewebsql.query.adapter.SetClobOp
              extended by com.onewebsql.query.adapter.DiskBufferingSetClobOp
All Implemented Interfaces:
ConnectionOp<Object>

public class DiskBufferingSetClobOp
extends SetClobOp

Operacja zapisująca dane z czytacza do kolumny typu Clob we wskazanym wierszu. Dane przed zapisem są buforowane. W zależności od ilości danych zawartych w czytaczu są one buforowane w pamięciu lub na dysku.


Field Summary
static int DEFAULT_MEMORY_BUFFER_SIZE
          Określa maksymalny rozmiar danych z czytacza, który będzie buforowany w pamięci.
protected  File tmpFile
          Plik tymczasowy zawierający zbuforowane dane wejściowe.
 
Fields inherited from class com.onewebsql.query.adapter.SetClobOp
DEFAULT_FIRST_BURST_SIZE, firstBurstSize, reader
 
Fields inherited from class com.onewebsql.query.adapter.ColumnClobOp
SINGLE_CLOB_ROW_HANDLER
 
Fields inherited from class com.onewebsql.query.adapter.ColumnOp
column, dbAdapter, length, rowId, schemaName
 
Constructor Summary
DiskBufferingSetClobOp(DBAdapter dbAdapter, String schemaName, Column column, LExp rowId, Reader reader, long length)
          Konstruktor.
DiskBufferingSetClobOp(DBAdapter dbAdapter, String schemaName, Column column, LExp rowId, Reader reader, long length, int firstBurstSize)
          Konstruktor.
 
Method Summary
protected  void bufferReader()
          Buforuje dane z czytacza.
 Object invoke(Connection connection)
          Invokes the operation.
 
Methods inherited from class com.onewebsql.query.adapter.SetClobOp
isAtEndOfStream, writeFirstBurst, writeSecondBurst
 
Methods inherited from class com.onewebsql.query.adapter.ColumnClobOp
getColumnClob
 
Methods inherited from class com.onewebsql.query.adapter.ColumnOp
getColumnDebugName, getColumnObject, setColumnValueToNull
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_MEMORY_BUFFER_SIZE

public static final int DEFAULT_MEMORY_BUFFER_SIZE
Określa maksymalny rozmiar danych z czytacza, który będzie buforowany w pamięci. W momencie przekroczenia tej wielkości dotychczas zbuforowane dane są automatycznie zapisywane na dysk i dalsze buforowanie odbywa się w pliku tymczasowym na dysku.

See Also:
Constant Field Values

tmpFile

protected File tmpFile
Plik tymczasowy zawierający zbuforowane dane wejściowe.

Constructor Detail

DiskBufferingSetClobOp

public DiskBufferingSetClobOp(DBAdapter dbAdapter,
                              String schemaName,
                              Column column,
                              LExp rowId,
                              Reader reader,
                              long length)
Konstruktor. Jego wywołanie jest równoważne wywołaniu DiskBufferingSetClobOp(dbAdapter, schemaName, column, rowId, reader, length, DEFAULT_FIRST_BURST_SIZE).

Parameters:
dbAdapter - adapter bazy danych.
schemaName - nazwa schematu w którym tabela
column - kolumna do której będą zapisywane dane.
rowId - identyfikator wiersza tabeli, do którego będą zapisywane dane.
reader - czytacz zawierający dane do zapisania.
length - ilość znaków do zapisu. Jeżeli podana zostanie wartość -1 operacja zapisze wszystkie dane z czytacza.

DiskBufferingSetClobOp

public DiskBufferingSetClobOp(DBAdapter dbAdapter,
                              String schemaName,
                              Column column,
                              LExp rowId,
                              Reader reader,
                              long length,
                              int firstBurstSize)
Konstruktor.

Parameters:
dbAdapter - adapter bazy danych.
schemaName - nazwa schematu w którym tabela
column - kolumna do której będą zapisywane dane.
rowId - identyfikator wiersza tabeli, do którego będą zapisywane dane.
reader - czytacz zawierający dane do zapisania.
length - ilość znaków do zapisu. Jeżeli podana zostanie wartość -1 operacja zapisze wszystkie dane z czytacza.
firstBurstSize - rozmiar pierwszej paczki do zapisu w znakach.
Method Detail

bufferReader

protected void bufferReader()
                     throws SQLException
Buforuje dane z czytacza.

Throws:
SQLException - jeżeli wystąpił błąd podczas operacji na bazie danych.

invoke

public Object invoke(Connection connection)
              throws SQLException
Description copied from interface: ConnectionOp
Invokes the operation.

Specified by:
invoke in interface ConnectionOp<Object>
Overrides:
invoke in class SetClobOp
Parameters:
connection - database connection
Returns:
result of the operation
Throws:
SQLException - if an exception is thrown


Copyright © 2011-2013 e-point SA. All Rights Reserved.