私はscalaqueryを使用してoracleサーバーとpostgresサーバーの両方に接続しています。この動作はOracleとPostgresの両方で発生していますが、Postgresでは有効な(そしてまだ正しくない)SQLのみです。
ある時点で、次の形式のscalaqueryでクエリを実行しています。
row.foo.bind == parameter.foo || row.foo inSetBind parameter.foo.children
パラメータは特性であり、その中にfooが含まれていることが知られています。
ここでの問題は、実行される最大100のクエリのうち、scala-queryが正しいSQLを1回だけ生成することです。
...
WHERE row.foo = ? or row.foo in (?, ?, ?, ?, ?)
...
ほとんどの場合、代わりに生成されます
...
WHERE row.foo = ? or false
...
なぜこれが一貫して発生しないのですか、それはバグですか(私はそれがそうであると思います)、そしてどのようにそれを回避するのですか?