>
XQuery 開発者ガイド > XQuery - SQL マッピング参照
XQuery 開発者ガイド
XQuery - SQL マッピング参照
この付録では、リレーショナル データに関する BEA AquaLogic Data Services Platform (AquaLogic Data Services Platform) のコア サポートおよびベース サポートの詳細について説明します。この付録の内容は以下のとおりです。
以降の節には以下の情報が記載されています。
データベースの機能情報
ネイティブ RDBMS データ型のサポートおよび XQuery マッピング
関数および演算子プッシュダウン
キャスト演算プッシュダウン
その他の SQL 生成機能 (結合プッシュダウン サポートおよび結合のための SQL 構文を含む)
IBM DB2/NT 8
この節の表には、IBM DB2/NT 8 について XQuery エンジンが生成する、またはサポートするすべてのデータ型およびその他のマッピングが示されています。
データ型マッピング
表 B-1 は、サポートされるデータ型マッピングの一覧です。
表 B-1 IBM DB2 データ型マッピング
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xs:decimal (if s > 0), xs:integer (if s = 0)
|
|
|
|
|
LONG VARCHAR FOR BIT DATA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
関数および演算子プッシュダウン
次の表 (表 B-2) は、IBM DB2/NT8 RDBMS にプッシュダウンされる関数および演算子の一覧です。fn-bea:sql-like() 関数の 2 引数および 3 引数バージョンの詳細については、 fn-bea:sql-like を参照してください。
表 B-2 IBM DB2 関数および演算子
|
|
|
|
|
|
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
abs, ceiling, floor, round
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
concat, upper-case, lower-case, substring(2,3) , string-length, contains , starts-with 5, ends-with 5, fn-bea:sql-like(2,3) fn-bea:trim , fn-bea:trim-left 6, fn-bea:trim-right 6
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge on xs:dateTime, xs:date, xs:time
|
|
year-from-dateTime, year-from-date, month-from-dateTime, month-from-date, day-from-dateTime, day-from-date, hours-from-dateTime, hours-from-time, minutes-from-dateTime, minutes-from-time, seconds-from-dateTime, seconds-from-time, fn-bea:date-from-dateTime, fn-bea:time-from-dateTime
|
|
min, max, sum, avg, count, count(distinct-values)
|
|
empty, exists, subsequence
|
キャスト演算プッシュダウン
次の表 (表 B-3) は、サポートされるキャスト演算の一覧です。
その他の SQL 生成機能
次の表 (表 B-4) は、プッシュダウン可能な共通クエリ パターンの一覧です。「共通クエリ パターン」も参照してください。
表 B-4 IBM DB2 その他の SQL 生成機能
|
|
|
|
|
|
|
|
Semi-join (半結合)、Anti-semi-join
|
|
|
|
Order by: Empty (NULL) 順をサポートする場合
|
固定 (常に、NULL を先頭にソート)。empty least 修飾子付きの Order-by (XQuery のデフォルト) はプッシュダウンされない。
|
|
|
|
|
|
|
|
プッシュダウン可能 (GROUP BY 定数を使用)
|
|
|
Microsoft SQL Server 2000
この節の表には、Microsoft SQL Server 2000 について XQuery エンジンが生成する、またはサポートするすべてのデータ型およびその他のマッピングが示されています。
データ型マッピング
表 B-5 は Microsoft SQL Server 2000 についてサポートされているデータ型マッピングの一覧です。
表 B-5 SQL Server 2000 データ型マッピング
|
|
|
|
|
|
|
|
|
|
|
|
|
xs:decimal (if s > 0), xs:integer (if s = 0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
また、以下の XQuery データ型は、パラメータとして渡すか、プッシュされた関数により戻すことができます。
xs:date (xs:date を使用する関数および演算子については、表 B-6を参照してください)。xs:date は、データベースに送られる際ローカル タイムゾーンに変換されます。詳細については、日付/時間データ型の相違 : タイムゾーンおよび時間精度 を参照してください。
xdt:dayTimeDuration (詳細については、表 B-6 の「日付/時間演算」を参照してください。)
xdt:yearMonthDuration (詳細については、表 B-6 の「日付/時間演算」を参照してください)。
関数および演算子プッシュダウン
表 B-6は Microsoft SQL Server 2000 にプッシュダウンされる関数および演算子の一覧です (fn-bea:sql-like() 関数の 2 引数および 3 引数バージョン詳細については、fn-bea:sql-likeを参照してください)。
表 B-6 SQL Server 2000 関数および演算子プッシュダウン
|
|
|
|
|
|
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
abs, ceiling, floor, round
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
concat, upper-case, lower-case, substring(2,3) , string-length, contains , starts-with 5, ends-with 5, fn-bea:sql-like(2,3) 4, fn-bea:trim, fn-bea:trim-left, fn-bea:trim-right
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge on xs:dateTime, xs:date, xdt:yearMonthDuration, xdt:dayTimeDuration
|
|
year-from-dateTime, year-from-date, years-from-duration, month-from-dateTime, month-from-date, months-from-duration, day-from-dateTime, day-from-date, days-from-duration, hours-from-dateTime, hours-from-duration, minutes-from-dateTime, minutes-from-duration, seconds-from-dateTime, seconds-from-duration, fn-bea:date-from-dateTime
|
|
op:add-yearMonthDurations, op:add-dayTimeDurations, op:subtract-yearMonthDurations, op:subtract-dayTimeDurations, op:multiply-yearMonthDuration, op:multiply-dayTimeDuration, op:divide-yearMonthDuration, op:divide-dayTimeDuration, subtract-dateTimes-yielding-yearMonthDuration, subtract-dateTimes-yielding-dayTimeDuration, op:add-yearMonthDuration-to-dateTime, op:add-dayTimeDuration-to-dateTime, op:subtract-yearMonthDuration-from-dateTime, op:subtract-dayTimeDuration-from-dateTime, subtract-dates-yielding-yearMonthDuration, subtract-dates-yielding-dayTimeDuration, op:add-yearMonthDuration-to-date, op:add-dayTimeDuration-to-date, op:subtract-yearMonthDuration-from-date, op:subtract-dayTimeDuration-from-date
|
|
min, max, sum, avg, count, count(distinct-values)
|
|
empty, exists, subsequence
|
キャスト演算プッシュダウン
表 B-7 は、サポートされるキャスト演算の一覧です。
表 B-7 SQL Server 2000 キャスト演算
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
その他の SQL 生成機能
表 B-8 は、プッシュダウン可能な共通クエリ パターンの一覧です (詳細については、「共通クエリ パターン」 を参照してください)。
表 B-8 SQL Server 2000 その他の SQL 生成機能
|
|
|
|
|
|
|
|
Semi-join (半結合)、Anti-semi-join
|
|
|
|
Order by: Empty 順(NULL 順)
|
固定 (常に、NULL を最後にソート)。empty greatest 修飾子付きの Order-by はプッシュダウンされない。
|
|
|
|
|
|
|
|
|
|
|
Oracle 8.1.x
この節の表には、Oracle 8.1.x (Oracle 8i) について XQuery エンジンが生成する、またはサポートするすべてのデータ型およびその他のマッピングが示されています。
データ型マッピング
表 B-9 Oracle 8.1.x データ型マッピング
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xs:decimal (if s > 0), xs:integer (if s <=0)
|
|
|
|
|
|
|
|
|
また、以下の XQuery データ型は、パラメータとして渡すか、プッシュされた関数により戻すことができます。
xs:date (xs:date を使用する関数および演算子については、表 B-10 を参照してください)。
xdt:yearMonthDuration (詳細については、表 B-10 の「日付/時間演算」を参照してください)。
xs:integer サブ型(詳細については、表 B-10 の数値関連の関数および演算子を参照してください)。
関数および演算子プッシュダウン
次の表は、プッシュダウンされる関数および演算子の一覧です。fn-bea:sql-like() 関数の 2 引数および 3 引数バージョンの詳細については、fn-bea:sql-like を参照してください。
表 B-10 Oracle 8.1.x 関数および演算子プッシュダウン
|
|
|
|
|
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
abs, ceiling, floor, round
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
concat, upper-case , lower-case 3, substring(2,3) 3, string-length , contains , starts-with 5, ends-with 5, fn-bea:sql-like(2,3), fn-bea:trim, fn-bea:trim-left, fn-bea:trim-right
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge on xs:dateTime, xs:date, xdt:yearMonthDuration
|
|
year-from-dateTime, year-from-date, years-from-duration, month-from-dateTime, month-from-date, months-from-duration, day-from-dateTime, day-from-date, days-from-duration, hours-from-dateTime, minutes-from-dateTime, seconds-from-dateTime, fn-bea:date-from-dateTime
|
|
op:add-yearMonthDurations, op:subtract-yearMonthDurations, op:multiply-yearMonthDuration, op:divide-yearMonthDuration, subtract-dateTimes-yielding-yearMonthDuration, op:add-yearMonthDuration-to-dateTime, op:subtract-yearMonthDuration-from-dateTime, subtract-dates-yielding-yearMonthDuration, op:add-yearMonthDuration-to-date, op:subtract-yearMonthDuration-from-date
|
|
min, max, sum, avg, count, count(distinct-values)
|
|
empty, exists, subsequence
|
キャスト演算プッシュダウン
表 B-11 は、サポートされるキャスト演算の一覧です。
表 B-11 Oracle 8.1.x キャスト演算プッシュダウン
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
その他の SQL 生成機能
表 B-12 は、プッシュダウン可能な共通クエリ パターンの一覧です。詳細については、「共通クエリ パターン」を参照してください。
表 B-12 Oracle 8.1.x その他の SQL 生成機能
|
|
|
|
|
|
|
|
Semi-join (半結合)、Anti-semi-join
|
|
|
|
Order by: Empty 順(NULL 順)
|
動的、Order by プッシュダウンについては制約なし
|
|
|
|
|
|
|
|
プッシュダウン可能 (GROUP BY 定数を使用)
|
|
|
Oracle 9.x、10.x
この節の表には、Oracle 9.x (Oracle 9i) および Oracle 10.x (Oracle 10g) について XQuery エンジンが生成する、またはサポートするすべてのデータ型およびその他のマッピングが示されています。Oracleでは、空の文字列は NULL として処理されます。この文字列は XQuery セマンティクスから逸脱しており、プッシュダウンされた式に対し予期しない結果が導き出される可能性があります。
データ型マッピング
表 B-13 Oracle 9.x、10.x データ型マッピング
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xs:decimal (if s > 0), xs:integer (if s <=0)
|
|
|
|
|
|
|
|
|
TIMESTAMP WITH LOCAL TIMEZONE
|
|
|
|
|
|
|
|
また、これらの XQuery データ型は、パラメータとして渡すか、プッシュされた関数により戻すことができます。
xs:date (xs:date を使用する関数および演算子については、表 B-14 を参照してください)。
xs:integer サブ型(詳細については、表 B-14 の数値関連の関数および演算子を参照してください)。
関数および演算子プッシュダウン
表 B-14 Oracle 9.x および 10.x にプッシュダウンされる関数および演算子の一覧です。fn-bea:sql-like() 関数の 2 引数および 3 引数バージョンの詳細については、 fn-bea:sql-like を参照してください。
表 B-14 Oracle 9.x、10.x 関数および演算子プッシュダウン
|
|
|
|
|
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
abs, ceiling, floor, round
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
concat, upper-case , lower-case 3, substring(2,3) 3, string-length , contains , starts-with 5, ends-with 5, fn-bea:sql-like(2,3), fn-bea:trim, fn-bea:trim-left, fn-bea:trim-right
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge on xs:dateTime, xs:date, xdt:yearMonthDuration, xdt:dayTimeDuration
|
|
year-from-dateTime, year-from-date, years-from-duration, month-from-dateTime, month-from-date, months-from-duration, day-from-dateTime, day-from-date, days-from-duration, hours-from-dateTime, hours-from-duration, minutes-from-dateTime, minutes-from-duration, seconds-from-dateTime, seconds-from-duration, fn-bea:date-from-dateTime
|
|
op:add-yearMonthDurations, op:add-dayTimeDurations, op:subtract-yearMonthDurations, op:subtract-dayTimeDurations, op:multiply-yearMonthDuration, op:multiply-dayTimeDuration, op:divide-yearMonthDuration, op:divide-dayTimeDuration, subtract-dateTimes-yielding-yearMonthDuration, subtract-dateTimes-yielding-dayTimeDuration, op:add-yearMonthDuration-to-dateTime, op:add-dayTimeDuration-to-dateTime, op:subtract-yearMonthDuration-from-dateTime, op:subtract-dayTimeDuration-from-dateTime, subtract-dates-yielding-yearMonthDuration, subtract-dates-yielding-dayTimeDuration, op:add-yearMonthDuration-to-date, op:add-dayTimeDuration-to-date, op:subtract-yearMonthDuration-from-date, op:subtract-dayTimeDuration-from-date
|
|
min, max, sum, avg, count, count(distinct-values)
|
|
empty, exists, subsequence
|
キャスト演算プッシュダウン
表 B-15 は、プッシュダウン可能な共通クエリ パターンの一覧です。
表 B-15 Oracle 9.x、10.x キャスト演算
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
その他の SQL 生成機能
表 B-16 は、プッシュダウン可能な共通クエリ パターンの一覧です (詳細については、 「共通クエリ パターン」 を参照してください)。
表 B-16 Oracle 9.x、10.x その他の SQL 生成機能
|
|
|
|
|
|
|
|
Semi-join (半結合)、Anti-semi-join
|
|
|
|
Order by: Empty 順(NULL 順)
|
動的、Order by プッシュダウンについては制約なし
|
|
|
|
|
|
|
|
プッシュダウン可能 (GROUP BY 定数を使用)
|
|
|
Sybase 12.5.2 以上
この節の表には、Sybase 12.5.2 (以上) について XQuery エンジンが生成する、またはサポートするすべてのデータ型およびその他のマッピングが示されています。
この節の表を参照する際、Sybase が XQuery セマンティクスから逸脱しており (XQuery セマンティクス では空の文字列は無視されます)、空文字列はシングル スペースの文字列として扱われることに留意してください。
データ型マッピング
この表は、サポートされるすべてのデータ型マッピングを明示します。
表 B-17 Sybase 12.5.2 データ型マッピング
|
|
|
|
|
|
|
|
|
|
|
|
|
xs:decimal (if s > 0), xs:integer (if s == 0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
また、以下のデータ型は、パラメータとして渡すか、プッシュされた関数により戻すことができます。
xdt:dayTimeDuration
xdt:yearMonthDuration
詳細については、表内の日付/時間演算を参照してください。
関数および演算子プッシュダウン
表 B-18 は、ベース RDBMS にプッシュダウンされる関数および演算子の一覧です。(fn-bea:sql-like() 関数の 2 引数および 3 引数バージョンの詳細については、 fn-bea:sql-like を参照してください。
表 B-18 Sybase 12.5.2 関数および演算子プッシュダウン
|
|
|
|
|
|
|
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
abs, ceiling, floor, round
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
concat , upper-case, lower-case, substring(2,3), string-length, contains , starts-with 6, ends-with 6, fn-bea:sql-like(2,3), fn-bea:trim, fn-bea:trim-left, fn-bea:trim-right
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge on xs:dateTime, xs:date, xs:time, xdt:yearMonthDuration, xdt:dayTimeDuration
|
|
year-from-dateTime, year-from-date, years-from-duration, month-from-dateTime, month-from-date, months-from-duration, day-from-dateTime, day-from-date, days-from-duration, hours-from-dateTime, hours-from-time, hours-from-duration, minutes-from-dateTime, minutes-from-time, minutes-from-duration, seconds-from-dateTime, seconds-from-time, seconds-from-duration, fn-bea:date-from-dateTime, fn-bea:time-from-dateTime
|
|
op:add-yearMonthDurations, op:subtract-yearMonthDurations, op:multiply-yearMonthDuration, op:divide-yearMonthDuration, op:add-dayTimeDurations, op:subtract-dayTimeDurations, op:multiply-dayTimeDuration, op:divide-dayTimeDuration, op:add-yearMonthDuration-to-dateTime, op:add-yearMonthDuration-to-date, op:subtract-yearMonthDuration-from-dateTime, op:subtract-yearMonthDuration-from-date, op:add-dayTimeDuration-to-dateTime, op:add-dayTimeDuration-to-date, op:subtract-dayTimeDuration-from-dateTime, op:subtract-dayTimeDuration-from-date, fn:subtract-dateTimes-yielding-yearMonthDuration, fn:subtract-dates-yielding-yearMonthDuration, fn:subtract-dateTimes-yielding-dayTimeDuration, fn:subtract-dates-yielding-dayTimeDuration
|
|
min, max, sum, avg, count, count(distinct-values)
|
|
|
キャスト演算プッシュダウン
The 表 B-19 は、サポートされるキャスト演算の一覧です。
表 B-19 Sybase 12.5.2 キャスト演算プッシュダウン
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
その他の SQL 生成機能
表 B-20 は、プッシュダウン可能な共通クエリ パターンの一覧です。詳細については、「共通クエリ パターン」 を参照してください。
表 B-20 Sybase 12.5.2 その他の SQL 生成機能
|
|
|
|
|
|
|
|
Semi-join (半結合)、Anti-semi-join
|
|
|
|
Order by: Empty 順(NULL 順)
|
固定 (常に、NULL を最後にソート)。empty greatest 修飾子付きの Order-by はプッシュダウンされない。
|
|
|
|
|
|
|
|
|
|
|
Pointbase 4.4 以上
この節の表には、Pointbase について XQuery エンジンが生成する、またはサポートするすべてのデータ型およびその他のマッピングが示されています。
データ型マッピング
表 B-21 Pointbase 4.4 データ型マッピング
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xs:decimal (if s > 0), xs:integer (if s == 0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
関数および演算子プッシュダウン
表 B-22 は、Pointbase にプッシュダウンされる関数および演算子の一覧です。fn-bea:sql-like() 関数の 2 引数および 3 引数バージョンの詳細については、fn-bea:sql-like を参照してください。
表 B-22 Pointbase 4.4 関数および演算子プッシュダウン
|
|
|
|
|
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
concat,upper-case, lower-case, substring(2,3), string-length, contains , starts-with 3, ends-with 3, fn-bea:sql-like(2,3) fn-bea:trim, fn-bea:trim-left, fn-bea:trim-right
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge on xs:dateTime, xs:date, xs:time
|
|
year-from-dateTime, year-from-date, month-from-dateTime, month-from-date, day-from-dateTime, day-from-date, hours-from-dateTime, hours-from-time, minutes-from-dateTime, minutes-from-time, seconds-from-dateTime, seconds-from-time, fn-bea:date-from-dateTime
|
|
min, max, sum, avg, count, count(distinct-values)
|
|
|
キャスト演算プッシュダウン
表 B-19 は、サポートされるキャスト演算の一覧です。
表 B-23 Pointbase 4.4 キャスト演算プッシュダウン
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
その他の SQL 生成機能
表 B-24 は、プッシュダウン可能な共通クエリ パターンの一覧です (詳細については、「共通クエリ パターン」 を参照してください)。
表 B-24 Pointbase 4.4 その他の SQL 生成機能
|
|
|
|
|
|
|
プッシュダウン可能 (部分的)、SQL-92 構文。単純な外部結合のみプッシュされる。サブクエリが必要な外部結合 (たとえば、右ブランチに where 句が含まれる場合など) はプッシュされない。
|
Semi-join (半結合)、Anti-semi-join
|
|
|
|
Order by: Empty 順(NULL 順)
|
固定 (常に、NULL を最後にソート)。empty greatest 修飾子付きの Order-by はプッシュダウンされない。
|
|
|
|
プッシュダウン可能 (Group by 関数の式はサポートされず、group by column のみプッシュされる。)
|
|
|
|
|
|
|
ベース (汎用) RDBMS サポート
各 JDBC ドライバは、それが関連付けられている RDBMS に内蔵するプロパティおよび機能に関する情報を提供します。メタデータのインポート処理中、AquaLogic Data Services Platform では、基本プロパティおよび機能に関し、設定されたデータ ソースの JDBC ドライバをクエリします。取得した情報の多くは、データ サービス定義ファイル (.ds
) のメタデータ セクションに格納されます。詳細については、「AquaLogic Data Services Platform アノテーションについて」 を参照してください。
データベースの機能情報
運用 JDBC ドライバから表 B-25 に一覧されているデータベース機能が取得され、.ds
(データ サービス) 定義ファイル内にプロパティとして格納されます。
表 B-25 JDBC ドライバから取得されたデータベース プロパティ
|
|
|
supportsSchemasInDataManipulation
|
SQL ステートメントにスキーマ名を含めることができるかどうかを識別するブール
|
|
supportsCatalogsInDataManipulation
|
SQL によりデータベース カタログを呼び出すことができるかどうかを識別するブール
|
|
|
データベースにおいて LIKE 式内の ESCAPE 句がサポートされるかどうかを識別するブール
|
|
|
|
|
|
(オフセット) 識別子ラベルを示すための区切り記号として使用される文字列
|
|
|
カタログ (またはスキーマ) とテーブル名間の区切り記号 (セパレータ) として使用される文字列
|
|
AquaLogic Data Services Platform の XQuery エンジンは、通常、特殊文字を適切に処理するためにオブジェクトの名前 (識別子) を引用します。identifierQuote プロパティ (表を参照) は、JDBC ドライバから取得されます。ただし、各 RDBMS がそれぞれ、以下のような異なるデータベース オブジェクト名の異なる識別子を使用することもあります。
必要に応じて、各タイプの識別子 (表を参照) について、識別子引用プロパティを手動で上書きすることができます。
通常は、JDBC ドライバから取得された identifierQuote プロパティが使用されます。ただし、特定の引用プロパティが利用可能であり、RDBMS がそれを使用する場合は、.ds ファイル内でアノテーション設定を修正することができます (これらのプロパティの詳細については、 「リレーショナル データ サービス アノテーション」 を参照してください)。特定の引用プロパティ (表 B-26 を参照) が利用可能な場合、XQuery エンジン (metadata importer sub-system) ではそれを使用します。利用可能でない場合は、JDBC から提供された identifierQuote が使用されます。
このルールのただ 1 つの例外は、Sybase 12.5.2 以前の Sybase バージョンについてです。これらのバージョンは、ベース プラットフォームとして処理されます。JDBC ドライバが identifierQuote プロパティについて二重引用符 ("") を戻しても、Sybase ではカタログに対し引用符は使用しません。XQuery エンジンでは、空の文字列に対し自動で catalogQuote プロパティを設定することで、この不一致に対応します。
表 B-26 データベース オブジェクトの省略可能な引用プロパティ
|
|
|
|
カタログの名前を示すための引用符として使用される特殊文字
|
|
|
スキーマの名前を示すための引用符として使用される特殊文字
|
|
|
テーブルの名前を示すための引用符として使用される特殊文字
|
|
|
カラムの名前を示すための引用符として使用される特殊文字
|
|
データ型マッピング
SQL を XQuery データ型にマッピングする際、XQuery エンジンではまず JDBC タイプ コードをチェックします。タイプ コードが XQuery 型に対応している場合は、AquaLogic Data Services Platform は一致するネイティブ タイプ名を使用します。一致するタイプ コードまたはタイプ名がない場合、カラムは無視されます。表 B-27 は、このマッピングを示したものです。
表 B-27 ベース プラットフォーム データ型マッピング (JDBC<->XQuery 等価)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xs:decimal (if s > 0), xs:integer (if s =0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xs:decimal (if s > 0), xs:integer (if s =0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AquaLogic Data Services Platform は、ネイティブ データ型名を使用して適切な XQuery データ型にマップします。
|
|
表 B-28 は、ベース RDBMS にプッシュダウンされる関数および演算子の一覧です。fn-bea:sql-like() 関数の 2 引数および 3 引数バージョンの詳細については、fn-bea:sql-like を参照してください。
表 B-28 ベース プラットフォーム 関数および演算子
|
|
|
|
|
|
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge
|
|
contains , starts-with 4, ends-with 4, fn-bea:sql-like(2), fn-bea:sql-like(3), 4 upper-case, lower-case
|
|
=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge on xs:dateTime, xs:date, xs:time
|
|
|
キャスト演算プッシュダウン
ベース RDBMS については、キャスト演算はプッシュダウンされません。
その他の SQL 生成機能
表 B-29 には、その他の SQL プッシュダウン機能が示されています。これらは、「共通クエリ パターン」に記載されています。
表 B-29 ベース プラットフォーム SQL 生成機能
|
|
|
|
|
|
|
|
Semi-join (半結合)、Anti-semi-join
|
|
|
|
Order by: Empty (NULL) 順をサポートする場合
|
|
|
|
|
|
|
|
|
|
|
|