#ifndef DATABASE_CORE_CORE_BMX_DEBUG_WIN32_X86_H
#define DATABASE_CORE_CORE_BMX_DEBUG_WIN32_X86_H

#include <brl.mod/blitz.mod/.bmx/blitz.bmx.debug.win32.x86.h>
#include <brl.mod/linkedlist.mod/.bmx/linkedlist.bmx.debug.win32.x86.h>
#include <brl.mod/map.mod/.bmx/map.bmx.debug.win32.x86.h>
#include "dbtypes.bmx.debug.win32.x86.h"
int __bb_database_core_core();
struct database_core_TDatabaseLoader_obj;
struct database_core_TDBConnection_obj;
struct database_core_TDatabaseQuery_obj;
struct database_core_TRowEnumerator_obj;
struct database_core_TQueryResultSet_obj;
struct database_core_TQueryRecord_obj;
struct database_core_TQueryField_obj;
struct database_core_TDatabaseError_obj;
struct database_core_TDBTable_obj;
struct database_core_TDBColumn_obj;
void _database_core_TDatabaseLoader_New(struct database_core_TDatabaseLoader_obj* o);
typedef struct database_core_TDBConnection_obj* (*database_core_TDatabaseLoader_LoadDatabase_SSiSSSS_m)(struct database_core_TDatabaseLoader_obj*,BBSTRING,BBSTRING,BBINT,BBSTRING,BBSTRING,BBSTRING,BBSTRING);
struct database_core_TDBConnection_obj* _database_core_TDatabaseLoader_LoadDatabase_SSiSSSS(struct database_core_TDatabaseLoader_obj*,BBSTRING,BBSTRING,BBINT,BBSTRING,BBSTRING,BBSTRING,BBSTRING);
struct BBClass_database_core_TDatabaseLoader {
	BBClass*  super;
	void      (*free)( BBObject *o );
	BBDebugScope* debug_scope;
	unsigned int instance_size;
	void      (*ctor)( BBOBJECT o );
	void      (*dtor)( BBOBJECT o );
	BBSTRING  (*ToString)( BBOBJECT x );
	int       (*Compare)( BBOBJECT x,BBOBJECT y );
	BBOBJECT  (*SendMessage)( BBOBJECT o,BBOBJECT m,BBOBJECT s );
	BBINTERFACETABLE itable;
	void*     extra;
	unsigned int obj_size;
	unsigned int instance_count;
	unsigned int fields_offset;
	database_core_TDatabaseLoader_LoadDatabase_SSiSSSS_m m_LoadDatabase_SSiSSSS;
};

