org.seasar.doma.jdbc.dialect
インタフェース Dialect

既知の実装クラスの一覧:
Db2Dialect, H212126Dialect, H2Dialect, HsqldbDialect, Mssql2008Dialect, MssqlDialect, MysqlDialect, OracleDialect, PostgresDialect, SqliteDialect, StandardDialect

public interface Dialect

RDBMS の方言です。RDBMS の差異を吸収します。

このインタフェースの実装はスレッドセーフでなければいけません。

作成者:
taedium

メソッドの概要
 String applyQuote(String name)
          引用符で囲みます。
 ScriptBlockContext createScriptBlockContext()
          スクリプト内のSQLブロックのコンテキストを生成します。
 ExpressionFunctions getExpressionFunctions()
          SQLのコメント式で使用可能な関数群を返します。
 Sql<?> getIdentitySelectSql(String qualifiedTableName, String columnName)
          データベースで生成されたIDENTITYを取得するためのSQLを返します。
 JdbcMappingVisitor getJdbcMappingVisitor()
          Wrapper をJDBCの型とマッピングするビジターを返します。
 String getName()
          名前を返します。
 JdbcType<ResultSet> getResultSetType()
          ResultSetJdbcType を返します。
 Throwable getRootCause(SQLException sqlException)
          SQL例外の根本原因を返します。
 String getScriptBlockDelimiter()
          スクリプト内のSQLブロックの区切り文字を返します。
 Sql<?> getSequenceNextValSql(String qualifiedSequenceName, long allocationSize)
          シーケンスの次の値を取得するためのSQLを返します。
 SqlLogFormattingVisitor getSqlLogFormattingVisitor()
          SQLのバインド変数にマッピングされる Wrapper をログ用のフォーマットされた文字列へと変換するビジターを返します。
 boolean includesIdentityColumn()
          INSERT文にIDENTITYカラムを含むかどうかを返します。
 boolean isUniqueConstraintViolated(SQLException sqlException)
          一意制約違反かどうかを返します。
 String removeQuote(String name)
          引用符を取り除きます。
 boolean supportsAutoGeneratedKeys()
          Statement.getGeneratedKeys() をサポートしているかどうかを返します。
 boolean supportsBatchUpdateResults()
          Statement.executeBatch() が更新件数を返すことをサポートしているかどうかを返します。
 boolean supportsIdentity()
          IDENTITYをサポートしているかどうかを返します。
 boolean supportsResultSetReturningAsOutParameter()
          ストアドプロシージャ-やストアドファンクションで ResultSet をOUTパラメータとして戻すことをサポートしてるかどうかを返します。
 boolean supportsSelectForUpdate(SelectForUpdateType type, boolean withTargets)
          悲観的排他制御をサポートしているかどうかを返します。
 boolean supportsSequence()
          シーケンスをサポートするかどうかを返します。
 SqlNode transformSelectSqlNode(SqlNode sqlNode, SelectOptions options)
          SQLノードを変換します。
 SqlNode transformSelectSqlNodeForGettingCount(SqlNode sqlNode)
          件数取得のためにSQLノードを変換します。
 

メソッドの詳細

getName

String getName()
名前を返します。

戻り値:
名前

transformSelectSqlNode

SqlNode transformSelectSqlNode(SqlNode sqlNode,
                               SelectOptions options)
SQLノードを変換します。

パラメータ:
sqlNode - SQLノード
options - オプション
戻り値:
変換されたSQLノード
例外:
DomaNullPointerException - 引数のいずれかが null の場合
JdbcException - オプションの指定に対応するSQLの変換がサポートされていない場合

transformSelectSqlNodeForGettingCount

SqlNode transformSelectSqlNodeForGettingCount(SqlNode sqlNode)
件数取得のためにSQLノードを変換します。

パラメータ:
sqlNode - SQLノード
戻り値:
変換されたSQLノード
例外:
DomaNullPointerException - 引数のいずれかが null の場合

isUniqueConstraintViolated

boolean isUniqueConstraintViolated(SQLException sqlException)
一意制約違反かどうかを返します。

パラメータ:
sqlException - SQL例外
戻り値:
一意制約違反ならば true
例外:
DomaNullPointerException - sqlExceptionnull の場合

includesIdentityColumn

boolean includesIdentityColumn()
INSERT文にIDENTITYカラムを含むかどうかを返します。

戻り値:
含む場合 true

supportsIdentity

