c++とlibpqxxを使用してSearch-Functionを実装しようとしています。しかし、次の問題があります。ユーザーは4つの異なる検索パターンを指定できます(それぞれオプション)。
- 日付から
- 日まで
- ドキュメントタイプ
- ドキュメントID
それらのそれぞれはオプションです。したがって、プリペアドステートメントを使用する場合は、2 ^ 4=16の異なるプリペアドステートメントが必要になります。まあ、それは可能ですが、私はこれを避けたいと思います。
例として、libpqxxのプリペアドステートメントは次のようになります。
_connection->prepare("ExampleStmnt", "SELECT * FROM foo WHERE title=$1 AND id=$2 AND date=$3")
("text", pqxx::prepare::treat_string)
("smallint", pqxx::prepare::treat_direct)
("timestamp", pqxx::prepare::treat_direct);
したがって、私はそのような準備されたステートメントをどのようにつなぎ合わせるのかもわかりません。
私が考えていなかった他の「素敵な」方法はありますか?