struct database_core_TDatabaseLoader_obj {
	struct BBClass_database_core_TDatabaseLoader* clas;
	BBSTRING _database_core_tdatabaseloader__type;
	struct database_core_TDatabaseLoader_obj* _database_core_tdatabaseloader__succ;
};
extern struct BBClass_database_core_TDatabaseLoader database_core_TDatabaseLoader;
void _database_core_TDBConnection_New(struct database_core_TDBConnection_obj* o);
void _database_core_TDBConnection_Delete(struct database_core_TDBConnection_obj* o);
typedef struct database_core_TDBConnection_obj* (*database_core_TDBConnection_Create_TTDBConnection_SSiSSSS_f)(BBSTRING,BBSTRING,BBINT,BBSTRING,BBSTRING,BBSTRING,BBSTRING);
struct database_core_TDBConnection_obj* database_core_TDBConnection_Create_TTDBConnection_SSiSSSS(BBSTRING,BBSTRING,BBINT,BBSTRING,BBSTRING,BBSTRING,BBSTRING);
typedef void (*database_core_TDBConnection_Init_SSiSSSS_m)(struct database_core_TDBConnection_obj*,BBSTRING,BBSTRING,BBINT,BBSTRING,BBSTRING,BBSTRING,BBSTRING);
void _database_core_TDBConnection_Init_SSiSSSS(struct database_core_TDBConnection_obj*,BBSTRING,BBSTRING,BBINT,BBSTRING,BBSTRING,BBSTRING,BBSTRING);
typedef void (*database_core_TDBConnection_close_m)(struct database_core_TDBConnection_obj*);
void _database_core_TDBConnection_close(struct database_core_TDBConnection_obj*);
typedef BBINT (*database_core_TDBConnection_commit_m)(struct database_core_TDBConnection_obj*);
BBINT _database_core_TDBConnection_commit(struct database_core_TDBConnection_obj*);
typedef BBARRAY (*database_core_TDBConnection_getTables_m)(struct database_core_TDBConnection_obj*);
BBARRAY _database_core_TDBConnection_getTables(struct database_core_TDBConnection_obj*);
typedef struct database_core_TDBTable_obj* (*database_core_TDBConnection_getTableInfo_Si_m)(struct database_core_TDBConnection_obj*,BBSTRING,BBINT);
struct database_core_TDBTable_obj* _database_core_TDBConnection_getTableInfo_Si(struct database_core_TDBConnection_obj*,BBSTRING,BBINT);
typedef BBINT (*database_core_TDBConnection_open_SS_m)(struct database_core_TDBConnection_obj*,BBSTRING,BBSTRING);
BBINT _database_core_TDBConnection_open_SS(struct database_core_TDBConnection_obj*,BBSTRING,BBSTRING);
typedef BBINT (*database_core_TDBConnection_rollback_m)(struct database_core_TDBConnection_obj*);
BBINT _database_core_TDBConnection_rollback(struct database_core_TDBConnection_obj*);
typedef BBINT (*database_core_TDBConnection_startTransaction_m)(struct database_core_TDBConnection_obj*);
BBINT _database_core_TDBConnection_startTransaction(struct database_core_TDBConnection_obj*);
typedef struct database_core_TDatabaseQuery_obj* (*database_core_TDBConnection_executeQuery_S_m)(struct database_core_TDBConnection_obj*,BBSTRING);
struct database_core_TDatabaseQuery_obj* _database_core_TDBConnection_executeQuery_S(struct database_core_TDBConnection_obj*,BBSTRING);
typedef BBINT (*database_core_TDBConnection_isOpen_m)(struct database_core_TDBConnection_obj*);
BBINT _database_core_TDBConnection_isOpen(struct database_core_TDBConnection_obj*);
typedef BBSTRING (*database_core_TDBConnection_getDatabaseName_m)(struct database_core_TDBConnection_obj*);
BBSTRING _database_core_TDBConnection_getDatabaseName(struct database_core_TDBConnection_obj*);
typedef BBSTRING (*database_core_TDBConnection_getHost_m)(struct database_core_TDBConnection_obj*);
BBSTRING _database_core_TDBConnection_getHost(struct database_core_TDBConnection_obj*);
typedef BBINT (*database_core_TDBConnection_getPortNumber_m)(struct database_core_TDBConnection_obj*);
BBINT _database_core_TDBConnection_getPortNumber(struct database_core_TDBConnection_obj*);
typedef struct database_core_TDatabaseError_obj* (*database_core_TDBConnection_error_m)(struct database_core_TDBConnection_obj*);
struct database_core_TDatabaseError_obj* _database_core_TDBConnection_error(struct database_core_TDBConnection_obj*);
typedef void (*database_core_TDBConnection_resetError_m)(struct database_core_TDBConnection_obj*);
void _database_core_TDBConnection_resetError(struct database_core_TDBConnection_obj*);
typedef BBINT (*database_core_TDBConnection_hasError_m)(struct database_core_TDBConnection_obj*);
BBINT _database_core_TDBConnection_hasError(struct database_core_TDBConnection_obj*);
typedef void (*database_core_TDBConnection_setError_SSii_m)(struct database_core_TDBConnection_obj*,BBSTRING,BBSTRING,BBINT,BBINT);
void _database_core_TDBConnection_setError_SSii(struct database_core_TDBConnection_obj*,BBSTRING,BBSTRING,BBINT,BBINT);
typedef BBBYTE* (*database_core_TDBConnection_databaseHandle_m)(struct database_core_TDBConnection_obj*);
BBBYTE* _database_core_TDBConnection_databaseHandle(struct database_core_TDBConnection_obj*);
typedef struct database_core_TQueryResultSet_obj* (*database_core_TDBConnection_createResultSet_m)(struct database_core_TDBConnection_obj*);
struct database_core_TQueryResultSet_obj* _database_core_TDBConnection_createResultSet(struct database_core_TDBConnection_obj*);
typedef BBSTRING (*database_core_TDBConnection_nativeErrorMessage_i_m)(struct database_core_TDBConnection_obj*,BBINT);
BBSTRING _database_core_TDBConnection_nativeErrorMessage_i(struct database_core_TDBConnection_obj*,BBINT);
typedef BBINT (*database_core_TDBConnection_hasPrepareSupport_m)(struct database_core_TDBConnection_obj*);
BBINT _database_core_TDBConnection_hasPrepareSupport(struct database_core_TDBConnection_obj*);
typedef BBINT (*database_core_TDBConnection_hasTransactionSupport_m)(struct database_core_TDBConnection_obj*);
BBINT _database_core_TDBConnection_hasTransactionSupport(struct database_core_TDBConnection_obj*);
typedef void (*database_core_TDBConnection_free_m)(struct database_core_TDBConnection_obj*);
void _database_core_TDBConnection_free(struct database_core_TDBConnection_obj*);
struct BBClass_database_core_TDBConnection {
	BBClass*  super;
	void      (*free)( BBObject *o );
	BBDebugScope* debug_scope;
	unsigned int instance_size;
	void      (*ctor)( BBOBJECT o );
	void      (*dtor)( BBOBJECT o );
	BBSTRING  (*ToString)( BBOBJECT x );
	int       (*Compare)( BBOBJECT x,BBOBJECT y );
	BBOBJECT  (*SendMessage)( BBOBJECT o,BBOBJECT m,BBOBJECT s );
	BBINTERFACETABLE itable;
	void*     extra;
	unsigned int obj_size;
	unsigned int instance_count;
	unsigned int fields_offset;
	database_core_TDBConnection_Create_TTDBConnection_SSiSSSS_f f_Create_TTDBConnection_SSiSSSS;
	database_core_TDBConnection_Init_SSiSSSS_m m_Init_SSiSSSS;
	database_core_TDBConnection_close_m m_close;
	database_core_TDBConnection_commit_m m_commit;
	database_core_TDBConnection_getTables_m m_getTables;
	database_core_TDBConnection_getTableInfo_Si_m m_getTableInfo_Si;
	database_core_TDBConnection_open_SS_m m_open_SS;
	database_core_TDBConnection_rollback_m m_rollback;
	database_core_TDBConnection_startTransaction_m m_startTransaction;
	database_core_TDBConnection_executeQuery_S_m m_executeQuery_S;
	database_core_TDBConnection_isOpen_m m_isOpen;
	database_core_TDBConnection_getDatabaseName_m m_getDatabaseName;
	database_core_TDBConnection_getHost_m m_getHost;
	database_core_TDBConnection_getPortNumber_m m_getPortNumber;
	database_core_TDBConnection_error_m m_error;
	database_core_TDBConnection_resetError_m m_resetError;
	database_core_TDBConnection_hasError_m m_hasError;
	database_core_TDBConnection_setError_SSii_m m_setError_SSii;
	database_core_TDBConnection_databaseHandle_m m_databaseHandle;
	database_core_TDBConnection_createResultSet_m m_createResultSet;
	database_core_TDBConnection_nativeErrorMessage_i_m m_nativeErrorMessage_i;
	database_core_TDBConnection_hasPrepareSupport_m m_hasPrepareSupport;
	database_core_TDBConnection_hasTransactionSupport_m m_hasTransactionSupport;
	database_core_TDBConnection_free_m m_free;
};

