Couchbase change in string and double comparison in JDV 6.4.2

Solution Verified - Updated -

Issue

  • TOSTRING no longer pushed down to couchbase in comparison of double
  • For a query:
SELECT BQT1.SmallA.StringKey, BQT2.SmallB.DoubleNum FROM BQT1.SmallA, BQT2.SmallB WHERE BQT1.SmallA.StringKey = convert(BQT2.SmallB.DoubleNum, string) AND BQT1.SmallA.IntKey >= 0 AND BQT2.SmallB.IntKey >= 0

The following SOURCE queries were pushed in 6.4.1:

SELECT `$cb_c1_IntKey` c_0, `$cb_c2_StringKey` c_1 FROM `dvqe_small` `$cb_t1` LET `$cb_c1_IntKey` = `$cb_t1`.`IntKey`, `$cb_c2_StringKey` = `$cb_t1`.`StringKey` WHERE `$cb_t1`.`type` = 'SmallA' ORDER BY c_1

SELECT `$cb_c1_IntKey` c_0, `$cb_c2_DoubleNum` c_1, TOSTRING(`$cb_c2_DoubleNum`) c_2 FROM `dvqe_small` `$cb_t1` LET `$cb_c1_IntKey` = `$cb_t1`.`IntKey`, `$cb_c2_DoubleNum` = `$cb_t1`.`DoubleNum` WHERE `$cb_t1`.`type` = 'SmallB' ORDER BY c_2

6.4.2 the following SOURCE query is pushed:

SELECT `$cb_c1_IntKey` c1, `$cb_c2_StringKey` c2 FROM `dvqe_small` `$cb_t1` LET `$cb_c1_IntKey` = `$cb_t1`.`IntKey`, `$cb_c2_StringKey` = `$cb_t1`.`StringKey` WHERE `$cb_t1`.`type` = 'SmallA'

SELECT `$cb_c1_IntKey` c1, `$cb_c2_DoubleNum` c2 FROM `dvqe_small` `$cb_t1` LET `$cb_c1_IntKey` = `$cb_t1`.`IntKey`, `$cb_c2_DoubleNum` = `$cb_t1`.`DoubleNum` WHERE `$cb_t1`.`type` = 'SmallB'

Environment

  • Red Hat JBoss Data Virtualization 6.4.1, 6.4.2
  • CouchBaseDB

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content