2017-10-04 3 views
0

特定のjdbcデータソースの上にSQLのようなエンジンをユーザーに公開する必要があります。各ユーザーは、このjdbcデータソースの特定のフィルタリングされたデータのみを表示する必要があります。jdbc周りのcalciteスキーマユーザごとの適合表

だから、特定のユーザーがデータソースに対する彼のSQLを実行したときのように:私は方解石いじり始めている

select * from (select * from table where user = specific_user) where column = value 

- などを実現することができる方法:

select * from table where column = value 

エンジンはむしろ強化されたクエリを実行する必要がありますそれと論理? JDBCSchemaの上にカスタムビューを追加するか、JDBCSchemaに委譲するいくつかの新しいスキーマを構築する必要がありますか?

答えて

0

フィルタリングするテーブルのリスト(およびユーザー名を保持する列)は、事前にわかっていますか?その場合は、手書きのビュー定義を含むJSON model fileを作成することができます。

+0

はい、全体ベース、既存のスキーマはよく知られています。ユーザーは、表(または投影)のサブセットとデータのサブセットのみを照会する可能性があります。方解石のビューをパラメータ化するにはどうすればよいですか?カスタム関数を使用すると、user = customuserfunction()のテーブルからselect a、b、cのようになりますか? –

+0

はい、ユーザー定義関数を記述してください。あるいは、CURRENT_USERが必要なことをするでしょう。 –

+0

私はそのような解決策が、DB lvlではなく、jvm(メモリ内)ですべての計算が行われることを意味するかどうか疑問に思っています。 –

関連する問題