struct database_core_TDBConnection_obj {
	struct BBClass_database_core_TDBConnection* clas;
	BBBYTE* _database_core_tdbconnection_handle;
	BBSTRING _database_core_tdbconnection__dbname;
	BBSTRING _database_core_tdbconnection__host;
	BBINT _database_core_tdbconnection__port;
	BBSTRING _database_core_tdbconnection__user;
	BBSTRING _database_core_tdbconnection__password;
	BBSTRING _database_core_tdbconnection__options;
	BBSTRING _database_core_tdbconnection__server;
	BBINT _database_core_tdbconnection__isopen;
	struct database_core_TDatabaseError_obj* _database_core_tdbconnection__lasterror;
};
extern struct BBClass_database_core_TDBConnection database_core_TDBConnection;
void _database_core_TDatabaseQuery_New(struct database_core_TDatabaseQuery_obj* o);
void _database_core_TDatabaseQuery_Delete(struct database_core_TDatabaseQuery_obj* o);
typedef struct database_core_TDatabaseQuery_obj* (*database_core_TDatabaseQuery_Create_TTDatabaseQuery_TTDBConnection_f)(struct database_core_TDBConnection_obj*);
struct database_core_TDatabaseQuery_obj* database_core_TDatabaseQuery_Create_TTDatabaseQuery_TTDBConnection(struct database_core_TDBConnection_obj*);
typedef BBINT (*database_core_TDatabaseQuery_prepare_S_m)(struct database_core_TDatabaseQuery_obj*,BBSTRING);
BBINT _database_core_TDatabaseQuery_prepare_S(struct database_core_TDatabaseQuery_obj*,BBSTRING);
typedef BBINT (*database_core_TDatabaseQuery_execute_S_m)(struct database_core_TDatabaseQuery_obj*,BBSTRING);
BBINT _database_core_TDatabaseQuery_execute_S(struct database_core_TDatabaseQuery_obj*,BBSTRING);
typedef struct database_core_dbtypes_TDBType_obj* (*database_core_TDatabaseQuery_value_i_m)(struct database_core_TDatabaseQuery_obj*,BBINT);
struct database_core_dbtypes_TDBType_obj* _database_core_TDatabaseQuery_value_i(struct database_core_TDatabaseQuery_obj*,BBINT);
typedef BBINT (*database_core_TDatabaseQuery_nextRow_m)(struct database_core_TDatabaseQuery_obj*);
BBINT _database_core_TDatabaseQuery_nextRow(struct database_core_TDatabaseQuery_obj*);
typedef BBINT (*database_core_TDatabaseQuery_isActive_m)(struct database_core_TDatabaseQuery_obj*);
BBINT _database_core_TDatabaseQuery_isActive(struct database_core_TDatabaseQuery_obj*);
typedef BBINT (*database_core_TDatabaseQuery_rowIndex_m)(struct database_core_TDatabaseQuery_obj*);
BBINT _database_core_TDatabaseQuery_rowIndex(struct database_core_TDatabaseQuery_obj*);
typedef struct database_core_TQueryRecord_obj* (*database_core_TDatabaseQuery_rowRecord_m)(struct database_core_TDatabaseQuery_obj*);
struct database_core_TQueryRecord_obj* _database_core_TDatabaseQuery_rowRecord(struct database_core_TDatabaseQuery_obj*);
typedef void (*database_core_TDatabaseQuery_bindValue_iTTDBType_m)(struct database_core_TDatabaseQuery_obj*,BBINT,struct database_core_dbtypes_TDBType_obj*);
void _database_core_TDatabaseQuery_bindValue_iTTDBType(struct database_core_TDatabaseQuery_obj*,BBINT,struct database_core_dbtypes_TDBType_obj*);
typedef void (*database_core_TDatabaseQuery_addBindValue_TTDBType_m)(struct database_core_TDatabaseQuery_obj*,struct database_core_dbtypes_TDBType_obj*);
void _database_core_TDatabaseQuery_addBindValue_TTDBType(struct database_core_TDatabaseQuery_obj*,struct database_core_dbtypes_TDBType_obj*);
typedef void (*database_core_TDatabaseQuery_setString_iS_m)(struct database_core_TDatabaseQuery_obj*,BBINT,BBSTRING);
void _database_core_TDatabaseQuery_setString_iS(struct database_core_TDatabaseQuery_obj*,BBINT,BBSTRING);
typedef void (*database_core_TDatabaseQuery_setInt_ii_m)(struct database_core_TDatabaseQuery_obj*,BBINT,BBINT);
void _database_core_TDatabaseQuery_setInt_ii(struct database_core_TDatabaseQuery_obj*,BBINT,BBINT);
typedef void (*database_core_TDatabaseQuery_setLong_il_m)(struct database_core_TDatabaseQuery_obj*,BBINT,BBLONG);
void _database_core_TDatabaseQuery_setLong_il(struct database_core_TDatabaseQuery_obj*,BBINT,BBLONG);
typedef void (*database_core_TDatabaseQuery_setFloat_if_m)(struct database_core_TDatabaseQuery_obj*,BBINT,BBFLOAT);
void _database_core_TDatabaseQuery_setFloat_if(struct database_core_TDatabaseQuery_obj*,BBINT,BBFLOAT);
typedef void (*database_core_TDatabaseQuery_setDouble_id_m)(struct database_core_TDatabaseQuery_obj*,BBINT,BBDOUBLE);
void _database_core_TDatabaseQuery_setDouble_id(struct database_core_TDatabaseQuery_obj*,BBINT,BBDOUBLE);
typedef void (*database_core_TDatabaseQuery_addString_S_m)(struct database_core_TDatabaseQuery_obj*,BBSTRING);
void _database_core_TDatabaseQuery_addString_S(struct database_core_TDatabaseQuery_obj*,BBSTRING);
typedef void (*database_core_TDatabaseQuery_addInt_i_m)(struct database_core_TDatabaseQuery_obj*,BBINT);
void _database_core_TDatabaseQuery_addInt_i(struct database_core_TDatabaseQuery_obj*,BBINT);
typedef void (*database_core_TDatabaseQuery_addLong_l_m)(struct database_core_TDatabaseQuery_obj*,BBLONG);
void _database_core_TDatabaseQuery_addLong_l(struct database_core_TDatabaseQuery_obj*,BBLONG);
typedef void (*database_core_TDatabaseQuery_addFloat_f_m)(struct database_core_TDatabaseQuery_obj*,BBFLOAT);
void _database_core_TDatabaseQuery_addFloat_f(struct database_core_TDatabaseQuery_obj*,BBFLOAT);
typedef void (*database_core_TDatabaseQuery_addDouble_d_m)(struct database_core_TDatabaseQuery_obj*,BBDOUBLE);
void _database_core_TDatabaseQuery_addDouble_d(struct database_core_TDatabaseQuery_obj*,BBDOUBLE);
typedef void (*database_core_TDatabaseQuery_clearBindValues_m)(struct database_core_TDatabaseQuery_obj*);
void _database_core_TDatabaseQuery_clearBindValues(struct database_core_TDatabaseQuery_obj*);
typedef BBLONG (*database_core_TDatabaseQuery_lastInsertedId_m)(struct database_core_TDatabaseQuery_obj*);
BBLONG _database_core_TDatabaseQuery_lastInsertedId(struct database_core_TDatabaseQuery_obj*);
typedef BBINT (*database_core_TDatabaseQuery_rowsAffected_m)(struct database_core_TDatabaseQuery_obj*);
BBINT _database_core_TDatabaseQuery_rowsAffected(struct database_core_TDatabaseQuery_obj*);
typedef struct database_core_TRowEnumerator_obj* (*database_core_TDatabaseQuery_ObjectEnumerator_m)(struct database_core_TDatabaseQuery_obj*);
struct database_core_TRowEnumerator_obj* _database_core_TDatabaseQuery_ObjectEnumerator(struct database_core_TDatabaseQuery_obj*);
typedef void (*database_core_TDatabaseQuery_free_m)(struct database_core_TDatabaseQuery_obj*);
void _database_core_TDatabaseQuery_free(struct database_core_TDatabaseQuery_obj*);
struct BBClass_database_core_TDatabaseQuery {
	BBClass*  super;
	void      (*free)( BBObject *o );
	BBDebugScope* debug_scope;
	unsigned int instance_size;
	void      (*ctor)( BBOBJECT o );
	void      (*dtor)( BBOBJECT o );
	BBSTRING  (*ToString)( BBOBJECT x );
	int       (*Compare)( BBOBJECT x,BBOBJECT y );
	BBOBJECT  (*SendMessage)( BBOBJECT o,BBOBJECT m,BBOBJECT s );
	BBINTERFACETABLE itable;
	void*     extra;
	unsigned int obj_size;
	unsigned int instance_count;
	unsigned int fields_offset;
	database_core_TDatabaseQuery_Create_TTDatabaseQuery_TTDBConnection_f f_Create_TTDatabaseQuery_TTDBConnection;
	database_core_TDatabaseQuery_prepare_S_m m_prepare_S;
	database_core_TDatabaseQuery_execute_S_m m_execute_S;
	database_core_TDatabaseQuery_value_i_m m_value_i;
	database_core_TDatabaseQuery_nextRow_m m_nextRow;
	database_core_TDatabaseQuery_isActive_m m_isActive;
	database_core_TDatabaseQuery_rowIndex_m m_rowIndex;
	database_core_TDatabaseQuery_rowRecord_m m_rowRecord;
	database_core_TDatabaseQuery_bindValue_iTTDBType_m m_bindValue_iTTDBType;
	database_core_TDatabaseQuery_addBindValue_TTDBType_m m_addBindValue_TTDBType;
	database_core_TDatabaseQuery_setString_iS_m m_setString_iS;
	database_core_TDatabaseQuery_setInt_ii_m m_setInt_ii;
	database_core_TDatabaseQuery_setLong_il_m m_setLong_il;
	database_core_TDatabaseQuery_setFloat_if_m m_setFloat_if;
	database_core_TDatabaseQuery_setDouble_id_m m_setDouble_id;
	database_core_TDatabaseQuery_addString_S_m m_addString_S;
	database_core_TDatabaseQuery_addInt_i_m m_addInt_i;
	database_core_TDatabaseQuery_addLong_l_m m_addLong_l;
	database_core_TDatabaseQuery_addFloat_f_m m_addFloat_f;
	database_core_TDatabaseQuery_addDouble_d_m m_addDouble_d;
	database_core_TDatabaseQuery_clearBindValues_m m_clearBindValues;
	database_core_TDatabaseQuery_lastInsertedId_m m_lastInsertedId;
	database_core_TDatabaseQuery_rowsAffected_m m_rowsAffected;
	database_core_TDatabaseQuery_ObjectEnumerator_m m_ObjectEnumerator;
	database_core_TDatabaseQuery_free_m m_free;
};

