You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug#36390313 PB2: join_pushdown tests fail in Windows due to node failure
Bug#36513270 join_pushdown_default test fails due to an assertion failure
The push down join functionality for NDB expects pushed down
conditions to filter exactly, no rows that do not match the condition
must not be returned (and all rows that do match the condition must be
returned).
When condition contained a BINARY value compared to a BINARY column this
was not always true.
If the BINARY value was shorter than the BINARY column size it was zero
extended and could compare equal to a BINARY column value despite having
different lengths, if condition was pushed down to NDB.
This became more visible with fix for bug#36364619 which added implicit
casts of values to BINARY if compared to BINARY columns, which in turn
allowed more conditions to be pushed down to NDB. The tests
ndb_opt.join_pushdown_bka and ndb_opt.join_pushdown_default started to
fail.
The fix is when deciding if condition is pushable or not to also make
sure that the BINARY value length exactly matches the BINARY column
size.
Furtermore when binary string values were used in conditions with BINARY
or VARBINARY columns the actual length of string value were not used but
an overestimate of its length. That is now changed and will allow more
conditions comparing short string values with VARBINARY columns to be
pushed down.
Change-Id: Iff7b43bd7069090508f8a99557e98ca8395ae17f
0 commit comments