com.continuent.tungsten.replicator.applier
Class MySQLApplier

java.lang.Object
  extended by com.continuent.tungsten.replicator.applier.JdbcApplier
      extended by com.continuent.tungsten.replicator.applier.MySQLApplier
All Implemented Interfaces:
RawApplier, ReplicatorPlugin
Direct Known Subclasses:
MySQLDrizzleApplier

public class MySQLApplier
extends JdbcApplier

Stub applier class that automatically constructs url from Oracle-specific properties like host, port, and service.

Version:
1.0
Author:
Robert Hodges

Field Summary
protected static java.math.BigInteger BIGINT_MAX_VALUE
           
protected  java.lang.String host
           
protected  int port
           
protected  java.lang.String urlOptions
           
 
Fields inherited from class com.continuent.tungsten.replicator.applier.JdbcApplier
commitCount, commitSeqnoTable, conn, consistencySelect, consistencyTable, currentOptions, currentSchema, currentTimestamp, driver, eventCount, heartbeatTable, ignoreSessionPattern, ignoreSessionVars, lastSessionId, maxSQLLogLength, metadataSchema, password, runtime, statement, taskId, url, user
 
Constructor Summary
MySQLApplier()
           
 
Method Summary
protected  Column addColumn(java.sql.ResultSet rs, java.lang.String columnName)
          Returns a new column definition.
protected  void applyLoadDataLocal(LoadDataFileQuery data, java.io.File temporaryFile)
          applyLoadDataLocal executes the LoadDataFileQuery.
protected  void applyRowIdData(RowIdData data)
           
 void configure(PluginContext context)
          Generate URL suitable for MySQL and then delegate remaining configuration to superclass.
protected  java.lang.String hexdump(byte[] buffer)
           
 void setHost(java.lang.String host)
          Host name or IP address.
protected  void setInteger(java.sql.PreparedStatement prepStatement, int bindLoc, java.lang.Object valToInsert)
           
protected  void setObject(java.sql.PreparedStatement prepStatement, int bindLoc, OneRowChange.ColumnVal value, OneRowChange.ColumnSpec columnSpec)
          
 void setPort(java.lang.String portAsString)
          TCP/IP port number, a positive integer.
 void setUrlOptions(java.lang.String urlOptions)
          JDBC URL options with a leading ?.
 
Methods inherited from class com.continuent.tungsten.replicator.applier.JdbcApplier
apply, applyOneRowChangePrepared, applyRowChangeData, applySessionVariables, applySetTimestamp, applyStatementData, applyUseSchema, bindColumnValues, commit, fillColumnNames, getDatabase, getLastEvent, logFailedStatementSQL, logFailedStatementSQL, needNewSQLStatement, prepare, printColumnSpec, release, rollback, setDriver, setGetColumnMetadataFromDB, setIgnoreSessionVars, setPassword, setTaskId, setUrl, setUser
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BIGINT_MAX_VALUE

protected static final java.math.BigInteger BIGINT_MAX_VALUE

host

protected java.lang.String host

port

protected int port

urlOptions

protected java.lang.String urlOptions
Constructor Detail

MySQLApplier

public MySQLApplier()
Method Detail

setHost

public void setHost(java.lang.String host)
Host name or IP address.


setPort

public void setPort(java.lang.String portAsString)
TCP/IP port number, a positive integer.


setUrlOptions

public void setUrlOptions(java.lang.String urlOptions)
JDBC URL options with a leading ?.


configure

public void configure(PluginContext context)
               throws ReplicatorException
Generate URL suitable for MySQL and then delegate remaining configuration to superclass.

Specified by:
configure in interface ReplicatorPlugin
Overrides:
configure in class JdbcApplier
Throws:
ReplicatorException - Thrown if configuration is incomplete or fails
See Also:
ReplicatorPlugin.configure(PluginContext context)

applyRowIdData

protected void applyRowIdData(RowIdData data)
                       throws ReplicatorException
Overrides:
applyRowIdData in class JdbcApplier
Throws:
ReplicatorException

addColumn

protected Column addColumn(java.sql.ResultSet rs,
                           java.lang.String columnName)
                    throws java.sql.SQLException
Returns a new column definition.

Overrides:
addColumn in class JdbcApplier
Parameters:
rs - Metadata resultset
columnName - Name of the column to be added
Returns:
the column definition
Throws:
java.sql.SQLException - if an error occurs
See Also:
JdbcApplier.addColumn(java.sql.ResultSet, java.lang.String)

setObject

protected void setObject(java.sql.PreparedStatement prepStatement,
                         int bindLoc,
                         OneRowChange.ColumnVal value,
                         OneRowChange.ColumnSpec columnSpec)
                  throws java.sql.SQLException

Overrides:
setObject in class JdbcApplier
Throws:
java.sql.SQLException
See Also:
JdbcApplier.setObject(java.sql.PreparedStatement, int, com.continuent.tungsten.replicator.dbms.OneRowChange.ColumnVal, com.continuent.tungsten.replicator.dbms.OneRowChange.ColumnSpec)

setInteger

protected void setInteger(java.sql.PreparedStatement prepStatement,
                          int bindLoc,
                          java.lang.Object valToInsert)
                   throws java.sql.SQLException
Throws:
java.sql.SQLException

applyLoadDataLocal

protected void applyLoadDataLocal(LoadDataFileQuery data,
                                  java.io.File temporaryFile)
                           throws ReplicatorException
applyLoadDataLocal executes the LoadDataFileQuery. This method is most likely to be database specific. See for example :

Overrides:
applyLoadDataLocal in class JdbcApplier
Parameters:
data - The LoadDataFileQuery containing the query that has to be executed
temporaryFile - The file containing data to be loaded
Throws:
ReplicatorException - if an error occurs
See Also:
JdbcApplier.applyStatementData(com.continuent.tungsten.replicator.dbms.StatementData)

hexdump

protected java.lang.String hexdump(byte[] buffer)