struct database_core_TDatabaseQuery_obj {
	struct BBClass_database_core_TDatabaseQuery* clas;
	struct database_core_TDBConnection_obj* _database_core_tdatabasequery_conn;
	struct database_core_TQueryResultSet_obj* _database_core_tdatabasequery_resultset;
};
extern struct BBClass_database_core_TDatabaseQuery database_core_TDatabaseQuery;
void _database_core_TRowEnumerator_New(struct database_core_TRowEnumerator_obj* o);
void _database_core_TRowEnumerator_Delete(struct database_core_TRowEnumerator_obj* o);
typedef BBINT (*database_core_TRowEnumerator_HasNext_m)(struct database_core_TRowEnumerator_obj*);
BBINT _database_core_TRowEnumerator_HasNext(struct database_core_TRowEnumerator_obj*);
typedef BBOBJECT (*database_core_TRowEnumerator_NextObject_m)(struct database_core_TRowEnumerator_obj*);
BBOBJECT _database_core_TRowEnumerator_NextObject(struct database_core_TRowEnumerator_obj*);
struct BBClass_database_core_TRowEnumerator {
	BBClass*  super;
	void      (*free)( BBObject *o );
	BBDebugScope* debug_scope;
	unsigned int instance_size;
	void      (*ctor)( BBOBJECT o );
	void      (*dtor)( BBOBJECT o );
	BBSTRING  (*ToString)( BBOBJECT x );
	int       (*Compare)( BBOBJECT x,BBOBJECT y );
	BBOBJECT  (*SendMessage)( BBOBJECT o,BBOBJECT m,BBOBJECT s );
	BBINTERFACETABLE itable;
	void*     extra;
	unsigned int obj_size;
	unsigned int instance_count;
	unsigned int fields_offset;
	database_core_TRowEnumerator_HasNext_m m_HasNext;
	database_core_TRowEnumerator_NextObject_m m_NextObject;
};

