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 itself
CALL 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.getCredentialStores procedure available since v4.10

SYSADMIN.getDriverLogos

このプロシージャは、埋め込まれたCData ドライバーのロゴをSVG 形式で返します。

SYSADMIN.getDriverLogos() RETURNS (driverName string NOT NULL, logo string)

SYSADMIN.getDriverLogos procedure available since v4.6

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 text
SELECT * FROM (CALL "SYSADMIN.getJwtToken"(
"payload" => '{
"exp": 1551273453,
"iss": "A@AdobeOrg",
"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 path
SELECT * FROM (CALL "SYSADMIN.getJwtToken"(
"payload" => '{
"exp": 1551273453,
"iss": "A@AdobeOrg",
"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",
"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 file
BEGIN
DECLARE blob key = SELECT file FROM (CALL testdata.getFiles('secret.key')) AS a;
DECLARE string payload = SELECT '{
"exp": 1551273453,
"iss": "A@AdobeOrg",
"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 algorithm
BEGIN
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 parameter
BEGIN
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 Options
CALL "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 roles
SYSADMIN.refreshSSOUserCache();;

SYSADMIN.refreshSSOUserCache is available since v4.2

SYSADMIN.setRemark

このプロシージャは、指定されたテーブル、カラム、プロシージャ、またはビューの発言を設定します。

パラメータのresType はオプションで、注釈のタイプをマークします。利用可能な値は:

  • NONE(デフォルト)

  • TABLE

  • VIEW

  • PROCEDURE

  • TABLE_COLUMN

  • VIEW_COLUMN

  • PROCEDURE_ARGUMENT

  • PROCEDURE_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)