define database.h
This commit is contained in:
parent
d0fdf63e77
commit
1f9fb962fb
20
Database Abstraction/cdb_database.c
Normal file
20
Database Abstraction/cdb_database.c
Normal file
@ -0,0 +1,20 @@
|
||||
#include "cdb_database.h"
|
||||
#include "../File-Page Abstraction/cdb_file-page.h"
|
||||
|
||||
struct db_Database_impl {
|
||||
char * directory;
|
||||
db_Table * tables;
|
||||
};
|
||||
|
||||
struct db_Table_impl {
|
||||
char * name;
|
||||
db_Database database;
|
||||
db_Column * columns;
|
||||
fp_File data;
|
||||
fp_File variableData;
|
||||
};
|
||||
|
||||
struct db_Data_impl {
|
||||
db_Table table;
|
||||
void * data;
|
||||
};
|
33
Database Abstraction/cdb_database.h
Normal file
33
Database Abstraction/cdb_database.h
Normal file
@ -0,0 +1,33 @@
|
||||
typedef struct db_Database_impl * db_Database;
|
||||
typedef struct db_Table_impl * db_Table;
|
||||
typedef struct db_Data_impl * db_Data;
|
||||
typedef int db_Error;
|
||||
|
||||
typedef enum {
|
||||
BINARY8, BINARY16, BINARY32, BINARY64, BINARYREF
|
||||
} db_ColumnType;
|
||||
|
||||
typedef struct {
|
||||
char * name;
|
||||
db_ColumnType type;
|
||||
} db_Column;
|
||||
|
||||
// Creates new database in specified directory
|
||||
db_Database db_databaseNew(const char * directory);
|
||||
|
||||
// Closes specified Database and frees memory
|
||||
void db_databaseClose(db_Database db);
|
||||
|
||||
// Creates, gets, renames, closes and deletes a Table
|
||||
db_Error db_tableNew(db_Database db, char * name, db_Column * columns, unsigned int count);
|
||||
db_Error db_tableRename(db_Table table);
|
||||
db_Error db_tableDelete(db_Table table);
|
||||
db_Error db_tableClose(db_Table table);
|
||||
db_Table db_tableGet(char * name);
|
||||
|
||||
// Creates empty new Data
|
||||
db_Data db_tableEntryNew(db_Table table);
|
||||
db_Error db_tableEntrySet(db_Data entry, char * columnName, void * data);
|
||||
db_Error db_tableEntryAdd(db_Table table, db_Data data);
|
||||
unsigned long db_tableSize(db_Table table);
|
||||
db_Error db_tableClear(db_Table table);
|
@ -1,5 +1,5 @@
|
||||
#include "cdb_file-page.h"
|
||||
#include "../System Abstraction/cdb_sustem.h"
|
||||
#include "../System Abstraction/cdb_system.h"
|
||||
|
||||
struct fp_File_impl{
|
||||
sys_File file;
|
||||
|
@ -11,9 +11,6 @@ void fp_fileSetPageSize(fp_File file, unsigned long pageSize);
|
||||
|
||||
//negative values indicate the removable of the latest pages; so this library doesn't need more functions
|
||||
void * fp_fileAppendPages(fp_File file, long numberOfPages);
|
||||
|
||||
void * fp_fileToMemory(fp_File file);
|
||||
|
||||
void fp_fileFlush(fp_File file);
|
||||
|
||||
void fp_fileClose(fp_File file);
|
Loading…
Reference in New Issue
Block a user