Sparksee 6.1.0
STSSparksee Class Reference

Sparksee class. More...

#include <Sparksee.h>

Inheritance diagram for STSSparksee:
Inheritance graph
Collaboration diagram for STSSparksee:
Collaboration graph

Instance Methods

(id) - initWithConfig:
 Creates a new instance.
(STSDatabase *) - create:alias:
 Creates a new Database instance.
(STSDatabase *) - createWithConfig:alias:config:
 Creates a new Database instance.
(STSDatabase *) - open:readOnly:
 Opens an existing Database instance.
(STSDatabase *) - openWithConfig:readOnly:config:
 Opens an existing Database instance.
(STSDatabase *) - restore:backupFile:
 Restores a Database from a backup file.
(STSDatabase *) - restoreWithConfig:backupFile:config:
 Restores a Database from a backup file.
(STSDatabase *) - restoreEncryptedBackup:backupFile:keyInHex:ivInHex:
 Restores a Database from an encrypted backup file.
(STSDatabase *) - restoreEncryptedBackupWithConfig:backupFile:config:keyInHex:ivInHex:
 Restores a Database from an encrypted backup file.
(BOOL) - verifyChecksums:
 Verifies the Checksum integrity of the given image file and it's recovery log file.
(BOOL) - addChecksums:
 Converts a database WITHOUT checksums into a database WITH checksums.
(BOOL) - removeChecksums:
 Converts a database WITH checksums into a database WITHOUT checksums.
(BOOL) - encrypt:
 Converts a database WITHOUT encryption into an encrypted database.
(BOOL) - decrypt:
 Converts a database WITH encryption into a database WITHOUT encryption.
(void) - resizeInMemoryPool:
 Resizes the in memory pool allocator.
(long long) - getInMemoryPoolCapacity
 Gets the capacity of the in-memory pool (in Megabytes).
(void) - rebuildDatabase:config:minimizeDisk:
 Rebuild the database from scratch with the same data.
(void) - close
 Closes the Sparksee instance.
(BOOL) - isClosed
 Check if the Sparksee instance is closed.

Class Methods

(NSString *) + getVersion
 Sparksee version.

Detailed Description

Sparksee class.

All Sparksee programs must have one single Sparksee instance to manage one or more Database instances.

This class allows for the creation of new Databases or open an existing one.

Author
Sparsity Technologies http://www.sparsity-technologies.com

Method Documentation

◆ addChecksums:

- (BOOL) addChecksums: (NSString *) path

Converts a database WITHOUT checksums into a database WITH checksums.