struct database_core_TRowEnumerator_obj {
	struct BBClass_database_core_TRowEnumerator* clas;
	struct database_core_TDatabaseQuery_obj* _database_core_trowenumerator_query;
	struct database_core_TQueryRecord_obj* _database_core_trowenumerator_record;
};
extern struct BBClass_database_core_TRowEnumerator database_core_TRowEnumerator;
void _database_core_TQueryResultSet_New(struct database_core_TQueryResultSet_obj* o);
void _database_core_TQueryResultSet_Delete(struct database_core_TQueryResultSet_obj* o);
typedef struct database_core_TQueryResultSet_obj* (*database_core_TQueryResultSet_Create_TTQueryResultSet_TTDBConnectionS_f)(struct database_core_TDBConnection_obj*,BBSTRING);
struct database_core_TQueryResultSet_obj* database_core_TQueryResultSet_Create_TTQueryResultSet_TTDBConnectionS(struct database_core_TDBConnection_obj*,BBSTRING);
typedef void (*database_core_TQueryResultSet_Init_TTDBConnectionS_m)(struct database_core_TQueryResultSet_obj*,struct database_core_TDBConnection_obj*,BBSTRING);
void _database_core_TQueryResultSet_Init_TTDBConnectionS(struct database_core_TQueryResultSet_obj*,struct database_core_TDBConnection_obj*,BBSTRING);
typedef void (*database_core_TQueryResultSet_clearBindValues_m)(struct database_core_TQueryResultSet_obj*);
void _database_core_TQueryResultSet_clearBindValues(struct database_core_TQueryResultSet_obj*);
typedef void (*database_core_TQueryResultSet_clear_m)(struct database_core_TQueryResultSet_obj*);
void _database_core_TQueryResultSet_clear(struct database_core_TQueryResultSet_obj*);
typedef BBINT (*database_core_TQueryResultSet_executeQuery_S_m)(struct database_core_TQueryResultSet_obj*,BBSTRING);
BBINT _database_core_TQueryResultSet_executeQuery_S(struct database_core_TQueryResultSet_obj*,BBSTRING);
typedef BBINT (*database_core_TQueryResultSet_prepare_S_m)(struct database_core_TQueryResultSet_obj*,BBSTRING);
BBINT _database_core_TQueryResultSet_prepare_S(struct database_core_TQueryResultSet_obj*,BBSTRING);
typedef BBINT (*database_core_TQueryResultSet_execute_m)(struct database_core_TQueryResultSet_obj*);
BBINT _database_core_TQueryResultSet_execute(struct database_core_TQueryResultSet_obj*);
typedef BBINT (*database_core_TQueryResultSet_firstRow_m)(struct database_core_TQueryResultSet_obj*);
BBINT _database_core_TQueryResultSet_firstRow(struct database_core_TQueryResultSet_obj*);
typedef BBINT (*database_core_TQueryResultSet_nextRow_m)(struct database_core_TQueryResultSet_obj*);
BBINT _database_core_TQueryResultSet_nextRow(struct database_core_TQueryResultSet_obj*);
typedef BBLONG (*database_core_TQueryResultSet_lastInsertedId_m)(struct database_core_TQueryResultSet_obj*);
BBLONG _database_core_TQueryResultSet_lastInsertedId(struct database_core_TQueryResultSet_obj*);
typedef BBINT (*database_core_TQueryResultSet_rowsAffected_m)(struct database_core_TQueryResultSet_obj*);
BBINT _database_core_TQueryResultSet_rowsAffected(struct database_core_TQueryResultSet_obj*);
typedef BBINT (*database_core_TQueryResultSet_dbTypeFromNative_i_Sii_f)(BBSTRING,BBINT,BBINT);
BBINT database_core_TQueryResultSet_dbTypeFromNative_i_Sii(BBSTRING,BBINT,BBINT);
typedef struct database_core_TQueryRecord_obj* (*database_core_TQueryResultSet_rowRecord_m)(struct database_core_TQueryResultSet_obj*);
struct database_core_TQueryRecord_obj* _database_core_TQueryResultSet_rowRecord(struct database_core_TQueryResultSet_obj*);
typedef struct database_core_dbtypes_TDBType_obj* (*database_core_TQueryResultSet_dataValue_i_m)(struct database_core_TQueryResultSet_obj*,BBINT);
struct database_core_dbtypes_TDBType_obj* _database_core_TQueryResultSet_dataValue_i(struct database_core_TQueryResultSet_obj*,BBINT);
typedef BBINT (*database_core_TQueryResultSet_rowIndex_m)(struct database_core_TQueryResultSet_obj*);
BBINT _database_core_TQueryResultSet_rowIndex(struct database_core_TQueryResultSet_obj*);
typedef void (*database_core_TQueryResultSet_setRowIndex_i_m)(struct database_core_TQueryResultSet_obj*,BBINT);
void _database_core_TQueryResultSet_setRowIndex_i(struct database_core_TQueryResultSet_obj*,BBINT);
typedef BBINT (*database_core_TQueryResultSet_isActive_m)(struct database_core_TQueryResultSet_obj*);
BBINT _database_core_TQueryResultSet_isActive(struct database_core_TQueryResultSet_obj*);
typedef BBINT (*database_core_TQueryResultSet_isValid_m)(struct database_core_TQueryResultSet_obj*);
BBINT _database_core_TQueryResultSet_isValid(struct database_core_TQueryResultSet_obj*);
typedef void (*database_core_TQueryResultSet_resetValues_i_m)(struct database_core_TQueryResultSet_obj*,BBINT);
void _database_core_TQueryResultSet_resetValues_i(struct database_core_TQueryResultSet_obj*,BBINT);
typedef void (*database_core_TQueryResultSet_resetBindCount_m)(struct database_core_TQueryResultSet_obj*);
void _database_core_TQueryResultSet_resetBindCount(struct database_core_TQueryResultSet_obj*);
typedef void (*database_core_TQueryResultSet_addBindValue_TTDBType_m)(struct database_core_TQueryResultSet_obj*,struct database_core_dbtypes_TDBType_obj*);
void _database_core_TQueryResultSet_addBindValue_TTDBType(struct database_core_TQueryResultSet_obj*,struct database_core_dbtypes_TDBType_obj*);
typedef void (*database_core_TQueryResultSet_bindValue_iTTDBType_m)(struct database_core_TQueryResultSet_obj*,BBINT,struct database_core_dbtypes_TDBType_obj*);
void _database_core_TQueryResultSet_bindValue_iTTDBType(struct database_core_TQueryResultSet_obj*,BBINT,struct database_core_dbtypes_TDBType_obj*);
typedef void (*database_core_TQueryResultSet_reset_m)(struct database_core_TQueryResultSet_obj*);
void _database_core_TQueryResultSet_reset(struct database_core_TQueryResultSet_obj*);
typedef void (*database_core_TQueryResultSet_free_m)(struct database_core_TQueryResultSet_obj*);
void _database_core_TQueryResultSet_free(struct database_core_TQueryResultSet_obj*);
struct BBClass_database_core_TQueryResultSet {
	BBClass*  super;
	void      (*free)( BBObject *o );
	BBDebugScope* debug_scope;
	unsigned int instance_size;
	void      (*ctor)( BBOBJECT o );
	void      (*dtor)( BBOBJECT o );
	BBSTRING  (*ToString)( BBOBJECT x );
	int       (*Compare)( BBOBJECT x,BBOBJECT y );
	BBOBJECT  (*SendMessage)( BBOBJECT o,BBOBJECT m,BBOBJECT s );
	BBINTERFACETABLE itable;
	void*     extra;
	unsigned int obj_size;
	unsigned int instance_count;
	unsigned int fields_offset;
	database_core_TQueryResultSet_Create_TTQueryResultSet_TTDBConnectionS_f f_Create_TTQueryResultSet_TTDBConnectionS;
	database_core_TQueryResultSet_Init_TTDBConnectionS_m m_Init_TTDBConnectionS;
	database_core_TQueryResultSet_clearBindValues_m m_clearBindValues;
	database_core_TQueryResultSet_clear_m m_clear;
	database_core_TQueryResultSet_executeQuery_S_m m_executeQuery_S;
	database_core_TQueryResultSet_prepare_S_m m_prepare_S;
	database_core_TQueryResultSet_execute_m m_execute;
	database_core_TQueryResultSet_firstRow_m m_firstRow;
	database_core_TQueryResultSet_nextRow_m m_nextRow;
	database_core_TQueryResultSet_lastInsertedId_m m_lastInsertedId;
	database_core_TQueryResultSet_rowsAffected_m m_rowsAffected;
	database_core_TQueryResultSet_dbTypeFromNative_i_Sii_f f_dbTypeFromNative_i_Sii;
	database_core_TQueryResultSet_rowRecord_m m_rowRecord;
	database_core_TQueryResultSet_dataValue_i_m m_dataValue_i;
	database_core_TQueryResultSet_rowIndex_m m_rowIndex;
	database_core_TQueryResultSet_setRowIndex_i_m m_setRowIndex_i;
	database_core_TQueryResultSet_isActive_m m_isActive;
	database_core_TQueryResultSet_isValid_m m_isValid;
	database_core_TQueryResultSet_resetValues_i_m m_resetValues_i;
	database_core_TQueryResultSet_resetBindCount_m m_resetBindCount;
	database_core_TQueryResultSet_addBindValue_TTDBType_m m_addBindValue_TTDBType;
	database_core_TQueryResultSet_bindValue_iTTDBType_m m_bindValue_iTTDBType;
	database_core_TQueryResultSet_reset_m m_reset;
	database_core_TQueryResultSet_free_m m_free;
};

