Kinetica   C#   API  Version 7.2.3.1
KineticaAdo.KineticaTransaction Class Reference

Provides ADO.NET transaction API compatibility for Kinetica. More...

Inherits DbTransaction.

Public Member Functions

 KineticaTransaction (KineticaConnection connection, IsolationLevel isolationLevel)
 
override void Commit ()
 Commits the transaction. More...
 
override async Task CommitAsync (CancellationToken cancellationToken=default)
 Asynchronously commits the transaction. More...
 
override void Rollback ()
 Rolls back the transaction. More...
 

Protected Member Functions

override void Dispose (bool disposing)
 

Protected Attributes

override DbConnection DbConnection => _connection
 

Properties

override IsolationLevel IsolationLevel [get]
 Gets the isolation level for this transaction. More...
 

Detailed Description

Provides ADO.NET transaction API compatibility for Kinetica.

IMPORTANT: Kinetica does not support transactions.

This class exists solely for API compatibility with ADO.NET patterns and tools that expect transaction support. It provides NO transactional guarantees:

  • No Atomicity: Each SQL command executes independently and is immediately committed.
  • No Isolation: Other connections can see changes immediately after each command executes.
  • No Rollback: The Rollback method is a no-op; already-executed commands cannot be undone.
  • IsolationLevel Ignored: The isolation level parameter is accepted but has no effect.

Behavior:

  • Commit: Flushes any pending batch inserts (if batch mode is enabled) and marks the transaction as completed.
  • Rollback: Marks the transaction as completed without any effect on already-executed commands.

If your application requires true transactional semantics, you must implement application-level compensation logic or use a different database that supports transactions.

Definition at line 4326 of file KineticaAdo.cs.

Constructor & Destructor Documentation

◆ KineticaTransaction()

KineticaAdo.KineticaTransaction.KineticaTransaction ( KineticaConnection  connection,
IsolationLevel  isolationLevel 
)
inline

Definition at line 4331 of file KineticaAdo.cs.

Member Function Documentation

◆ Commit()

override void KineticaAdo.KineticaTransaction.Commit ( )
inline

Commits the transaction.

Note: Since Kinetica does not support transactions, this method only flushes any pending batch inserts (if batch mode is enabled) and marks the transaction as completed. All commands executed within this transaction have already been committed individually when they were executed.

Definition at line 4357 of file KineticaAdo.cs.

◆ CommitAsync()

override async Task KineticaAdo.KineticaTransaction.CommitAsync ( CancellationToken  cancellationToken = default)
inline

Asynchronously commits the transaction.

Note: Since Kinetica does not support transactions, this method only flushes any pending batch inserts (if batch mode is enabled) and marks the transaction as completed. All commands executed within this transaction have already been committed individually when they were executed.

Definition at line 4374 of file KineticaAdo.cs.

◆ Dispose()

override void KineticaAdo.KineticaTransaction.Dispose ( bool  disposing)
inlineprotected

Definition at line 4417 of file KineticaAdo.cs.

◆ Rollback()

override void KineticaAdo.KineticaTransaction.Rollback ( )
inline

Rolls back the transaction.

WARNING: This method is a no-op. Kinetica does not support rollback. Any commands that have already been executed are permanently committed and cannot be undone. This method only marks the transaction as completed for API compatibility.

If your application requires rollback capability, you must implement application-level compensation logic (e.g., delete inserted records, restore updated values from a backup).

Definition at line 4407 of file KineticaAdo.cs.

Member Data Documentation

◆ DbConnection

override DbConnection KineticaAdo.KineticaTransaction.DbConnection => _connection
protected

Definition at line 4346 of file KineticaAdo.cs.

Property Documentation

◆ IsolationLevel

override IsolationLevel KineticaAdo.KineticaTransaction.IsolationLevel
get

Gets the isolation level for this transaction.

Note: This value is stored for API compatibility only. Kinetica does not support transaction isolation levels.

Definition at line 4344 of file KineticaAdo.cs.


The documentation for this class was generated from the following file: