SYSADMIN.checkSortOrder
このストアドプロシージャは、指定された列にクエリを実行し、DBMS ネイティブORDER BYを使用してデータをソートし、CData Virtuality Server 内部で同じデータをソートし、2つの結果セットの差分を返します。
SYSADMIN.checkSortOrder(IN schemaName string NOT NULL, IN tableName string NOT NULL, IN columnName string NOT NULL, IN maxRows integer)Example
CALL SYSADMIN.checkSortOrder('test_tables', 'test_e', 'e', 5)SYSADMIN.cleanOrphanRemark
このプロシージャーは、nameパラメータで指定されたオブジェクトについて、廃止されたデータ ソース オブジェクトの備考を削除します。asPatternパラメータを使用して、特定の発言名または発言セットをクリーニングすることができます。
CALL SYSADMIN.cleanOrphanRemark(IN name string NOT NULL, IN asPattern boolean)Example
-- Cleans only obsolete remark for the table pg.test1 itselfCALL SYSADMIN.cleanOrphanRemark('pg.test1', false) ;;-- Cleans obsolete table and table_column remarks for objects matching the SQL LIKE pattern. -- Not obsolete remarks are not cleaned and warning is thrown "SYSADMIN.cleanOrphanRemark: some of the remarks which match the pattern pg.test1% could not be removed as they are not orphaned"CALL SYSADMIN.cleanOrphanRemark('pg.test1%', true) ;;SYSADMIN.cleanOrphanRemarks
このプロシージャは、選択されたスキーマまたはシステム全体の廃止された備考を削除します。
CALL SYSADMIN.cleanOrphanRemarks(IN schemaName)Example
CALL SYSADMIN.cleanOrphanRemarks('pg')SYSADMIN.clearResultSetCache
このプロシージャはresult set cache をクリーニングします。
CALL SYSADMIN.clearResultSetCache()SYSADMIN.getCredentialStores
このプロシージャは、構成されたすべてのクレデンシャルストアを一覧表示します。
CALL SYSADMIN.getCredentialStores();SYSADMIN.getDriverLogos
このプロシージャは、埋め込まれたCData ドライバーのロゴをSVG 形式で返します。
SYSADMIN.getDriverLogos() RETURNS (driverName string NOT NULL, logo string)SYSADMIN.getJwtToken
このプロシージャは、JSON Web Token を計算します。
SYSADMIN.getJwtToken(IN payload clob NOT NULL, IN privateKeyPath blob NOT NULL, IN encryptionAlgorithm string, IN jwtHeader clob, OUT token string RESULT)秘密鍵を提供するさまざまな方法をサポートしています:
PEM 形式のテキスト(base64);
PEM またはDER 形式の 秘密鍵 を含むファイルのパス;
ファイルデータソースからのバイトストリーム。
以下のアルゴリズムをサポートしています:
RS256(デフォルト)
RS384
RS512
PS256
PS384
PS512
ES256
ES384
ES512
Examples
-- JSON Web Token as textSELECT * FROM (CALL "SYSADMIN.getJwtToken"( "payload" => '{ "exp": 1551273453, "iss": "A@AdobeOrg", "sub": "[email protected]", "https://ims-na1.adobelogin.com/s/ent_analytics_bulk_ingest_sdk": true, "aud": "https://ims-na1.adobelogin.com/c/4"}'/* Mandatory */, "privateKeyPath" => to_bytes('-----BEGIN PRIVATE KEY-----privatkey-----END PRIVATE KEY-----', 'UTF-8')/* Mandatory */)) AS s;;-- JSON Web Token as a file pathSELECT * FROM (CALL "SYSADMIN.getJwtToken"( "payload" => '{ "exp": 1551273453, "iss": "A@AdobeOrg", "sub": "[email protected]", "https://ims-na1.adobelogin.com/s/ent_analytics_bulk_ingest_sdk": true, "aud": "https://ims-na1.adobelogin.com/c/A"}'/* Mandatory */, "privateKeyPath" => 'C:\\DataVirtuality\\testdata\\secret.pem'/* Mandatory */)) AS s;; SELECT * FROM (CALL "SYSADMIN.getJwtToken"( "payload" => '{ "exp": 1551273453, "iss": "A@AdobeOrg", "sub": "[email protected]", "https://ims-na1.adobelogin.com/s/ent_analytics_bulk_ingest_sdk": true, "aud": "https://ims-na1.adobelogin.com/c/A"}'/* Mandatory */, "privateKeyPath" => 'C:\\DataVirtuality\\testdata\\secret.key'/* Mandatory */)) AS s;;-- JSON Web Token as a stream from a fileBEGINDECLARE blob key = SELECT file FROM (CALL testdata.getFiles('secret.key')) AS a;DECLARE string payload = SELECT '{ "exp": 1551273453, "iss": "A@AdobeOrg", "sub": "[email protected]", "https://ims-na1.adobelogin.com/s/ent_analytics_bulk_ingest_sdk": true, "aud": "https://ims-na1.adobelogin.com/c/A"}';SELECT * FROM (CALL "SYSADMIN.getJwtToken"( "payload" => payload, "privateKeyPath" => key)) AS s;END;;-- JSON Web Token as a stream from a file using ES256 algorithmBEGIN DECLARE blob file = SELECT file FROM testdata.getFiles(pathAndPattern => 'ec_private.pem'); SELECT * from (CALL SYSADMIN.getJwtToken ( payload => JsonObject ( '69a6de74-ec5f-47e3-e053-5b8c7c11a4d1' as iss, TimestampDiff (SQL_TSI_Second, From_Unixtime(0), Now()) as iat, TimestampDiff (SQL_TSI_Second, From_Unixtime(0), TimestampAdd (SQL_TSI_MINUTE, 20, Now())) as exp, 'appstoreconnect-v1' as aud ), privateKeyPath => file, encryptionAlgorithm => 'ES256' )) as s;END;;-- JSON Web Token as a stream from a file using ES256 algorithm and optional jwtHeader parameterBEGIN DECLARE blob file = SELECT file FROM testdata.getFiles(pathAndPattern => 'ec_private.pem'); SELECT * from (CALL SYSADMIN.getJwtToken ( payload => JsonObject ( '69a6de74-ec5f-47e3-e053-5b8c7c11a4d1' as iss, TimestampDiff (SQL_TSI_Second, From_Unixtime(0), Now()) as iat, TimestampDiff (SQL_TSI_Second, From_Unixtime(0), TimestampAdd (SQL_TSI_MINUTE, 20, Now())) as exp, 'appstoreconnect-v1' as aud, 'ES256' as alg ), jwtHeader => JsonObject ( 'ES256' as alg, '2X9R4HXF34' as kid, 'JWT' as typ ), privateKeyPath => file )) as s;END;;SYSADMIN.md5
このプロシージャは、指定されたパラメータのmd5 ハッシュ値を返します。
SYSADMIN.md5(IN param string, OUT hash string)Examples
SELECT hash FROM (CALL SYSADMIN.md5(1)) AS a WHERE hash=ucase('c4ca4238a0b923820dcc509a6f75849b');md5 は空/NULL 文字列または空白のようなタブを受け付けます:
NULL値の場合、結果は空文字列になります;
NULL 以外の値(空文字列、空白やタブを含む文字列など)に対しては、md5 が計算され、結果として返されます。
SELECT hash FROM (CALL SYSADMIN.md5('')) AS a;SELECT hash FROM (CALL md5(null)) AS a;SYSADMIN.reservedWords
このプロシージャは、コード補完に必要なキーワードのリストを返します。これには句、データ型、関数、算術演算記号などが含まれます。
SYSADMIN.reservedWords(OUT keyword string NOT NULL, OUT type string NOT NULL)SYSADMIN.sendOracleADWCWallet
こ のプロシージャ は、 Oracle ADWC データソースのソフトファイルをアップロードします。
SYSADMIN.sendOracleADWCWallet(IN trustStorePassword string NOT NULL, IN base64Wallet string NOT NULL)SYSADMIN.refreshSSOUserCache
このプロシージャは、SSO ユーザーとロールをロードし、更新します。 CData Virtuality OAuth 2 Optionsによります。
ロードされたSSO ユーザーとロールには@SSO postfix があります。例えば、CData Virtuality OAuth 2 Server に'test_user_1' という名前のユーザーがいる場合、 このユーザーはCData Virtuality Server で 'test_user_1@SSO' という名前になります。同じpostfix がロードされたSSO ロールに追加されます。
Example
-- Set CData Virtuality OAuth 2 OptionsCALL "SYSADMIN.setDefaultOptionValue"("opt" => 'DV_AUTH_REALM', "val" => 'test_realm1');;CALL "SYSADMIN.setDefaultOptionValue"("opt" => 'DV_AUTH_CLIENT_ID', "val" => 'odata4-oauth');;CALL "SYSADMIN.setDefaultOptionValue"("opt" => 'DV_AUTH_CLIENT_SECRET', "val" => 'client_secret');;CALL "SYSADMIN.setDefaultOptionValue"("opt" => 'DV_AUTH_LOAD_USERS', "val" => true);;CALL "SYSADMIN.setDefaultOptionValue"("opt" => 'DV_AUTH_LOAD_ROLES', "val" => true);;-- Run refreshSSOUserCache to load SSO users and rolesSYSADMIN.refreshSSOUserCache();;SYSADMIN.setRemark
このプロシージャは、指定されたテーブル、カラム、プロシージャ、またはビューの発言を設定します。
パラメータのresType はオプションで、注釈のタイプをマークします。利用可能な値は:
NONE(デフォルト)TABLEVIEWPROCEDURETABLE_COLUMNVIEW_COLUMNPROCEDURE_ARGUMENTPROCEDURE_COLUMN
SYSADMIN.setRemark(IN name string NOT NULL, IN remark string NOT NULL, IN resType string)Examples
CALL "SYSADMIN.setRemark" ( "name" => 'views.employee' ,"remark" => 'here remark was set for the view/proc') ;;CALL "SYSADMIN.setRemark" ( "name" => 'adv.contacttype' ,"remark" => 'here remark was set for the table' ,"resType" => 'table') ;;CALL "SYSADMIN.setRemark" ( "name" => 'adv.contact.FirstName' ,"remark" => 'here remark was set for the column') ;; setRemark() プロシージャはOPTION $NOFAILと併用できます。これはその一例です:
CALL "SYSADMIN.setRemark" ( "name" => 'adv.contact.FirstName' ,"remark" => 'here remark was set for the column') OPTION $NOFAIL;;CData Virtuality Exporter は、 physical データソースに設定された備考、およびそのようなデータソースに格納されたテーブル、ビュー、またはプロシージャに設定された備考をエクスポートしません。 Virtual スキーマとオブジェクトに設定されたRemarks がエクスポートされます。
さらに、CData Virtuality Exporter は、すべてのsetRemark() システムプロシージャにOPTION $NOFAILを追加します。
SYSADMIN.sleep
このプロシージャは、ミリ秒単位で指定された時間、現在のプロセスの実行を一時停止します。
SYSADMIN.sleep(IN millis long NOT NULL))Example
この例では、スリープ時間は5秒に設定されています:
CALL SYSADMIN.sleep(5000)SYSADMIN.updateMetastoreCredentials
このプロシージャでは、Hive Metastore の認証情報を更新できます。
Examples
これらの例では、さまざまなクラウドストレージの認証情報を更新しています。
1. AWS キー:
CALL SYSADMIN.updateMetastoreCredentials(host => 'metastore.host.com', port => 9083, aws_access_key => 'access_key', aws_secret_key => 'secret_key');;2. Azure キー:
CALL SYSADMIN.updateMetastoreCredentials(host => 'metastore.host.com', port => 9083, azure_access_key => 'azure_access_key');;3. Google Cloud Storage 認証情報:
CALL SYSADMIN.updateMetastoreCredentials(host => 'metastore.host.com', port => 9083, gcs_json_contents => '{"type":"service_account","project_id":"project_id","private_key_id":"private_key_id","private_key":"private_key_contents","client_email":"client_email","client_id":"id","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_x509_cert_url":"cert_url","universe_domain":"googleapis.com"}');;