View Issue Details

IDProjectCategoryView StatusLast Update
0001566SymmetricDSImprovementpublic2014-08-27 21:02
ReporterelongAssigned Toelong 
Prioritynormal 
Status closedResolutionfixed 
Product Version3.5.0 
Target Version3.6.0Fixed in Version3.5.17 
Summary0001566: Column match router support for "contains" and "not contains"
DescriptionThe column match router currently support equals (=) and not equals (!=) operations for comparing columns with values or variables. Add support for new operators: contains, not contains.

User Story:
What would really help us is if the column router can support contains (and does not contain) in addition to equals an not equals? The rationale is that we intend to populate the external_data column with a delimited list of client ids and as part of routing if the current client id is in the external_data column then route the record.

We have a workaround using a subselect router (for oracle we're using a simple query like select 1 from dual where :external_data: like %:client_id:%, query may not be exact but the point is that its not joining in any physical tables) but having the option to use a column router should be much faster.

EXTERNAL_DATA contains :NODE_ID

The "contains" operation should take the EXTERNAL_DATA and split it into elements separated by commas to evaluate if the current :NODE_ID variable matches one of the elements. Example match is external data of "100,200,300" contains "100" in order to route to node "100".
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: master 77564ab1

2014-02-11 08:27:35

erilong

Details Diff
0001566: Column match router support for "contains" and "not contains"
0001566
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/common/TokenConstants.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/route/ColumnMatchDataRouter.java Diff File
mod - symmetric-core/src/test/java/org/jumpmind/symmetric/route/ColumnMatchDataRouterTest.java Diff File

Issue History

Date Modified Username Field Change
2014-02-07 10:14 elong New Issue
2014-02-07 10:14 elong Status new => assigned
2014-02-07 10:14 elong Assigned To => elong
2014-02-10 16:38 elong Summary Column match router support for "like" and "in" => Column match router support for "contains" and "not contains"
2014-02-10 16:38 elong Description Updated View Revisions
2014-02-11 08:28 elong Status assigned => resolved
2014-02-11 08:28 elong Fixed in Version => 3.5.17
2014-02-11 08:28 elong Resolution open => fixed
2014-02-11 09:00 Changeset attached => SymmetricDS trunk r7928
2014-08-27 21:02 chenson Status resolved => closed
2015-07-30 21:49 Changeset attached => SymmetricDS master 77564ab1