When optional are needed to implement where, clients are required to implement a number of cases that explode esponentially. With 4 optional, there are potentially 24 cases.
It is required to modify the where formatting to account of optional.
For operators, it is simple -- optional conditions can be substituted with "1" values (where x=? becomes where 1). for binary operators things are more complex, AND operators can be changed into "TRUE" (like where x=? and TRUE) for OR operators can be changed into 0 (where x= ? or FALSE). Or can be removed. ( where x=? and y=? and z=? becomes where x=? and z=?).
When optional are needed to implement where, clients are required to implement a number of cases that explode esponentially. With 4 optional, there are potentially 24 cases.
It is required to modify the where formatting to account of optional.
For operators, it is simple -- optional conditions can be substituted with "1" values (where x=? becomes where 1). for binary operators things are more complex, AND operators can be changed into "TRUE" (like
where x=? and TRUE) for OR operators can be changed into 0 (where x= ? or FALSE). Or can be removed. (where x=? and y=? and z=?becomeswhere x=? and z=?).