Show / Hide Table of Contents

Class OracleOperations

Database operations for Oracle

Inheritance
object
DatabaseOperations
OracleOperations
Implements
IDatabaseOperations
Inherited Members
DatabaseOperations._currentDialect
DatabaseOperations._allowTravelTransactionLog
DatabaseOperations._ttlFlags
DatabaseOperations.GetCurrent()
DatabaseOperations.GetSpecific(string, string)
DatabaseOperations.SetOptions(bool, TtlFlags)
DatabaseOperations.TruncateTableAsync(SoTable, TruncateOptions, bool, CancellationToken)
DatabaseOperations.WipeAndImportTableAsync(SoTable, IAsyncEnumerable<object[]>, CancellationToken)
DatabaseOperations.WipeAndImportTableAsync(SoTable, IEnumerable<object[]>, CancellationToken)
DatabaseOperations.ImportTableAsync(SoTable, IAsyncEnumerable<object[]>, List<int>, CancellationToken)
DatabaseOperations.BulkDeleteAsync(Select, CancellationToken)
DatabaseOperations.BulkDeleteAsync(SoTable, int[])
DatabaseOperations.NonLoggedMassUpdateAsync(Select, Dictionary<FieldInfo, object>, CancellationToken)
DatabaseOperations.NonLoggedMassUpdate(int[], Dictionary<FieldInfo, object>)
DatabaseOperations.GetUserAdmin()
DatabaseOperations.GetTableAdmin()
DatabaseOperations.GetDbConnectionForUserAdmin()
DatabaseOperations.ExecuteNonQueryAsync(string, CancellationToken)
DatabaseOperations.GetConnectionString()
DatabaseOperations.NumShipoutThreads
DatabaseOperations.ShipoutBatchSize
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: SuperOffice.Data.Dialect
Assembly: SoDataBase.BusinessLogic.dll
Syntax
public class OracleOperations : DatabaseOperations, IDatabaseOperations

Methods

GetDatabaseSize()

Get the total database size (including any unallocated space inside the db, etc) in megabytes

Declaration
public override int GetDatabaseSize()
Returns
Type Description
int
Overrides
DatabaseOperations.GetDatabaseSize()

GetDatabaseVersion()

Database operations for Oracle

Declaration
public override string GetDatabaseVersion()
Returns
Type Description
string
Overrides
DatabaseOperations.GetDatabaseVersion()

GetIdentityFromAutoIncrement(SoTable)

Obtain a new row ID for a table with database-specific autoincrement

Declaration
public override int GetIdentityFromAutoIncrement(SoTable soTable)
Parameters
Type Name Description
SoTable soTable
Returns
Type Description
int
Overrides
DatabaseOperations.GetIdentityFromAutoIncrement(SoTable)
Remarks

Here on Oracle, we query the sequence object for the table for its next value; then we insert a dummy row to be compatible with the update-instead-of-insert logic

GetKilobytes(SoTable)

Database operations for Oracle

Declaration
public override int GetKilobytes(SoTable table)
Parameters
Type Name Description
SoTable table
Returns
Type Description
int
Overrides
DatabaseOperations.GetKilobytes(SoTable)

GetRowCountAsync(SoTable, CancellationToken)

Get count of rows in the table (as quickly as possible). Not guaranteed to return exact results.

Declaration
public override Task<int> GetRowCountAsync(SoTable table, CancellationToken cancellationToken = default)
Parameters
Type Name Description
SoTable table

Table we want counts for

CancellationToken cancellationToken
Returns
Type Description
Task<int>

Approximate row count.

Overrides
DatabaseOperations.GetRowCountAsync(SoTable, CancellationToken)

InnerTruncateTableAsync(SoTable, TruncateOptions)

Throw away all the rows in a table. On most databases this is an operation that is very fast, but it is not logged in the database transaction log and so cannot be rolled back.

It is also not logged in the superoffice traveltransactionlog, so it is not replicated, and should generally not be used on tables that are subject to replication.
Declaration
public override Task InnerTruncateTableAsync(SoTable table, TruncateOptions options = TruncateOptions.DeallocateStorage)
Parameters
Type Name Description
SoTable table
TruncateOptions options
Returns
Type Description
Task
Overrides
DatabaseOperations.InnerTruncateTableAsync(SoTable, TruncateOptions)

WriteBulkRowsAsync(BulkImportInfo, CancellationToken)

Write rows using the underlying database implementation's bulk import functionality.

Declaration
protected override Task WriteBulkRowsAsync(DatabaseOperations.BulkImportInfo importInfo, CancellationToken cancellationToken)
Parameters
Type Name Description
DatabaseOperations.BulkImportInfo importInfo
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
DatabaseOperations.WriteBulkRowsAsync(DatabaseOperations.BulkImportInfo, CancellationToken)
Remarks

Read more about the OracleBulkCopy class here: https://docs.oracle.com/en/database/oracle/oracle-database/19/odpnt/featBulkCopy.html

Implements

IDatabaseOperations

Extension Methods

EnumUtil.MapEnums<From, To>(From)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top