sys_sqlinfo
本製品 がデータソースにオフロードできるSELECT クエリ処理について説明します。
コラボラティブクエリ処理
SQL-92 をサポートしていないデータソースを扱う場合、sys_sqlinfo ビューをクエリして、SQL 構文で表現される基底のAPI のクエリ機能を判別できます。本製品 はできるだけ多くのSELECT 構文処理をサーバーにオフロードし、残りのクエリをインメモリで処理します。
本製品 がクライアントサイドのインメモリ処理でAPI 制限を回避する方法の詳細については、SupportEnhancedSQL を参照してください。 SQL 構文の詳細については、SQL 準拠 を参照してください。
データソースのSELECT 機能
以下はSQL 機能のサンプルデータセットです。 次の結果セットは、本製品 がデータソースにオフロードできる、またはクライアントサイドで処理できるSELECT 機能を示します。データソースは追加のSQL 構文をサポートすることがあります。 SELECT 機能のいくつかの側面がサポートされている場合には、カンマ区切りのリストで返されます。サポートされていない場合、カラムにはNO が入ります。
名前 | 説明 | 有効な値 |
AGGREGATE_FUNCTIONS | サポートされている集計関数。 | AVG, COUNT, MAX, MIN, SUM, DISTINCT |
COUNT | COUNT 関数がサポートされているかどうか。 | YES, NO |
IDENTIFIER_QUOTE_OPEN_CHAR | 識別子をエスケープするための開始文字。 | [ |
IDENTIFIER_QUOTE_CLOSE_CHAR | 識別子をエスケープするための終了文字。 | ] |
SUPPORTED_OPERATORS | サポートされているSQL 演算子。 | =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR |
GROUP_BY | GROUP BY がサポートされているかどうか。サポートされている場合、どのレベルでサポートされているか。 | NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE |
OJ_CAPABILITIES | サポートされている外部結合の種類。 | NO, LEFT, RIGHT, FULL, INNER, NOT_ORDERED, ALL_COMPARISON_OPS |
OUTER_JOINS | 外部結合がサポートされているかどうか。 | YES, NO |
SUBQUERIES | サブクエリがサポートされているかどうか。サポートされていれば、どのレベルでサポートされているか。 | NO, COMPARISON, EXISTS, IN, CORRELATED_SUBQUERIES, QUANTIFIED |
STRING_FUNCTIONS | サポートされている文字列関数。 | LENGTH,CHAR,LOCATE,REPLACE,SUBSTRING,RTRIM,LTRIM,RIGHT,LEFT,UCASE, SPACE,SOUNDEX,LCASE,CONCAT,ASCII,REPEAT,OCTET,BIT,POSITION,INSERT,TRIM, UPPER,REGEXP,LOWER,DIFFERENCE,CHARACTER,SUBSTR,STR,REVERSE,PLAN,UUIDTOSTR,TRANSLATE, TRAILING,TO,STUFF,STRTOUUID,STRING,SPLIT,SORTKEY,SIMILAR,REPLICATE,PATINDEX,LPAD, LEN,LEADING,KEY,INSTR,INSERTSTR,HTML,GRAPHICAL,CONVERT,COLLATION,CHARINDEX,BYTE |
NUMERIC_FUNCTIONS | サポートされている数値関数。 | ABS,ACOS,ASIN,ATAN,ATAN2,CEILING,COS,COT,EXP,FLOOR, LOG,MOD,SIGN,SIN,SQRT,TAN,PI,RAND,DEGREES,LOG10,POWER, RADIANS,ROUND,TRUNCATE |
TIMEDATE_FUNCTIONS | サポートされている日付および時刻関数。 | NOW,CURDATE,DAYOFMONTH,DAYOFWEEK,DAYOFYEAR,MONTH,QUARTER,WEEK,YEAR,CURTIME, HOUR,MINUTE,SECOND,TIMESTAMPADD,TIMESTAMPDIFF,DAYNAME,MONTHNAME,CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,EXTRACT |
REPLICATION_SKIP_TABLES | レプリケーション中にスキップされたテーブルを示します。 | |
REPLICATION_TIMECHECK_COLUMNS | レプリケーション中に更新判断のカラムとして使用するかどうかを、(指定された順に)チェックするカラムのリストを含む文字列の配列。 | |
IDENTIFIER_PATTERN | 識別子としてどの文字列が有効かを示す文字列値。 | |
SUPPORT_TRANSACTION | プロバイダーが、コミットやロールバックなどのトランザクションをサポートしているかどうかを示します。 | YES, NO |
DIALECT | 使用するSQL ダイアレクトを示します。 | |
KEY_PROPERTIES | Uniform データベースを特定するプロパティを示します。 | |
SUPPORTS_MULTIPLE_SCHEMAS | プロバイダー用に複数のスキームが存在するかどうかを示します。 | YES, NO |
SUPPORTS_MULTIPLE_CATALOGS | プロバイダー用に複数のカタログが存在するかどうかを示します。 | YES, NO |
DATASYNCVERSION | このドライバーにアクセスするために必要な、CData Sync のバージョン。 | Standard, Starter, Professional, Enterprise |
DATASYNCCATEGORY | このドライバーのCData Sync カテゴリ。 | Source, Destination, Cloud Destination |
SUPPORTSENHANCEDSQL | API で提供されている以上の、追加SQL 機能がサポートされているかどうか。 | true, false |
SUPPORTS_BATCH_OPERATIONS | バッチ操作がサポートされているかどうか。 | YES, NO |
SQL_CAP | このドライバーでサポートされているすべてのSQL 機能。 | select, insert, delete, update, transactions, orderby, oauth, assignedid, limit, like, bulkinsert, count, bulkdelete, bulkupdate, groupby, having, aggs, offset, replicate, countdistinct, joins, |
PREFERRED_CACHE_OPTIONS | 使用したいcacheOptions を指定する文字列値。 | |
ENABLE_EF_ADVANCED_QUERY | ドライバーがEntity Framework の高度なクエリをサポートしているかどうかを示します。サポートしていなければ、クエリはクライアントサイドで処理されます。 | YES, NO |
PSEUDO_COLUMNS | 利用可能な疑似カラムを示す文字列の配列。 | |
MERGE_ALWAYS | 値がtrue であれば、CData Sync 内でMerge Model が強制的に実行されます。 | true, false |
REPLICATION_MIN_DATE_QUERY | レプリケート開始日時を返すSELECT クエリ。 | |
REPLICATION_MIN_FUNCTION | サーバーサイドでmin を実行するために使用する式名を、プロバイダーが指定できるようになります。 | |
REPLICATION_START_DATE | レプリケート開始日を、プロバイダーが指定できるようになります。 | |
REPLICATION_MAX_DATE_QUERY | レプリケート終了日時を返すSELECT クエリ。 | |
REPLICATION_MAX_FUNCTION | サーバーサイドでmax を実行するために使用する式名を、プロバイダーが指定できるようになります。 | |
IGNORE_INTERVALS_ON_INITIAL_REPLICATE | 初回のレプリケートで、レプリケートをチャンクに分割しないテーブルのリスト。 | |
CHECKCACHE_USE_PARENTID | CheckCache 構文を親キーカラムに対して実行するかどうかを示します。 | true, false |
CREATE_SCHEMA_PROCEDURES | スキーマファイルの生成に使用できる、ストアドプロシージャを示します。 |
次のクエリは、WHERE 句で使用できる演算子を取得します。
SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'
WHERE 句では、個々のテーブルの制限や要件が異なる場合がありますので注意してください。詳しくは、データモデル セクションを参照してください。
Columns
Name | Type | Description |
NAME | String | SQL 構文のコンポーネント、またはサーバー上で処理できる機能。 |
VALUE | String | サポートされるSQL またはSQL 構文の詳細。 |