struct database_core_TQueryResultSet_obj {
	struct BBClass_database_core_TQueryResultSet* clas;
	struct database_core_TDBConnection_obj* _database_core_tqueryresultset_conn;
	BBBYTE* _database_core_tqueryresultset_stmthandle;
	BBSTRING _database_core_tqueryresultset_query;
	BBINT _database_core_tqueryresultset__isactive;
	BBINT _database_core_tqueryresultset_index;
	BBARRAY _database_core_tqueryresultset_values;
	BBINT _database_core_tqueryresultset_bindcount;
	BBARRAY _database_core_tqueryresultset_boundvalues;
	struct database_core_TQueryRecord_obj* _database_core_tqueryresultset_rec;
};
extern struct BBClass_database_core_TQueryResultSet database_core_TQueryResultSet;
void _database_core_TQueryRecord_New(struct database_core_TQueryRecord_obj* o);
void _database_core_TQueryRecord_Delete(struct database_core_TQueryRecord_obj* o);
typedef struct database_core_TQueryRecord_obj* (*database_core_TQueryRecord_Create_TTQueryRecord_f)();
struct database_core_TQueryRecord_obj* database_core_TQueryRecord_Create_TTQueryRecord();
typedef struct database_core_TQueryField_obj* (*database_core_TQueryRecord_getField_i_m)(struct database_core_TQueryRecord_obj*,BBINT);
struct database_core_TQueryField_obj* _database_core_TQueryRecord_getField_i(struct database_core_TQueryRecord_obj*,BBINT);
typedef struct database_core_TQueryField_obj* (*database_core_TQueryRecord_getFieldByName_S_m)(struct database_core_TQueryRecord_obj*,BBSTRING);
struct database_core_TQueryField_obj* _database_core_TQueryRecord_getFieldByName_S(struct database_core_TQueryRecord_obj*,BBSTRING);
typedef BBINT (*database_core_TQueryRecord_indexOf_S_m)(struct database_core_TQueryRecord_obj*,BBSTRING);
BBINT _database_core_TQueryRecord_indexOf_S(struct database_core_TQueryRecord_obj*,BBSTRING);
typedef BBINT (*database_core_TQueryRecord_count_m)(struct database_core_TQueryRecord_obj*);
BBINT _database_core_TQueryRecord_count(struct database_core_TQueryRecord_obj*);
typedef BBINT (*database_core_TQueryRecord_isEmpty_m)(struct database_core_TQueryRecord_obj*);
BBINT _database_core_TQueryRecord_isEmpty(struct database_core_TQueryRecord_obj*);
typedef void (*database_core_TQueryRecord_setValue_iTObject_m)(struct database_core_TQueryRecord_obj*,BBINT,BBOBJECT);
void _database_core_TQueryRecord_setValue_iTObject(struct database_core_TQueryRecord_obj*,BBINT,BBOBJECT);
typedef struct database_core_dbtypes_TDBType_obj* (*database_core_TQueryRecord_value_i_m)(struct database_core_TQueryRecord_obj*,BBINT);
struct database_core_dbtypes_TDBType_obj* _database_core_TQueryRecord_value_i(struct database_core_TQueryRecord_obj*,BBINT);
typedef BBSTRING (*database_core_TQueryRecord_getString_i_m)(struct database_core_TQueryRecord_obj*,BBINT);
BBSTRING _database_core_TQueryRecord_getString_i(struct database_core_TQueryRecord_obj*,BBINT);
typedef BBSTRING (*database_core_TQueryRecord_getStringByName_S_m)(struct database_core_TQueryRecord_obj*,BBSTRING);
BBSTRING _database_core_TQueryRecord_getStringByName_S(struct database_core_TQueryRecord_obj*,BBSTRING);
typedef BBINT (*database_core_TQueryRecord_getInt_i_m)(struct database_core_TQueryRecord_obj*,BBINT);
BBINT _database_core_TQueryRecord_getInt_i(struct database_core_TQueryRecord_obj*,BBINT);
typedef BBINT (*database_core_TQueryRecord_getIntByName_S_m)(struct database_core_TQueryRecord_obj*,BBSTRING);
BBINT _database_core_TQueryRecord_getIntByName_S(struct database_core_TQueryRecord_obj*,BBSTRING);
typedef BBLONG (*database_core_TQueryRecord_getLong_i_m)(struct database_core_TQueryRecord_obj*,BBINT);
BBLONG _database_core_TQueryRecord_getLong_i(struct database_core_TQueryRecord_obj*,BBINT);
typedef BBLONG (*database_core_TQueryRecord_getLongByName_S_m)(struct database_core_TQueryRecord_obj*,BBSTRING);
BBLONG _database_core_TQueryRecord_getLongByName_S(struct database_core_TQueryRecord_obj*,BBSTRING);
typedef BBFLOAT (*database_core_TQueryRecord_getFloat_i_m)(struct database_core_TQueryRecord_obj*,BBINT);
BBFLOAT _database_core_TQueryRecord_getFloat_i(struct database_core_TQueryRecord_obj*,BBINT);
typedef BBFLOAT (*database_core_TQueryRecord_getFloatByName_S_m)(struct database_core_TQueryRecord_obj*,BBSTRING);
BBFLOAT _database_core_TQueryRecord_getFloatByName_S(struct database_core_TQueryRecord_obj*,BBSTRING);
typedef BBDOUBLE (*database_core_TQueryRecord_getDouble_i_m)(struct database_core_TQueryRecord_obj*,BBINT);
BBDOUBLE _database_core_TQueryRecord_getDouble_i(struct database_core_TQueryRecord_obj*,BBINT);
typedef BBSTRING (*database_core_TQueryRecord_getDoubleByName_S_m)(struct database_core_TQueryRecord_obj*,BBSTRING);
BBSTRING _database_core_TQueryRecord_getDoubleByName_S(struct database_core_TQueryRecord_obj*,BBSTRING);
typedef void (*database_core_TQueryRecord_clear_m)(struct database_core_TQueryRecord_obj*);
void _database_core_TQueryRecord_clear(struct database_core_TQueryRecord_obj*);
typedef void (*database_core_TQueryRecord_Init_i_m)(struct database_core_TQueryRecord_obj*,BBINT);
void _database_core_TQueryRecord_Init_i(struct database_core_TQueryRecord_obj*,BBINT);
typedef void (*database_core_TQueryRecord_setField_iTTQueryField_m)(struct database_core_TQueryRecord_obj*,BBINT,struct database_core_TQueryField_obj*);
void _database_core_TQueryRecord_setField_iTTQueryField(struct database_core_TQueryRecord_obj*,BBINT,struct database_core_TQueryField_obj*);
typedef void (*database_core_TQueryRecord_setIsEmptySet_m)(struct database_core_TQueryRecord_obj*);
void _database_core_TQueryRecord_setIsEmptySet(struct database_core_TQueryRecord_obj*);
struct BBClass_database_core_TQueryRecord {
	BBClass*  super;
	void      (*free)( BBObject *o );
	BBDebugScope* debug_scope;
	unsigned int instance_size;
	void      (*ctor)( BBOBJECT o );
	void      (*dtor)( BBOBJECT o );
	BBSTRING  (*ToString)( BBOBJECT x );
	int       (*Compare)( BBOBJECT x,BBOBJECT y );
	BBOBJECT  (*SendMessage)( BBOBJECT o,BBOBJECT m,BBOBJECT s );
	BBINTERFACETABLE itable;
	void*     extra;
	unsigned int obj_size;
	unsigned int instance_count;
	unsigned int fields_offset;
	database_core_TQueryRecord_Create_TTQueryRecord_f f_Create_TTQueryRecord;
	database_core_TQueryRecord_getField_i_m m_getField_i;
	database_core_TQueryRecord_getFieldByName_S_m m_getFieldByName_S;
	database_core_TQueryRecord_indexOf_S_m m_indexOf_S;
	database_core_TQueryRecord_count_m m_count;
	database_core_TQueryRecord_isEmpty_m m_isEmpty;
	database_core_TQueryRecord_setValue_iTObject_m m_setValue_iTObject;
	database_core_TQueryRecord_value_i_m m_value_i;
	database_core_TQueryRecord_getString_i_m m_getString_i;
	database_core_TQueryRecord_getStringByName_S_m m_getStringByName_S;
	database_core_TQueryRecord_getInt_i_m m_getInt_i;
	database_core_TQueryRecord_getIntByName_S_m m_getIntByName_S;
	database_core_TQueryRecord_getLong_i_m m_getLong_i;
	database_core_TQueryRecord_getLongByName_S_m m_getLongByName_S;
	database_core_TQueryRecord_getFloat_i_m m_getFloat_i;
	database_core_TQueryRecord_getFloatByName_S_m m_getFloatByName_S;
	database_core_TQueryRecord_getDouble_i_m m_getDouble_i;
	database_core_TQueryRecord_getDoubleByName_S_m m_getDoubleByName_S;
	database_core_TQueryRecord_clear_m m_clear;
	database_core_TQueryRecord_Init_i_m m_Init_i;
	database_core_TQueryRecord_setField_iTTQueryField_m m_setField_iTTQueryField;
	database_core_TQueryRecord_setIsEmptySet_m m_setIsEmptySet;
};

