API Reference

Database Class

Static Methods

Database.open(path: string): Database

Opens a file-based database.

Parameters:

  • path (string): Database file path

Returns: Database instance

Example:

const db = Database.open('mydb.db');

Database.openInMemory(): Database

Opens an in-memory database.

Returns: Database instance

Example:

const db = Database.openInMemory();

Key-Value Methods

insert(table: string, key: Buffer, value: Buffer): void

Inserts a key-value pair.

Parameters:

  • table (string): Table name
  • key (Buffer): Key (binary)
  • value (Buffer): Value (binary)

Example:

db.insert('users', Buffer.from('user:1'), Buffer.from('Alice'));

get(table: string, key: Buffer): Buffer | null

Gets a value by key.

Parameters:

  • table (string): Table name
  • key (Buffer): Key (binary)

Returns: Value (Buffer) or null

Example:

const value = db.get('users', Buffer.from('user:1'));
if (value) {
  console.log(value.toString());
}

delete(table: string, key: Buffer): void

Deletes a key.

Parameters:

  • table (string): Table name
  • key (Buffer): Key (binary)

Example:

db.delete('users', Buffer.from('user:1'));

count(table: string): number

Returns the number of rows in a table.

Parameters:

  • table (string): Table name

Returns: Row count (number)

Example:

const count = db.count('users');
console.log(`Total: ${count}`);

SQL Methods

executeSql(sql: string): string

Executes a SQL statement.

Parameters:

  • sql (string): SQL statement

Returns: Result (string, JSON format)

Example:

// DDL
db.executeSql('CREATE TABLE users (id INTEGER, name TEXT)');

// DML
db.executeSql("INSERT INTO users VALUES (1, 'Alice')");

// Query
const result = db.executeSql('SELECT * FROM users');
console.log(result);

Transaction Methods

beginTransaction(): Transaction

Begins a transaction.

Returns: Transaction object

Example:

const tx = db.beginTransaction();
try {
  db.insert('users', Buffer.from('user:1'), Buffer.from('Alice'));
  tx.commit();
} catch (error) {
  tx.rollback();
}

Utility Methods

flush(): void

Flushes the buffer to disk.

Example:

db.flush();

close(): void

Closes the database.

Example:

db.close();

Transaction Class

Methods

commit(): void

Commits the transaction.

Example:

const tx = db.beginTransaction();
db.insert('users', Buffer.from('user:1'), Buffer.from('Alice'));
tx.commit();

rollback(): void

Rolls back the transaction.

Example:

const tx = db.beginTransaction();
try {
  db.insert('users', Buffer.from('user:1'), Buffer.from('Alice'));
  tx.commit();
} catch (error) {
  tx.rollback();
}

TypeScript Definitions

export class Database {
  static open(path: string): Database;
  static openInMemory(): Database;
  
  insert(table: string, key: Buffer, value: Buffer): void;
  get(table: string, key: Buffer): Buffer | null;
  delete(table: string, key: Buffer): void;
  count(table: string): number;
  
  executeSql(sql: string): string;
  
  beginTransaction(): Transaction;
  
  flush(): void;
  close(): void;
}

export class Transaction {
  commit(): void;
  rollback(): void;
}

Error Handling

try {
  const db = Database.open('mydb.db');
  db.insert('users', Buffer.from('user:1'), Buffer.from('Alice'));
} catch (error) {
  console.error('DBX Error:', error);
}

Next Steps


Copyright © 2026 ByteLogicCore. MIT OR Apache-2.0 License.

This site uses Just the Docs, a documentation theme for Jekyll.