次の書き換えルールは期待どおりに機能します:
リーリー私の質問は、regex_grammer:Awk のプレースホルダーを使用してこのクエリを記述する方法です。これが分かれば次の問題も突破できる。私の実際の目標は、次のクエリを書き直すことです:
リーリーこれは regex_grammar Awk でのみ機能し、ネイティブでは機能しないと思います。私は正しいですか?
これが私が見つけた唯一のドキュメントです: https://mariadb.com/kb/en/mariadb-maxscale-2208-rewrite-filter/
他の提案やツールも歓迎します! Maxscale は私にとって最も有望なソリューションです。
あなたが行っている置換タイプは繰り返し置換する必要があり、値の数は固定されていません。書き換えフィルターは、パターンが固定されており、複雑なマッチングが必要ない、より単純な使用例に適しています。
ただし、これは MaxScale の
リーリーregexfilter
を使用して行うことができ、正規表現をより自由に使用できるようになります。次の正規表現フィルター構成は、IN
リストの単純な値を処理し、それらをSHA1
関数呼び出しでラップする必要があります。これは、テストに使用した regex101.com ページです。
これはカンマが埋め込まれた文字列では機能しないことに注意してください。つまり、実際には一般的な解決策ではありません。