xale-db 1.0
minimal SQL engine, written in c++
Loading...
Searching...
No Matches
Xale::DataStructure::Table Class Reference

Mutable and persistent dataset. More...

#include <Table.h>

Inheritance diagram for Xale::DataStructure::Table:
Inheritance graph
Collaboration diagram for Xale::DataStructure::Table:
Collaboration graph

Public Member Functions

 Table (const std::string &name)
 Constructor.
const std::string & getName () const override
 Get table name.
const std::vector< ColumnDefinition > & getSchema () const override
 Get schema.
const std::vector< Row > & getRows () const override
 Get all rows.
size_t getRowCount () const override
 Get row count.
size_t getColumnCount () const override
 Get column count.
bool isEmpty () const override
 Check if empty.
bool isMutable () const override
 Check if mutable.
void addColumn (const ColumnDefinition &column)
 Add column definition.
bool insertRow (const Row &row)
 Insert a row.
size_t updateRows (const std::string &columnName, const FieldValue &value, const std::unordered_map< std::string, FieldValue > &updates)
 Update rows matching condition.
size_t deleteRows (const std::string &columnName, const FieldValue &value)
 Delete rows matching condition.
std::vector< RowfindRows (const std::string &columnName, const FieldValue &value) const
 Find rows by condition.
std::vector< char > serialize () const
 Serialize table to binary format.

Static Public Member Functions

static Table deserialize (const std::vector< char > &data)
 Deserialize table from binary format.

Detailed Description

Mutable and persistent dataset.

Constructor & Destructor Documentation

◆ Table()

Xale::DataStructure::Table::Table ( const std::string & name)
explicit

Constructor.

Parameters
nameTable name

Member Function Documentation

◆ addColumn()

void Xale::DataStructure::Table::addColumn ( const ColumnDefinition & column)

Add column definition.

Parameters
columnColumn definition

◆ deleteRows()

size_t Xale::DataStructure::Table::deleteRows ( const std::string & columnName,
const FieldValue & value )

Delete rows matching condition.

Parameters
columnNameColumn to filter
valueValue to match
Returns
Number of rows deleted

◆ deserialize()

Table Xale::DataStructure::Table::deserialize ( const std::vector< char > & data)
static

Deserialize table from binary format.

Parameters
dataVector of bytes containing serialized table
Returns
Deserialized Table object

◆ findRows()

std::vector< Row > Xale::DataStructure::Table::findRows ( const std::string & columnName,
const FieldValue & value ) const

Find rows by condition.

Parameters
columnNameColumn name to filter
valueValue to match
Returns
Vector of matching rows

◆ getColumnCount()

size_t Xale::DataStructure::Table::getColumnCount ( ) const
overridevirtual

Get column count.

Returns
Number of columns

Implements Xale::DataStructure::IDataTemplate.

◆ getName()

const std::string & Xale::DataStructure::Table::getName ( ) const
overridevirtual

Get table name.

Returns
Table name

Implements Xale::DataStructure::IDataTemplate.

◆ getRowCount()

size_t Xale::DataStructure::Table::getRowCount ( ) const
overridevirtual

Get row count.

Returns
Number of rows

Implements Xale::DataStructure::IDataTemplate.

◆ getRows()

const std::vector< Row > & Xale::DataStructure::Table::getRows ( ) const
overridevirtual

Get all rows.

Returns
Vector of rows

Implements Xale::DataStructure::IDataTemplate.

◆ getSchema()

const std::vector< ColumnDefinition > & Xale::DataStructure::Table::getSchema ( ) const
overridevirtual

Get schema.

Returns
Vector of column definitions

Implements Xale::DataStructure::IDataTemplate.

◆ insertRow()

bool Xale::DataStructure::Table::insertRow ( const Row & row)

Insert a row.

Parameters
rowRow to insert
Returns
True if successful
Exceptions
DbExceptionif validation fails

◆ isEmpty()

bool Xale::DataStructure::Table::isEmpty ( ) const
overridevirtual

Check if empty.

Returns
True if empty

Implements Xale::DataStructure::IDataTemplate.

◆ isMutable()

bool Xale::DataStructure::Table::isMutable ( ) const
overridevirtual

Check if mutable.

Returns
Always true for Table

Implements Xale::DataStructure::IDataTemplate.

◆ serialize()

std::vector< char > Xale::DataStructure::Table::serialize ( ) const

Serialize table to binary format.

Returns
Vector of bytes containing serialized table

◆ updateRows()

size_t Xale::DataStructure::Table::updateRows ( const std::string & columnName,
const FieldValue & value,
const std::unordered_map< std::string, FieldValue > & updates )

Update rows matching condition.

Parameters
columnNameColumn to filter
valueValue to match
updatesMap of column names to new values
Returns
Number of rows updated

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