struct database_core_TQueryRecord_obj {
	struct BBClass_database_core_TQueryRecord* clas;
	BBINT _database_core_tqueryrecord__empty;
	BBINT _database_core_tqueryrecord__isemptyset;
	BBARRAY _database_core_tqueryrecord_fields;
	struct brl_map_TMap_obj* _database_core_tqueryrecord_fieldsmap;
};
extern struct BBClass_database_core_TQueryRecord database_core_TQueryRecord;
void _database_core_TQueryField_New(struct database_core_TQueryField_obj* o);
void _database_core_TQueryField_Delete(struct database_core_TQueryField_obj* o);
typedef struct database_core_TQueryField_obj* (*database_core_TQueryField_Create_TTQueryField_Si_f)(BBSTRING,BBINT);
struct database_core_TQueryField_obj* database_core_TQueryField_Create_TTQueryField_Si(BBSTRING,BBINT);
typedef void (*database_core_TQueryField_clear_m)(struct database_core_TQueryField_obj*);
void _database_core_TQueryField_clear(struct database_core_TQueryField_obj*);
typedef void (*database_core_TQueryField_setValue_TObject_m)(struct database_core_TQueryField_obj*,BBOBJECT);
void _database_core_TQueryField_setValue_TObject(struct database_core_TQueryField_obj*,BBOBJECT);
struct BBClass_database_core_TQueryField {
	BBClass*  super;
	void      (*free)( BBObject *o );
	BBDebugScope* debug_scope;
	unsigned int instance_size;
	void      (*ctor)( BBOBJECT o );
	void      (*dtor)( BBOBJECT o );
	BBSTRING  (*ToString)( BBOBJECT x );
	int       (*Compare)( BBOBJECT x,BBOBJECT y );
	BBOBJECT  (*SendMessage)( BBOBJECT o,BBOBJECT m,BBOBJECT s );
	BBINTERFACETABLE itable;
	void*     extra;
	unsigned int obj_size;
	unsigned int instance_count;
	unsigned int fields_offset;
	database_core_TQueryField_Create_TTQueryField_Si_f f_Create_TTQueryField_Si;
	database_core_TQueryField_clear_m m_clear;
	database_core_TQueryField_setValue_TObject_m m_setValue_TObject;
};

