java.lang.Object
com.pervasive.datarush.operators.AbstractLogicalOperator
com.pervasive.datarush.operators.CompositeOperator
com.pervasive.datarush.operators.io.jdbc.JDBCOperator
com.pervasive.datarush.operators.io.jdbc.AbstractWriteToJDBC
com.pervasive.datarush.operators.io.jdbc.DeleteFromJDBC
- All Implemented Interfaces:
ConnectionSettings,LogicalOperator,PipelineOperator<RecordPort>,RecordPipelineOperator
This operator deletes data in the target table in a database by applying
SQL delete statements. This operator will additionally copy the used input
to an output port that will contain an additional status field indicating
whether the delete succeeded for that row and how many rows in the target
table were deleted by it.
The operator will use the input data rows to create database delete
statements. The key fields provided in the input data rows will be
used to find matching rows to delete from the target table.
Key fields must be specified in the
operator properties. Key field values will be used within generated
database delete statements.
Initial and
final SQL
statements can be provided. The initial statement is run before any input
data is handled. The final statement is executed after all input data has
been processed.
Note that the DeleteFromJDBC operator is parallelized. Each parallel
instance will open a separate connection to the target database. To limit the
number of database connections used by this operator, tune down the operator parallelism level.
To set the parallelism level create an OperatorSettings instance with
maximum parallelism set to the wanted level. The operator settings can then be
passed as a parameter to the
LogicalGraph#add(com.pervasive.datarush.operators.LogicalOperator, OperatorSettings)
method.-
Nested Class Summary
Nested classes/interfaces inherited from class com.pervasive.datarush.operators.io.jdbc.AbstractWriteToJDBC
AbstractWriteToJDBC.AbstractWriteHelper, AbstractWriteToJDBC.AbstractWriteToJDBCWorker, AbstractWriteToJDBC.SqlWriteProperties -
Field Summary
Fields inherited from class com.pervasive.datarush.operators.io.jdbc.AbstractWriteToJDBC
commitInterval, finalizeTableSQL, initializeTableSQL, input, isolationLevel, keyNames, renameMapping -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidCompose the body of this operator.Get the output port containing the statues received from the database.Get the name of the field that will contain the update status.voidsetStatusField(String statusField) Set the name of the field that will contain the update status.Methods inherited from class com.pervasive.datarush.operators.io.jdbc.AbstractWriteToJDBC
appendDelimited, buildDeleteStatement, buildInsertStatement, buildUpdateStatement, createDropTableSQL, createTruncateTableSQL, getCommitInterval, getFinalizeTableSQL, getInitializeTableSQL, getInput, getIsolationLevel, getKeyNameList, getKeyNames, getRenameMapping, guessTableName, setCommitInterval, setFinalizeTableSQL, setInitializeTableSQL, setIsolationLevel, setKeyNames, setRenameMappingMethods inherited from class com.pervasive.datarush.operators.io.jdbc.JDBCOperator
getConnectionFactory, getDriverName, getErrorAction, getHostNames, getJDBCConnector, getPassword, getSqlWarningLimit, getTableName, getUrl, getUser, setConnectionFactory, setDriverName, setErrorAction, setHostNames, setHostNames, setJDBCConnector, setPassword, setSqlWarningLimit, setTableName, setUrl, setUserMethods inherited from class com.pervasive.datarush.operators.AbstractLogicalOperator
disableParallelism, getInputPorts, getOutputPorts, newInput, newInput, newOutput, newRecordInput, newRecordInput, newRecordOutput, notifyErrorMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.pervasive.datarush.operators.LogicalOperator
disableParallelism, getInputPorts, getOutputPortsMethods inherited from interface com.pervasive.datarush.operators.PipelineOperator
getInput
-
Constructor Details
-
DeleteFromJDBC
public DeleteFromJDBC()Default constructor. -
DeleteFromJDBC
Copy constructor.- Parameters:
other- the other instance ofWriteToJDBC
-
-
Method Details
-
setStatusField
Set the name of the field that will contain the update status. Defaults to Updated.- Parameters:
statusField- name of the status field in the output
-
getStatusField
Get the name of the field that will contain the update status.- Returns:
- name of the status field in the output
-
getOutput
Get the output port containing the statues received from the database.- Specified by:
getOutputin interfacePipelineOperator<RecordPort>- Returns:
- output record port
-
compose
Description copied from class:CompositeOperatorCompose the body of this operator. Implementations should do the following:- Perform any validation of configuration, input types, etc
- Instantiate and configure sub-operators, adding them to the provided context via
the method
OperatorComposable.add(O) - Create necessary connections via the method
OperatorComposable.connect(P, P). This includes connections from the composite's input ports to sub-operators, connections between sub-operators, and connections from sub-operators output ports to the composite's output ports
- Specified by:
composein classCompositeOperator- Parameters:
ctx- the context
-