boolean supportsIdentity()
IDENTITYをサポートしているかどうかを返します。

戻り値:
サポートしている場合 true

supportsSequence

boolean supportsSequence()
シーケンスをサポートするかどうかを返します。

戻り値:
サポートしている場合 true

supportsAutoGeneratedKeys

boolean supportsAutoGeneratedKeys()
Statement.getGeneratedKeys() をサポートしているかどうかを返します。

戻り値:
サポートしている場合 true

supportsBatchUpdateResults

boolean supportsBatchUpdateResults()
Statement.executeBatch() が更新件数を返すことをサポートしているかどうかを返します。

戻り値:
サポートしている場合 true

supportsSelectForUpdate

boolean supportsSelectForUpdate(SelectForUpdateType type,
                                boolean withTargets)
悲観的排他制御をサポートしているかどうかを返します。

パラメータ:
type - 悲観的排他制御の種別
withTargets - ロックの対象が指定されている場合 true
戻り値:
サポートしている場合 true

supportsResultSetReturningAsOutParameter

boolean supportsResultSetReturningAsOutParameter()
ストアドプロシージャ-やストアドファンクションで ResultSet をOUTパラメータとして戻すことをサポートしてるかどうかを返します。

戻り値:
サポートしている場合 true

getIdentitySelectSql

Sql<?> getIdentitySelectSql(String qualifiedTableName,
                            String columnName)
データベースで生成されたIDENTITYを取得するためのSQLを返します。

supportsIdentity()true を返す場合にのみ呼び出し可能です。

パラメータ:
qualifiedTableName - テーブルの完全修飾名
columnName - IDENTITYカラムの名前
戻り値:
IDENTITYを取得するためのSQL
例外:
DomaNullPointerException - 引数のいずれかが null の場合

getSequenceNextValSql

Sql<?> getSequenceNextValSql(String qualifiedSequenceName,
                             long allocationSize)
シーケンスの次の値を取得するためのSQLを返します。

supportsSequence()true を返す場合にのみ呼び出し可能です。

パラメータ:
qualifiedSequenceName - シーケンスの完全修飾名
allocationSize - 割り当てサイズ
戻り値:
シーケンスの次の値を取得するためのSQL
例外:
DomaNullPointerException - qualifiedSequenceNamenull の場合

getResultSetType

JdbcType<ResultSet> getResultSetType()
ResultSetJdbcType を返します。

supportsResultSetReturningAsOutParameter()true を返す場合にのみ呼び出し可能です。

戻り値:
ResultSetJdbcType

applyQuote

String applyQuote(String name)
引用符で囲みます。

パラメータ:
name - テーブルやカラムの名前
戻り値:
name を引用符で囲んだ値

removeQuote

String removeQuote(String name)
引用符を取り除きます。

パラメータ:
name - テーブルやカラムの名前
戻り値:
name から引用符を除去した値

getRootCause

Throwable getRootCause(SQLException sqlException)
SQL例外の根本原因を返します。

パラメータ:
sqlException - SQL例外
戻り値:
根本原因
例外:
DomaNullPointerException - sqlExceptionnull の場合

getJdbcMappingVisitor

JdbcMappingVisitor getJdbcMappingVisitor()
Wrapper をJDBCの型とマッピングするビジターを返します。

戻り値:
Wrapper をJDBCの型とマッピングするビジター

getSqlLogFormattingVisitor

SqlLogFormattingVisitor getSqlLogFormattingVisitor()
SQLのバインド変数にマッピングされる Wrapper をログ用のフォーマットされた文字列へと変換するビジターを返します。

戻り値:
SQLのバインド変数にマッピングされる Wrapper をログ用のフォーマットされた文字列へと変換するビジター

getExpressionFunctions

ExpressionFunctions getExpressionFunctions()
SQLのコメント式で使用可能な関数群を返します。

戻り値:
SQLのコメント式で使用可能な関数群

createScriptBlockContext

ScriptBlockContext createScriptBlockContext()
スクリプト内のSQLブロックのコンテキストを生成します。

戻り値:
スクリプトのSQLブロックのコンテキスト
導入されたバージョン:
1.7.0

getScriptBlockDelimiter

String getScriptBlockDelimiter()
スクリプト内のSQLブロックの区切り文字を返します。

戻り値:
スクリプトのブロックの区切り文字
導入されたバージョン:
1.7.0


Copyright © 2009-2014 The Seasar Foundation. All Rights Reserved.