struct database_core_TQueryField_obj {
	struct BBClass_database_core_TQueryField* clas;
	BBSTRING _database_core_tqueryfield_name;
	BBINT _database_core_tqueryfield_ftype;
	BBINT _database_core_tqueryfield_length;
	BBINT _database_core_tqueryfield_precision;
	struct database_core_dbtypes_TDBType_obj* _database_core_tqueryfield_value;
	BBINT _database_core_tqueryfield_nullable;
	BBINT _database_core_tqueryfield_dtype;
	BBINT _database_core_tqueryfield_dflags;
};
extern struct BBClass_database_core_TQueryField database_core_TQueryField;
void _database_core_TDatabaseError_New(struct database_core_TDatabaseError_obj* o);
void _database_core_TDatabaseError_Delete(struct database_core_TDatabaseError_obj* o);
BBSTRING _database_core_TDatabaseError_ToString(struct database_core_TDatabaseError_obj* o);
typedef struct database_core_TDatabaseError_obj* (*database_core_TDatabaseError_Create_TTDatabaseError_TTDBConnectionSSii_f)(struct database_core_TDBConnection_obj*,BBSTRING,BBSTRING,BBINT,BBINT);
struct database_core_TDatabaseError_obj* database_core_TDatabaseError_Create_TTDatabaseError_TTDBConnectionSSii(struct database_core_TDBConnection_obj*,BBSTRING,BBSTRING,BBINT,BBINT);
typedef void (*database_core_TDatabaseError_reset_m)(struct database_core_TDatabaseError_obj*);
void _database_core_TDatabaseError_reset(struct database_core_TDatabaseError_obj*);
typedef BBINT (*database_core_TDatabaseError_isSet_m)(struct database_core_TDatabaseError_obj*);
BBINT _database_core_TDatabaseError_isSet(struct database_core_TDatabaseError_obj*);
typedef BBSTRING (*database_core_TDatabaseError_nativeError_m)(struct database_core_TDatabaseError_obj*);
BBSTRING _database_core_TDatabaseError_nativeError(struct database_core_TDatabaseError_obj*);
struct BBClass_database_core_TDatabaseError {
	BBClass*  super;
	void      (*free)( BBObject *o );
	BBDebugScope* debug_scope;
	unsigned int instance_size;
	void      (*ctor)( BBOBJECT o );
	void      (*dtor)( BBOBJECT o );
	BBSTRING  (*ToString)( struct database_core_TDatabaseError_obj* x );
	int       (*Compare)( BBOBJECT x,BBOBJECT y );
	BBOBJECT  (*SendMessage)( BBOBJECT o,BBOBJECT m,BBOBJECT s );
	BBINTERFACETABLE itable;
	void*     extra;
	unsigned int obj_size;
	unsigned int instance_count;
	unsigned int fields_offset;
	database_core_TDatabaseError_Create_TTDatabaseError_TTDBConnectionSSii_f f_Create_TTDatabaseError_TTDBConnectionSSii;
	database_core_TDatabaseError_reset_m m_reset;
	database_core_TDatabaseError_isSet_m m_isSet;
	database_core_TDatabaseError_nativeError_m m_nativeError;
};

struct database_core_TDatabaseError_obj {
	struct BBClass_database_core_TDatabaseError* clas;
	struct database_core_TDBConnection_obj* _database_core_tdatabaseerror_db;
	BBSTRING _database_core_tdatabaseerror_error;
	BBINT _database_core_tdatabaseerror_errortype;
	BBINT _database_core_tdatabaseerror_errorvalue;
};
extern struct BBClass_database_core_TDatabaseError database_core_TDatabaseError;
void _database_core_TDBTable_New(struct database_core_TDBTable_obj* o);
typedef void (*database_core_TDBTable_SetCountColumns_i_m)(struct database_core_TDBTable_obj*,BBINT);
void _database_core_TDBTable_SetCountColumns_i(struct database_core_TDBTable_obj*,BBINT);
typedef void (*database_core_TDBTable_SetColumn_iTTDBColumn_m)(struct database_core_TDBTable_obj*,BBINT,struct database_core_TDBColumn_obj*);
void _database_core_TDBTable_SetColumn_iTTDBColumn(struct database_core_TDBTable_obj*,BBINT,struct database_core_TDBColumn_obj*);
struct BBClass_database_core_TDBTable {
	BBClass*  super;
	void      (*free)( BBObject *o );
	BBDebugScope* debug_scope;
	unsigned int instance_size;
	void      (*ctor)( BBOBJECT o );
	void      (*dtor)( BBOBJECT o );
	BBSTRING  (*ToString)( BBOBJECT x );
	int       (*Compare)( BBOBJECT x,BBOBJECT y );
	BBOBJECT  (*SendMessage)( BBOBJECT o,BBOBJECT m,BBOBJECT s );
	BBINTERFACETABLE itable;
	void*     extra;
	unsigned int obj_size;
	unsigned int instance_count;
	unsigned int fields_offset;
	database_core_TDBTable_SetCountColumns_i_m m_SetCountColumns_i;
	database_core_TDBTable_SetColumn_iTTDBColumn_m m_SetColumn_iTTDBColumn;
};

struct database_core_TDBTable_obj {
	struct BBClass_database_core_TDBTable* clas;
	BBSTRING _database_core_tdbtable_name;
	BBARRAY _database_core_tdbtable_columns;
	BBSTRING _database_core_tdbtable_ddl;
};
extern struct BBClass_database_core_TDBTable database_core_TDBTable;
void _database_core_TDBColumn_New(struct database_core_TDBColumn_obj* o);
typedef struct database_core_TDBColumn_obj* (*database_core_TDBColumn_Create_TTDBColumn_SiiTTDBType_f)(BBSTRING,BBINT,BBINT,struct database_core_dbtypes_TDBType_obj*);
struct database_core_TDBColumn_obj* database_core_TDBColumn_Create_TTDBColumn_SiiTTDBType(BBSTRING,BBINT,BBINT,struct database_core_dbtypes_TDBType_obj*);
struct BBClass_database_core_TDBColumn {
	BBClass*  super;
	void      (*free)( BBObject *o );
	BBDebugScope* debug_scope;
	unsigned int instance_size;
	void      (*ctor)( BBOBJECT o );
	void      (*dtor)( BBOBJECT o );
	BBSTRING  (*ToString)( BBOBJECT x );
	int       (*Compare)( BBOBJECT x,BBOBJECT y );
	BBOBJECT  (*SendMessage)( BBOBJECT o,BBOBJECT m,BBOBJECT s );
	BBINTERFACETABLE itable;
	void*     extra;
	unsigned int obj_size;
	unsigned int instance_count;
	unsigned int fields_offset;
	database_core_TDBColumn_Create_TTDBColumn_SiiTTDBType_f f_Create_TTDBColumn_SiiTTDBType;
};

struct database_core_TDBColumn_obj {
	struct BBClass_database_core_TDBColumn* clas;
	BBSTRING _database_core_tdbcolumn_name;
	BBINT _database_core_tdbcolumn_dbtype;
	BBINT _database_core_tdbcolumn_nullable;
	struct database_core_dbtypes_TDBType_obj* _database_core_tdbcolumn_defaultvalue;
};
extern struct BBClass_database_core_TDBColumn database_core_TDBColumn;
BBSTRING database_core_convertISO8859toUTF8(BBSTRING bbt_text);
BBSTRING database_core_convertUTF8toISO8859(BBBYTE* bbt_s);
BBSTRING database_core_sizedUTF8toISO8859(BBBYTE* bbt_s,BBINT bbt_size);
void database_core_AddDatabaseLoader(struct database_core_TDatabaseLoader_obj* bbt_loader);
struct database_core_TDBConnection_obj* database_core_LoadDatabase(BBSTRING bbt_dbType,BBSTRING bbt_dbname,BBSTRING bbt_host,BBINT bbt_port,BBSTRING bbt_user,BBSTRING bbt_password,BBSTRING bbt_server,BBSTRING bbt_options);

#endif
