|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.continuent.tungsten.replicator.filter.EnumToStringFilter
com.continuent.tungsten.replicator.filter.SetToStringFilter
public class SetToStringFilter
SetToStringFilter transforms MySQL SET data type values to corresponding
string representation as follows:
1. On each event it checks whether targeted table has SET data type column.
2. If it does, corresponding SET column values of the event are mapped from
integer (bitmap) into string representations.
The filter is to be used with row replication.
Filter takes an optional parameter for performance tuning. Instead of
checking all the tables you may define only a specific comma-delimited list
in process_tables_schemas parameter. Eg.:
replicator.filter.settostringfilter.process_tables_schemas=myschema.mytable1
,myschema.mytable2
This class is heavily based on EnumToStringFilter - only the core is
overridden.
| Constructor Summary | |
|---|---|
SetToStringFilter()
|
|
| Method Summary | |
|---|---|
static java.lang.String |
binarySetMapToString(java.lang.String[] setDefs,
long currentValue)
Transforms a binary map encoded in a long type, eg.: 011101 to a string with a comma-separated list of corresponding values, above eg.: a,c,d,e |
protected void |
checkForListType(OneRowChange orc)
Overriding EnumToStringFilter core to check for SET columns in the event. |
static int |
largestElementLen(java.lang.String setDefinition)
Utility method for external callers. |
protected java.lang.String[] |
parseListType(java.lang.String listTypeDefinition)
Overriding EnumToStringFilter core to parse SET definition. |
static java.lang.String[] |
parseSet(java.lang.String setDefinition)
Parses MySQL SET type definition statement. |
protected void |
transformColumns(java.util.ArrayList<OneRowChange.ColumnSpec> columns,
java.util.ArrayList<java.util.ArrayList<OneRowChange.ColumnVal>> columnValues,
java.util.HashMap<java.lang.Integer,java.lang.String[]> setDefinitions,
java.lang.String typeCaption)
Overriding EnumToStringFilter core to transform SET column values to comma separated string representation. |
| Methods inherited from class com.continuent.tungsten.replicator.filter.EnumToStringFilter |
|---|
checkForListType, configure, filter, largestElement, largestElementLen, parseEnumeration, parseListDefString, prepare, release, setPassword, setProcessTablesSchemas, setUrl, setUser |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SetToStringFilter()
| Method Detail |
|---|
protected java.lang.String[] parseListType(java.lang.String listTypeDefinition)
parseListType in class EnumToStringFilterparseSet(String)public static int largestElementLen(java.lang.String setDefinition)
setDefinition - String of the following form: set('val1','val2',...)
protected void checkForListType(OneRowChange orc)
throws java.sql.SQLException,
ReplicatorException
checkForListType in class EnumToStringFilterjava.sql.SQLException
ReplicatorException
protected void transformColumns(java.util.ArrayList<OneRowChange.ColumnSpec> columns,
java.util.ArrayList<java.util.ArrayList<OneRowChange.ColumnVal>> columnValues,
java.util.HashMap<java.lang.Integer,java.lang.String[]> setDefinitions,
java.lang.String typeCaption)
throws ReplicatorException
transformColumns in class EnumToStringFilterReplicatorExceptionpublic static java.lang.String[] parseSet(java.lang.String setDefinition)
setDefinition - String of the following form: set('val1','val2',...)
public static java.lang.String binarySetMapToString(java.lang.String[] setDefs,
long currentValue)
setDefs - String values of each bit. For the above example:
a,b,c,d,e,f.currentValue - A bitmap to decode.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||