そのため、私はRLIKEと協力して、新しいアプリケーションでいくつかのデータを取得し、ほとんどの場合それを楽しんでいます。
これまで、RLIKEクエリを使用して、3種類の結果(ファイル、ディレクトリ、その他すべて)を返してきました。
クエリ(および結果の例)は次のとおりです。
**All**:
SELECT * FROM public WHERE obj_owner_id='test' AND obj_namespace
RLIKE '^user/test/public/[-0-9a-z_./]+$' ORDER BY obj_namespace
user/test/public/a-test/.comment
user/test/public/a-test/.delete
user/test/public/directory/
user/test/public/directory/image.jpg
user/test/public/index
user/test/public/site-rip
user/test/public/site-rip2
user/test/public/test-a
user/test/public/widget-test
**Files**:
SELECT * FROM public WHERE obj_owner_id='test' AND obj_namespace
RLIKE '^user/test/public/[-0-9a-z_./]+[-0-9a-z_.]+$' ORDER BY obj_namespace
user/test/public/a-test/.comment
user/test/public/a-test/.delete
user/test/public/directory/image.jpg
user/test/public/index
user/test/public/site-rip
user/test/public/site-rip2
user/test/public/test-a
user/test/public/widget-test
**Directories**:
SELECT * FROM public WHERE obj_owner_id='test' AND obj_namespace
RLIKE '^user/test/public/[-0-9a-z_./]+/$' ORDER BY obj_namespace
user/test/public/directory/
これは上記の3つの基本的なシナリオではうまく機能しますが、特定の状況では、クエリの結果から除外したい特別な「サフィックス」を含めます(PHP関数を使用せずに)。
このような文字列の良い例は次のとおりです。
user/test/public/a-test/.delete
そのデータ(obj_namespaceだけよりも多くの行がある)は削除されたと見なされ、Files and Allタイプのクエリでは、可能であれば式内で省略したいと思います。
/.commentsについても同じことが言え、そのようなメタデータはすべて常に同じ形式になります。
/.[sometext]
この機能をアプリケーション全体で広く使用したいと思っていたので、非常に簡単な答えがあると思います。(指を交差させる)
とにかく、いつものようにすべての応答とフィードバックに感謝します。