Does the dialect require that temporary table DDL statements occur in isolation from other statements? This would be the case if the creation would cause any current transaction to get committed implicitly.

Namespace: NHibernate.Dialect
Assembly: NHibernate (in NHibernate.dll) Version: 3.2.0.4000 (3.2.0.4000)

Syntax

C#
public override Nullable<bool> PerformTemporaryTableDDLInIsolation()
Visual Basic
Public Overrides Function PerformTemporaryTableDDLInIsolation As Nullable(Of Boolean)
Visual C++
public:
virtual Nullable<bool> PerformTemporaryTableDDLInIsolation() override

Return Value

see the result matrix above.

Remarks

JDBC defines a standard way to query for this information via the {@link java.sql.DatabaseMetaData#dataDefinitionCausesTransactionCommit()} method. However, that does not distinguish between temporary table DDL and other forms of DDL; MySQL, for example, reports DDL causing a transaction commit via its driver, even though that is not the case for temporary table DDL.

Possible return values and their meanings:

  • {@link Boolean#TRUE} - Unequivocally, perform the temporary table DDL in isolation.
  • {@link Boolean#FALSE} - Unequivocally, do not perform the temporary table DDL in isolation.
  • null - defer to the JDBC driver response in regards to {@link java.sql.DatabaseMetaData#dataDefinitionCausesTransactionCommit()}

See Also