Any error found is logged. The database (and it's recovery log if present) does NOT have checksums. sparksee::gdb::FileNotFoundExceptionsparksee::gdb::Error

Parameters
pathThe path to the database image file
Returns
Returns true if the checksum could be added or false otherwise.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionnull

◆ create:alias:

- (STSDatabase *) create: (NSString *) path
alias: (NSString *) alias 

Creates a new Database instance.

Errorfor other issues.

Parameters
path[in] Database storage file.
alias[in] Database alias name.
Returns
A Database instance.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionIf the given file cannot be created.

◆ createWithConfig:alias:config:

- (STSDatabase *) createWithConfig: (NSString *) path
alias: (NSString *) alias
config: (STSSparkseeConfig *) config 

Creates a new Database instance.

Errorfor other issues.

Parameters
path[in] Database storage file.
alias[in] Database alias name.
config[in] Use a specific configuration instead of the one in this Sparksee
Returns
A Database instance.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionIf the given file cannot be created.

◆ decrypt:

- (BOOL) decrypt: (NSString *) path

Converts a database WITH encryption into a database WITHOUT encryption.

Any error found is logged. The database (and it's recovery log if present) is encrypted. The current encryption had been configured using SparkseeConfig. sparksee::gdb::FileNotFoundExceptionsparksee::gdb::Error

Parameters
pathThe path to the database image file
Returns
Returns true if the database could be unencrypted. The errors are returned with an exception.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionnull

◆ encrypt:

- (BOOL) encrypt: (NSString *) path

Converts a database WITHOUT encryption into an encrypted database.

Any error found is logged. The database (and it's recovery log if present) is NOT encrypted. The encryption had already been configured using SparkseeConfig. sparksee::gdb::FileNotFoundExceptionsparksee::gdb::Error

Parameters
pathThe path to the database image file
Returns
Returns true if the database could be encrypted. The errors are returned with an exception.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionnull

◆ getInMemoryPoolCapacity

- (long long) getInMemoryPoolCapacity

Gets the capacity of the in-memory pool (in Megabytes).

Returns
Returns the capacity of the in memory pool

References getInMemoryPoolCapacity.

Referenced by getInMemoryPoolCapacity.

◆ initWithConfig:

- (id) initWithConfig: (STSSparkseeConfig *) config

Creates a new instance.

Parameters
config[in/out] Sparksee configuration (may be updated).

◆ open:readOnly:

- (STSDatabase *) open: (NSString *) path
readOnly: (BOOL) readOnly 

Opens an existing Database instance.

Errorfor other issues.

Parameters
path[in] Database storage file.
readOnly[in] If TRUE, open Database in read-only mode.
Returns
A Database instance.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionIf the given file does not exist.

◆ openWithConfig:readOnly:config:

- (STSDatabase *) openWithConfig: (NSString *) path
readOnly: (BOOL) readOnly
config: (STSSparkseeConfig *) config 

Opens an existing Database instance.

The provided configuration will be used for all the database settings but not for the license, which must already be properly setup in this class. Errorfor other issues.

Parameters
path[in] Database storage file.
readOnly[in] If TRUE, open Database in read-only mode.
config[in] Use a specific configuration instead of the one in this Sparksee
Returns
A Database instance.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionIf the given file does not exist.

◆ rebuildDatabase:config:minimizeDisk:

- (void) rebuildDatabase: (NSString *) path
config: (STSSparkseeConfig *) config
minimizeDisk: (BOOL) minimizeDisk 

Rebuild the database from scratch with the same data.

It will create a new database on the same file with the same data but rebuilt from scratch, so the internal OIDs may change and the storage usage may be compacted.

It's the equivalent to extract a backup of the data and restore it. This operation can take a long time and the result file should be smaller than the original if there had been data removals or the data was not loaded in the most optimal order. But the file size could also end up being slightly bigger the the original in some cases (the data creation in the database was optimal and nothing had beed removed).

WARNING: If anything goes wrong while the database is being rebuilt you may lose the database. The data should not be lost, but it may require an additional process to recover it.

To avoid data loss, the next open after a failed rebuild operation will attempt to automatically recover the database by the fastest solution available (restoring the original file, finishing the almost completed rebuild or restoring a backup).

The source database is also kept until the rebuilt database is available to reduce the recovery time after a rebuild failure and avoid data loss risks. But if reducing the temporary disk usage is more important, you can use the minimizeDisk to delete it as soon as possible instead.

The final rebuilt database size will be the same whether you use the minimizeDisk argument or not.

Parameters
path[In] The Sparksee database to rebuild.
config[in] Use a specific configuration instead of the one in this Sparksee.
minimizeDisk[in] Use less temporary disk space.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionnull

◆ removeChecksums:

- (BOOL) removeChecksums: (NSString *) path

Converts a database WITH checksums into a database WITHOUT checksums.

Any error found is logged. The database (and it's recovery log if present) have checksums. sparksee::gdb::FileNotFoundExceptionsparksee::gdb::Error

Parameters
pathThe path to the database image file
Returns
Returns true if the checksum could be removed. The errors are returned with an exception.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionnull

◆ resizeInMemoryPool:

- (void) resizeInMemoryPool: (long long) newCapacity

Resizes the in memory pool allocator.

sparksee::gdb::SystemError

Parameters
newCapacityThe new capacity of the in memory pool allocator
Returns
Returns true if was successful
Exceptions
System.SystemExceptionnull

◆ restore:backupFile:

- (STSDatabase *) restore: (NSString *) path
backupFile: (NSString *) backupFile 

Restores a Database from a backup file.

See the Graph class Backup method. Errorfor other issues.

Parameters
path[in] Database storage file.
backupFile[in] The Backup file to be restored.
Returns
A Database instance.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionIf the given file cannot be created, or the exported data file does not exists.

◆ restoreEncryptedBackup:backupFile:keyInHex:ivInHex:

- (STSDatabase *) restoreEncryptedBackup: (NSString *) path
backupFile: (NSString *) backupFile
keyInHex: (NSString *) keyInHex
ivInHex: (NSString *) ivInHex 

Restores a Database from an encrypted backup file.

See the Graph class EncryptedBackup method. Errorfor other issues.

Parameters
path[in] Database storage file.
backupFile[in] The Backup file to be restored.
keyInHex[In] The AES encryption Key of the backup file as an hexadecimal string (8, 16 or 32 bytes).
ivInHex[In] The AES Initialization Vector of the backup file as an hexadecimal string (16 bytes).
Returns
A Database instance.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionIf the given file cannot be created, or the exported data file does not exists.

◆ restoreEncryptedBackupWithConfig:backupFile:config:keyInHex:ivInHex:

- (STSDatabase *) restoreEncryptedBackupWithConfig: (NSString *) path
backupFile: (NSString *) backupFile
config: (STSSparkseeConfig *) config
keyInHex: (NSString *) keyInHex
ivInHex: (NSString *) ivInHex 

Restores a Database from an encrypted backup file.

See the Graph class EncryptedBackup method. Errorfor other issues.

Parameters
path[in] Database storage file.
backupFile[in] The Backup file to be restored.
config[in] Use a specific configuration instead of the one in this Sparksee
keyInHex[In] The AES encryption Key of the backup file as an hexadecimal string (8, 16 or 32 bytes).
ivInHex[In] The AES Initialization Vector of the backup file as an hexadecimal string (16 bytes).
Returns
A Database instance.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionIf the given file cannot be created, or the exported data file does not exists.

◆ restoreWithConfig:backupFile:config:

- (STSDatabase *) restoreWithConfig: (NSString *) path
backupFile: (NSString *) backupFile
config: (STSSparkseeConfig *) config 

Restores a Database from a backup file.

See the Graph class Backup method. Errorfor other issues.

Parameters
path[in] Database storage file.
backupFile[in] The Backup file to be restored.
config[in] Use a specific configuration instead of the one in this Sparksee
Returns
A Database instance.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionIf the given file cannot be created, or the exported data file does not exists.

◆ verifyChecksums:

- (BOOL) verifyChecksums: (NSString *) path

Verifies the Checksum integrity of the given image file and it's recovery log file.

The main database file checksums are always checked.

When the recovery log file exists, the recovery log file is also checked for checksum and format errors.

When the checksums of the main file or the recovery file are incorrect, the funcion returns false, in any other error it throws an exception.

Any error found is logged as a WARNING.

sparksee::gdb::FileNotFoundExceptionsparksee::gdb::Error

Parameters
pathThe path to the image file
Returns
Returns true if the checksum verification succeeded. Returns false if an invalid checksum was detected.
Exceptions
System.ApplicationExceptionnull
System.IO.IOExceptionnull

The documentation for this class was generated from the following file:
  • Sparksee.h