#include <database.mod/odbc.mod/.bmx/odbc.bmx.debug.win32.x64.h>
struct BBString_4{BBClass_String* clas;BBULONG hash;int length;BBChar buf[4];};
struct BBString_10{BBClass_String* clas;BBULONG hash;int length;BBChar buf[10];};
struct BBString_6{BBClass_String* clas;BBULONG hash;int length;BBChar buf[6];};
struct BBString_5{BBClass_String* clas;BBULONG hash;int length;BBChar buf[5];};
struct BBString_27{BBClass_String* clas;BBULONG hash;int length;BBChar buf[27];};
struct BBString_28{BBClass_String* clas;BBULONG hash;int length;BBChar buf[28];};
struct BBString_33{BBClass_String* clas;BBULONG hash;int length;BBChar buf[33];};
struct BBString_24{BBClass_String* clas;BBULONG hash;int length;BBChar buf[24];};
struct BBString_25{BBClass_String* clas;BBULONG hash;int length;BBChar buf[25];};
struct BBString_18{BBClass_String* clas;BBULONG hash;int length;BBChar buf[18];};
struct BBString_30{BBClass_String* clas;BBULONG hash;int length;BBChar buf[30];};
struct BBString_32{BBClass_String* clas;BBULONG hash;int length;BBChar buf[32];};
struct BBString_26{BBClass_String* clas;BBULONG hash;int length;BBChar buf[26];};
struct BBString_8{BBClass_String* clas;BBULONG hash;int length;BBChar buf[8];};
struct BBString_57{BBClass_String* clas;BBULONG hash;int length;BBChar buf[57];};
static struct BBString_4 _s11={
	&bbStringClass,
	0x7e995fe2eacd8ef8,
	4,
	{46,100,115,110}
};
static struct BBString_10 _s14={
	&bbStringClass,
	0xb5694236bd9d899e,
	10,
	{59,68,65,84,65,66,65,83,69,61}
};
static struct BBString_6 _s17={
	&bbStringClass,
	0x8cefd1e2cae1bf78,
	6,
	{59,72,79,83,84,61}
};
static struct BBString_6 _s18={
	&bbStringClass,
	0x4671e02e0b7e58df,
	6,
	{59,80,79,82,84,61}
};
static struct BBString_5 _s16={
	&bbStringClass,
	0x273c473758899112,
	5,
	{59,80,87,68,61}
};
static struct BBString_6 _s15={
	&bbStringClass,
	0xbe77a70ddeba6ae9,
	6,
	{59,85,83,69,82,61}
};
static struct BBString_6 _s9={
	&bbStringClass,
	0xe549307de01c2324,
	6,
	{68,82,73,86,69,82}
};
static struct BBString_4 _s13={
	&bbStringClass,
	0xb2221c7e30226eb3,
	4,
	{68,83,78,61}
};
static struct BBString_27 _s8={
	&bbStringClass,
	0x73afbdda97baaf02,
	27,
	{69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32
	,99,111,110,110,101,99,116,105,111,110}
};
static struct BBString_28 _s7={
	&bbStringClass,
	0x61cbf0c72558150c,
	28,
	{69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32
	,101,110,118,105,114,111,110,109,101,110,116}
};
static struct BBString_33 _s3={
	&bbStringClass,
	0x863b6fd73797f5a2,
	33,
	{69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32
	,115,116,97,116,101,109,101,110,116,32,104,97,110,100,108,101
}
};
static struct BBString_24 _s26={
	&bbStringClass,
	0x3ec913fdf7a0d7a7,
	24,
	{69,114,114,111,114,32,98,105,110,100,105,110,103,32,112,97,114
	,97,109,101,116,101,114,115}
};
static struct BBString_28 _s1={
	&bbStringClass,
	0x98ccb0d8ca98ec90,
	28,
	{69,114,114,111,114,32,99,111,109,109,105,116,116,105,110,103,32
	,116,114,97,110,115,97,99,116,105,111,110}
};
static struct BBString_24 _s2={
	&bbStringClass,
	0xda50b5525912fa1e,
	24,
	{69,114,114,111,114,32,101,110,100,105,110,103,32,116,114,97,110
	,115,97,99,116,105,111,110}
};
static struct BBString_25 _s23={
	&bbStringClass,
	0x97c2d963e4b94776,
	25,
	{69,114,114,111,114,32,101,120,101,99,117,116,105,110,103,32,115
	,116,97,116,101,109,101,110,116}
};
static struct BBString_18 _s27={
	&bbStringClass,
	0xf56f8bb3e2dbfeca,
	18,
	{69,114,114,111,114,32,102,101,116,99,104,105,110,103,32,114,111
	,119}
};
static struct BBString_30 _s22={
	&bbStringClass,
	0x5b028ffd202f7bad,
	30,
	{69,114,114,111,114,32,102,114,101,101,105,110,103,32,115,116,97
	,116,101,109,101,110,116,32,104,97,110,100,108,101}
};
static struct BBString_32 _s24={
	&bbStringClass,
	0xb002177506c5887e,
	32,
	{69,114,114,111,114,32,103,101,116,116,105,110,103,32,99,111,108
	,117,109,110,32,100,101,115,99,114,105,112,116,105,111,110}
};
static struct BBString_24 _s19={
	&bbStringClass,
	0x8a34758eb0da4801,
	24,
	{69,114,114,111,114,32,111,112,101,110,105,110,103,32,99,111,110
	,110,101,99,116,105,111,110}
};
static struct BBString_25 _s25={
	&bbStringClass,
	0x48fa39593b31d4a4,
	25,
	{69,114,114,111,114,32,112,114,101,112,97,114,105,110,103,32,115
	,116,97,116,101,109,101,110,116}
};
static struct BBString_30 _s20={
	&bbStringClass,
	0xa04557736a983af5,
	30,
	{69,114,114,111,114,32,114,111,108,108,105,110,103,32,98,97,99
	,107,32,116,114,97,110,115,97,99,116,105,111,110}
};
static struct BBString_25 _s4={
	&bbStringClass,
	0x24bae402abe414e3,
	25,
	{69,114,114,111,114,32,115,101,116,116,105,110,103,32,99,117,114
	,115,111,114,32,116,121,112,101}
};
static struct BBString_26 _s21={
	&bbStringClass,
	0x2182482802d813a0,
	26,
	{69,114,114,111,114,32,115,116,97,114,116,105,110,103,32,116,114
	,97,110,115,97,99,116,105,111,110}
};
static struct BBString_8 _s12={
	&bbStringClass,
	0xe6e6eb196df5fefc,
	8,
	{70,73,76,69,68,83,78,61}
};
static struct BBString_4 _s28={
	&bbStringClass,
	0x84955c8aefc8f11c,
	4,
	{79,68,66,67}
};
static struct BBString_6 _s10={
	&bbStringClass,
	0x5b03365d37a754e3,
	6,
	{83,69,82,86,69,82}
};
static struct BBString_5 _s5={
	&bbStringClass,
	0xd0706d6cfa8e09d1,
	5,
	{84,65,66,76,69}
};
static struct BBString_57 _s6={
	&bbStringClass,
	0x4a83b4a2b8d86b64,
	57,
	{115,101,114,118,101,114,32,105,100,101,110,116,105,102,105,101,115
	,32,116,104,101,32,68,97,116,97,115,111,117,114,99,101,32
	,110,97,109,101,46,32,73,116,32,99,97,110,110,111,116,32
	,98,101,32,101,109,112,116,121}
};
struct BBDebugScope_1{int kind; const char *name; BBDebugDecl decls[2]; };
struct BBDebugScope_12{int kind; const char *name; BBDebugDecl decls[13]; };
struct BBDebugScope_16{int kind; const char *name; BBDebugDecl decls[17]; };
struct BBDebugScope_2{int kind; const char *name; BBDebugDecl decls[3]; };
struct BBDebugScope_3{int kind; const char *name; BBDebugDecl decls[4]; };
struct BBDebugScope_4{int kind; const char *name; BBDebugDecl decls[5]; };
struct BBDebugScope_5{int kind; const char *name; BBDebugDecl decls[6]; };
struct BBDebugScope_6{int kind; const char *name; BBDebugDecl decls[7]; };
struct BBDebugScope_7{int kind; const char *name; BBDebugDecl decls[8]; };
struct BBDebugScope_8{int kind; const char *name; BBDebugDecl decls[9]; };
struct BBDebugScope_9{int kind; const char *name; BBDebugDecl decls[10]; };
void _database_odbc_TODBCDatabaseLoader_New(struct database_odbc_TODBCDatabaseLoader_obj* o) {
	_database_core_TDatabaseLoader_New((struct database_core_TDatabaseLoader_obj*)o);
	o->clas = &database_odbc_TODBCDatabaseLoader;
	struct BBDebugScope __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"New",
		{
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1040, 0};
	bbOnDebugEnterStm(&__stmt_0);
	((struct database_core_TDatabaseLoader_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdatabaseloader__type =((BBString*)&_s28);
	bbOnDebugLeaveScope();
}
struct database_core_TDBConnection_obj* _database_odbc_TODBCDatabaseLoader_LoadDatabase_SSiSSSS(struct database_odbc_TODBCDatabaseLoader_obj* o,BBSTRING bbt_dbname,BBSTRING bbt_host,BBINT bbt_port,BBSTRING bbt_user,BBSTRING bbt_password,BBSTRING bbt_server,BBSTRING bbt_options){
	((struct database_odbc_TODBCDatabaseLoader_obj*)bbNullObjectTest((BBObject*)o));
	struct BBDebugScope_8 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"LoadDatabase",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TODBCDatabaseLoader",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"dbname",
				"$",
				.var_address=&bbt_dbname
			},
			{
				BBDEBUGDECL_LOCAL,
				"host",
				"$",
				.var_address=&bbt_host
			},
			{
				BBDEBUGDECL_LOCAL,
				"port",
				"i",
				.var_address=&bbt_port
			},
			{
				BBDEBUGDECL_LOCAL,
				"user",
				"$",
				.var_address=&bbt_user
			},
			{
				BBDEBUGDECL_LOCAL,
				"password",
				"$",
				.var_address=&bbt_password
			},
			{
				BBDEBUGDECL_LOCAL,
				"server",
				"$",
				.var_address=&bbt_server
			},
			{
				BBDEBUGDECL_LOCAL,
				"options",
				"$",
				.var_address=&bbt_options
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1047, 0};
	bbOnDebugEnterStm(&__stmt_0);
	bbOnDebugLeaveScope();
	return (struct database_core_TDBConnection_obj*)database_odbc_TDBODBC_Create_TTDBConnection_SSiSSSS(bbt_dbname,bbt_host,bbt_port,bbt_user,bbt_password,bbt_server,bbt_options);
}
struct BBDebugScope_2 database_odbc_TODBCDatabaseLoader_scope ={
	BBDEBUGSCOPE_USERTYPE,
	"TODBCDatabaseLoader",
	{
		{
			BBDEBUGDECL_TYPEMETHOD,
			"New",
			"()",
			.func_ptr=(BBFuncPtr)&_database_odbc_TODBCDatabaseLoader_New
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"LoadDatabase",
			"($,$,i,$,$,$,$):TDBConnection",
			.func_ptr=(BBFuncPtr)&_database_odbc_TODBCDatabaseLoader_LoadDatabase_SSiSSSS
		},
		{
			BBDEBUGDECL_END
		}
	}
};
struct BBClass_database_odbc_TODBCDatabaseLoader database_odbc_TODBCDatabaseLoader={
	&database_core_TDatabaseLoader,
	bbObjectFree,
	(BBDebugScope*)&database_odbc_TODBCDatabaseLoader_scope,
	sizeof(struct database_odbc_TODBCDatabaseLoader_obj),
	(void (*)(BBOBJECT))_database_odbc_TODBCDatabaseLoader_New,
	bbObjectDtor,
	bbObjectToString,
	bbObjectCompare,
	bbObjectSendMessage,
	0,
	0,
	0
	,0
	,sizeof(void*)
	,_database_odbc_TODBCDatabaseLoader_LoadDatabase_SSiSSSS
};

void _database_odbc_TDBODBC_New(struct database_odbc_TDBODBC_obj* o) {
	_database_core_TDBConnection_New((struct database_core_TDBConnection_obj*)o);
	o->clas = &database_odbc_TDBODBC;
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o))->_database_odbc_tdbodbc_envhandle = 0;
}
void _database_odbc_TDBODBC_Delete(struct database_odbc_TDBODBC_obj* o) {
	_database_core_TDBConnection_Delete((struct database_core_TDBConnection_obj*)o);
}
struct database_core_TDBConnection_obj* database_odbc_TDBODBC_Create_TTDBConnection_SSiSSSS(BBSTRING bbt_dbname,BBSTRING bbt_host,BBINT bbt_port,BBSTRING bbt_user,BBSTRING bbt_password,BBSTRING bbt_server,BBSTRING bbt_options){
	struct database_odbc_TDBODBC_obj* bbt_this=(struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)&bbNullObject);
	struct BBDebugScope_8 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"Create",
		{
			{
				BBDEBUGDECL_LOCAL,
				"dbname",
				"$",
				.var_address=&bbt_dbname
			},
			{
				BBDEBUGDECL_LOCAL,
				"host",
				"$",
				.var_address=&bbt_host
			},
			{
				BBDEBUGDECL_LOCAL,
				"port",
				"i",
				.var_address=&bbt_port
			},
			{
				BBDEBUGDECL_LOCAL,
				"user",
				"$",
				.var_address=&bbt_user
			},
			{
				BBDEBUGDECL_LOCAL,
				"password",
				"$",
				.var_address=&bbt_password
			},
			{
				BBDEBUGDECL_LOCAL,
				"server",
				"$",
				.var_address=&bbt_server
			},
			{
				BBDEBUGDECL_LOCAL,
				"options",
				"$",
				.var_address=&bbt_options
			},
			{
				BBDEBUGDECL_LOCAL,
				"this",
				":TDBODBC",
				.var_address=&bbt_this
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 83, 0};
	bbOnDebugEnterStm(&__stmt_0);
	bbt_this=(struct database_odbc_TDBODBC_obj*)(struct database_odbc_TDBODBC_obj*)bbObjectNew((BBClass *)&database_odbc_TDBODBC);
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 85, 0};
	bbOnDebugEnterStm(&__stmt_1);
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)bbt_this))->clas->m_Init_SSiSSSS((struct database_core_TDBConnection_obj*)bbt_this,bbt_dbname,bbt_host,bbt_port,bbt_user,bbt_password,bbt_server,bbt_options);
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 87, 0};
	bbOnDebugEnterStm(&__stmt_2);
	if(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)bbt_this))->_database_core_tdbconnection__dbname != &bbEmptyString){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 88, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)bbt_this))->clas->m_open_SS((struct database_odbc_TDBODBC_obj*)bbt_this,bbt_user,bbt_password);
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 91, 0};
	bbOnDebugEnterStm(&__stmt_3);
	bbOnDebugLeaveScope();
	return (struct database_core_TDBConnection_obj*)((struct database_core_TDBConnection_obj*)bbObjectDowncast((BBOBJECT)bbt_this,(BBClass*)&database_core_TDBConnection));
}
void _database_odbc_TDBODBC_close(struct database_odbc_TDBODBC_obj* o){
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
	struct BBDebugScope_1 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"close",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TDBODBC",
				.var_address=&o
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 96, 0};
	bbOnDebugEnterStm(&__stmt_0);
	((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__isopen =0;
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 98, 0};
	bbOnDebugEnterStm(&__stmt_1);
	if(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection_handle ){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 99, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bmx_odbc_disconnectAndFree(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection_handle );
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 100, 0};
		bbOnDebugEnterStm(&__stmt_1);
		((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection_handle =0;
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 103, 0};
	bbOnDebugEnterStm(&__stmt_2);
	if(((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o))->_database_odbc_tdbodbc_envhandle ){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 104, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bmx_odbc_freeEnvHandle(((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o))->_database_odbc_tdbodbc_envhandle );
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 105, 0};
		bbOnDebugEnterStm(&__stmt_1);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o))->_database_odbc_tdbodbc_envhandle =0;
		bbOnDebugLeaveScope();
	}
	bbOnDebugLeaveScope();
}
BBINT _database_odbc_TDBODBC_commit(struct database_odbc_TDBODBC_obj* o){
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
	BBINT bbt_result=0;
	struct BBDebugScope_2 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"commit",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TDBODBC",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"result",
				"i",
				.var_address=&bbt_result
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 111, 0};
	bbOnDebugEnterStm(&__stmt_0);
	if(!(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__isopen !=0)){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 112, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 115, 0};
	bbOnDebugEnterStm(&__stmt_1);
	bbt_result=bmx_odbc_commitTransaction(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection_handle );
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 117, 0};
	bbOnDebugEnterStm(&__stmt_2);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 118, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
		((struct database_odbc_TDBODBC_obj*)o)->clas->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)o,2,((BBString*)&_s1),1,0);
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 119, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 122, 0};
	bbOnDebugEnterStm(&__stmt_3);
	bbt_result=bmx_odbc_toggleTransaction(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection_handle ,1);
	struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 124, 0};
	bbOnDebugEnterStm(&__stmt_4);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 125, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
		((struct database_odbc_TDBODBC_obj*)o)->clas->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)o,2,((BBString*)&_s2),1,0);
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 126, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 129, 0};
	bbOnDebugEnterStm(&__stmt_5);
	bbOnDebugLeaveScope();
	return 1;
}
BBARRAY _database_odbc_TDBODBC_getTables(struct database_odbc_TDBODBC_obj* o){
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
	BBARRAY bbt_list=(&bbEmptyArray);
	BBBYTE* bbt_stmtHandle=0;
	BBINT bbt_result=0;
	struct brl_linkedlist_TList_obj* bbt_tables=(struct brl_linkedlist_TList_obj*)((struct brl_linkedlist_TList_obj*)&bbNullObject);
	struct BBDebugScope_5 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"getTables",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TDBODBC",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"list",
				"[]$",
				.var_address=&bbt_list
			},
			{
				BBDEBUGDECL_LOCAL,
				"stmtHandle",
				"*b",
				.var_address=&bbt_stmtHandle
			},
			{
				BBDEBUGDECL_LOCAL,
				"result",
				"i",
				.var_address=&bbt_result
			},
			{
				BBDEBUGDECL_LOCAL,
				"tables",
				":TList",
				.var_address=&bbt_tables
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 133, 0};
	bbOnDebugEnterStm(&__stmt_0);
	bbt_list=(&bbEmptyArray);
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 135, 0};
	bbOnDebugEnterStm(&__stmt_1);
	if(!(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__isopen !=0)){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 136, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return bbt_list;
	}
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 139, 0};
	bbOnDebugEnterStm(&__stmt_2);
	bbt_stmtHandle=0;
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 142, 0};
	bbOnDebugEnterStm(&__stmt_3);
	bbt_result=bmx_odbc_SQLAllocHandle(3,((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection_handle ,(&bbt_stmtHandle));
	struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 144, 0};
	bbOnDebugEnterStm(&__stmt_4);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 145, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
		((struct database_odbc_TDBODBC_obj*)o)->clas->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)o,2,((BBString*)&_s3),3,0);
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 146, 0};
		bbOnDebugEnterStm(&__stmt_1);
		if(bbt_stmtHandle){
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 147, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbt_result=bmx_odbc_freeStmtHandle(bbt_stmtHandle);
			bbOnDebugLeaveScope();
		}
		struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 149, 0};
		bbOnDebugEnterStm(&__stmt_2);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return bbt_list;
	}
	struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 153, 0};
	bbOnDebugEnterStm(&__stmt_5);
	bbt_result=bmx_odbc_setForwardCursor(bbt_stmtHandle);
	struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 155, 0};
	bbOnDebugEnterStm(&__stmt_6);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 156, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
		((struct database_odbc_TDBODBC_obj*)o)->clas->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)o,3,((BBString*)&_s4),3,bbt_stmtHandle);
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 157, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbt_result=bmx_odbc_freeStmtHandle(bbt_stmtHandle);
		struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 158, 0};
		bbOnDebugEnterStm(&__stmt_2);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return bbt_list;
	}
	struct BBDebugStm __stmt_7 = {0x6f9a552f6000b581, 161, 0};
	bbOnDebugEnterStm(&__stmt_7);
	BBBYTE* bbt_ = (BBBYTE*)bbStringToCString((BBString*)&_s5);
	bbt_result=bmx_odbc_SQLTables(bbt_stmtHandle,bbt_,5);
	bbMemFree(bbt_);
	struct BBDebugStm __stmt_8 = {0x6f9a552f6000b581, 163, 0};
	bbOnDebugEnterStm(&__stmt_8);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 164, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
		((struct database_odbc_TDBODBC_obj*)o)->clas->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)o,3,((BBString*)&_s4),3,bbt_stmtHandle);
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 165, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbt_result=bmx_odbc_freeStmtHandle(bbt_stmtHandle);
		struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 166, 0};
		bbOnDebugEnterStm(&__stmt_2);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return bbt_list;
	}
	struct BBDebugStm __stmt_9 = {0x6f9a552f6000b581, 169, 0};
	bbOnDebugEnterStm(&__stmt_9);
	bbt_result=bmx_odbc_SQLFetchScroll(bbt_stmtHandle);
	struct BBDebugStm __stmt_10 = {0x6f9a552f6000b581, 171, 0};
	bbOnDebugEnterStm(&__stmt_10);
	bbt_tables=(struct brl_linkedlist_TList_obj*)(struct brl_linkedlist_TList_obj*)bbObjectNew((BBClass *)&brl_linkedlist_TList);
	struct BBDebugStm __stmt_11 = {0x6f9a552f6000b581, 172, 0};
	bbOnDebugEnterStm(&__stmt_11);
	while(bbt_result==0){
		BBINT bbt_lenIndicator=0;
		BBBYTE bbt_buffer[256]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
		struct brl_stringbuilder_TStringBuilder_obj* bbt_sb=(struct brl_stringbuilder_TStringBuilder_obj*)((struct brl_stringbuilder_TStringBuilder_obj*)&bbNullObject);
		struct BBDebugScope_3 __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_LOCAL,
					"lenIndicator",
					"i",
					.var_address=&bbt_lenIndicator
				},
				{
					BBDEBUGDECL_LOCAL,
					"buffer",
					"[256]b",
					.var_address=&bbt_buffer
				},
				{
					BBDEBUGDECL_LOCAL,
					"sb",
					":TStringBuilder",
					.var_address=&bbt_sb
				},
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 178, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_lenIndicator=0;
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 179, 0};
		bbOnDebugEnterStm(&__stmt_1);
		struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 180, 0};
		bbOnDebugEnterStm(&__stmt_2);
		bbt_sb=(struct brl_stringbuilder_TStringBuilder_obj*)(struct brl_stringbuilder_TStringBuilder_obj*)bbObjectNew((BBClass *)&brl_stringbuilder_TStringBuilder);
		struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 182, 0};
		bbOnDebugEnterStm(&__stmt_3);
		while(1){
			BBINT bbt_actualSize=0;
			struct BBDebugScope_1 __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_LOCAL,
						"actualSize",
						"i",
						.var_address=&bbt_actualSize
					},
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 184, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbt_result=bmx_odbc_SQLGetData_string(bbt_stmtHandle,3,(bbt_buffer),256,(&bbt_lenIndicator));
			struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 186, 0};
			bbOnDebugEnterStm(&__stmt_1);
			if((database_odbc_isSQLError(bbt_result)!=0) || (bbt_result==100)){
				struct BBDebugScope __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 187, 0};
				bbOnDebugEnterStm(&__stmt_0);
				bbOnDebugLeaveScope();
				bbOnDebugLeaveScope();
				break;
			}
			struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 191, 0};
			bbOnDebugEnterStm(&__stmt_2);
			if((bbt_lenIndicator==-1) || (bbt_lenIndicator==-4)){
				struct BBDebugScope __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 192, 0};
				bbOnDebugEnterStm(&__stmt_0);
				bbOnDebugLeaveScope();
				bbOnDebugLeaveScope();
				break;
			}
			struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 195, 0};
			bbOnDebugEnterStm(&__stmt_3);
			bbt_actualSize=0;
			struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 196, 0};
			bbOnDebugEnterStm(&__stmt_4);
			if(bbt_result==1){
				struct BBDebugScope __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 197, 0};
				bbOnDebugEnterStm(&__stmt_0);
				bbt_actualSize=256;
				bbOnDebugLeaveScope();
			}else{
				struct BBDebugScope __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 199, 0};
				bbOnDebugEnterStm(&__stmt_0);
				bbt_actualSize=bbt_lenIndicator;
				bbOnDebugLeaveScope();
			}
			struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 202, 0};
			bbOnDebugEnterStm(&__stmt_5);
			((struct brl_stringbuilder_TStringBuilder_obj*)bbNullObjectTest((BBObject*)bbt_sb))->clas->m_AppendUTF8Bytes_pbi((struct brl_stringbuilder_TStringBuilder_obj*)bbt_sb,(bbt_buffer),bbt_actualSize);
			struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 204, 0};
			bbOnDebugEnterStm(&__stmt_6);
			if(bbt_lenIndicator<256){
				struct BBDebugScope __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 205, 0};
				bbOnDebugEnterStm(&__stmt_0);
				bbOnDebugLeaveScope();
				bbOnDebugLeaveScope();
				break;
			}
			bbOnDebugLeaveScope();
		}
		struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 209, 0};
		bbOnDebugEnterStm(&__stmt_4);
		((struct brl_linkedlist_TList_obj*)bbNullObjectTest((BBObject*)bbt_tables))->clas->m_AddLast_TObject((struct brl_linkedlist_TList_obj*)bbt_tables,(BBOBJECT)((struct brl_stringbuilder_TStringBuilder_obj*)bbNullObjectTest((BBObject*)bbt_sb))->clas->ToString((struct brl_stringbuilder_TStringBuilder_obj*)bbt_sb));
		struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 211, 0};
		bbOnDebugEnterStm(&__stmt_5);
		bbt_result=bmx_odbc_SQLFetchScroll(bbt_stmtHandle);
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_12 = {0x6f9a552f6000b581, 214, 0};
	bbOnDebugEnterStm(&__stmt_12);
	if(((struct brl_linkedlist_TList_obj*)bbNullObjectTest((BBObject*)bbt_tables))->clas->m_Count((struct brl_linkedlist_TList_obj*)bbt_tables)>0){
		BBINT bbt_i=0;
		struct BBDebugScope_1 __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_LOCAL,
					"i",
					"i",
					.var_address=&bbt_i
				},
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 215, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_list=bbArrayNew1D("$", ((struct brl_linkedlist_TList_obj*)bbNullObjectTest((BBObject*)bbt_tables))->clas->m_Count((struct brl_linkedlist_TList_obj*)bbt_tables));
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 216, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbt_i=0;
		struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 217, 0};
		bbOnDebugEnterStm(&__stmt_2);
		struct brl_linkedlist_TListEnum_obj* bbt_2=(struct brl_linkedlist_TListEnum_obj*)((struct brl_linkedlist_TList_obj*)bbNullObjectTest((BBObject*)bbt_tables))->clas->m_ObjectEnumerator((struct brl_linkedlist_TList_obj*)bbt_tables);
		while(((struct brl_linkedlist_TListEnum_obj*)bbNullObjectTest((BBObject*)bbt_2))->clas->m_HasNext((struct brl_linkedlist_TListEnum_obj*)bbt_2)!=0){
			BBSTRING bbt_s=(&bbEmptyString);
			struct BBDebugScope_1 __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_LOCAL,
						"s",
						"$",
						.var_address=&bbt_s
					},
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			BBOBJECT bbt_3=(BBOBJECT)((struct brl_linkedlist_TListEnum_obj*)bbNullObjectTest((BBObject*)bbt_2))->clas->m_NextObject((struct brl_linkedlist_TListEnum_obj*)bbt_2);
			if(bbObjectIsString((BBOBJECT)bbt_3)==0){
				bbOnDebugLeaveScope();
				continue;
			}
			bbt_s=((BBString *)bbObjectStringcast((BBOBJECT)bbt_3));
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 218, 0};
			bbOnDebugEnterStm(&__stmt_0);
			((BBSTRING*)BBARRAYDATAINDEX((bbt_list),(bbt_list)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=bbt_s;
			struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 219, 0};
			bbOnDebugEnterStm(&__stmt_1);
			bbt_i+=1;
			bbOnDebugLeaveScope();
		}
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_13 = {0x6f9a552f6000b581, 223, 0};
	bbOnDebugEnterStm(&__stmt_13);
	bbt_result=bmx_odbc_freeStmtHandle(bbt_stmtHandle);
	struct BBDebugStm __stmt_14 = {0x6f9a552f6000b581, 225, 0};
	bbOnDebugEnterStm(&__stmt_14);
	bbOnDebugLeaveScope();
	return bbt_list;
}
struct database_core_TDBTable_obj* _database_odbc_TDBODBC_getTableInfo_Si(struct database_odbc_TDBODBC_obj* o,BBSTRING bbt_tableName,BBINT bbt_withDDL){
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
	struct BBDebugScope_3 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"getTableInfo",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TDBODBC",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"tableName",
				"$",
				.var_address=&bbt_tableName
			},
			{
				BBDEBUGDECL_LOCAL,
				"withDDL",
				"i",
				.var_address=&bbt_withDDL
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	bbOnDebugLeaveScope();
	return (struct database_core_TDBTable_obj*)((struct database_core_TDBTable_obj*)&bbNullObject);
}
BBINT _database_odbc_TDBODBC_open_SS(struct database_odbc_TDBODBC_obj* o,BBSTRING bbt_user,BBSTRING bbt_pass){
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
	BBINT bbt_result=0;
	BBSTRING bbt_connect=(&bbEmptyString);
	BBBYTE* bbt_conv=0;
	struct BBDebugScope_6 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"open",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TDBODBC",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"user",
				"$",
				.var_address=&bbt_user
			},
			{
				BBDEBUGDECL_LOCAL,
				"pass",
				"$",
				.var_address=&bbt_pass
			},
			{
				BBDEBUGDECL_LOCAL,
				"result",
				"i",
				.var_address=&bbt_result
			},
			{
				BBDEBUGDECL_LOCAL,
				"connect",
				"$",
				.var_address=&bbt_connect
			},
			{
				BBDEBUGDECL_LOCAL,
				"conv",
				"*b",
				.var_address=&bbt_conv
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 233, 0};
	bbOnDebugEnterStm(&__stmt_0);
	if(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__isopen !=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 234, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
		((struct database_odbc_TDBODBC_obj*)o)->clas->m_close((struct database_odbc_TDBODBC_obj*)o);
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 237, 0};
	bbOnDebugEnterStm(&__stmt_1);
	if (!(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__server != &bbEmptyString)) {
		brl_blitz_RuntimeError(((BBString*)&_s6));
	}
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 239, 0};
	bbOnDebugEnterStm(&__stmt_2);
	if(bbt_user!= &bbEmptyString){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 240, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__user =bbt_user;
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 243, 0};
	bbOnDebugEnterStm(&__stmt_3);
	if(bbt_pass!= &bbEmptyString){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 244, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__password =bbt_pass;
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 248, 0};
	bbOnDebugEnterStm(&__stmt_4);
	bbt_result=bmx_odbc_SQLAllocHandle(1,0,(&((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o))->_database_odbc_tdbodbc_envhandle ));
	struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 250, 0};
	bbOnDebugEnterStm(&__stmt_5);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 251, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
		((struct database_odbc_TDBODBC_obj*)o)->clas->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)o,1,((BBString*)&_s7),2,0);
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 252, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 256, 0};
	bbOnDebugEnterStm(&__stmt_6);
	bmx_odbc_setattr_odbc3(((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o))->_database_odbc_tdbodbc_envhandle );
	struct BBDebugStm __stmt_7 = {0x6f9a552f6000b581, 259, 0};
	bbOnDebugEnterStm(&__stmt_7);
	bbt_result=bmx_odbc_SQLAllocHandle(2,((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o))->_database_odbc_tdbodbc_envhandle ,(&((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection_handle ));
	struct BBDebugStm __stmt_8 = {0x6f9a552f6000b581, 261, 0};
	bbOnDebugEnterStm(&__stmt_8);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 262, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
		((struct database_odbc_TDBODBC_obj*)o)->clas->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)o,2,((BBString*)&_s8),2,0);
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 263, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_9 = {0x6f9a552f6000b581, 269, 0};
	bbOnDebugEnterStm(&__stmt_9);
	bbt_connect=((BBString*)&bbEmptyString);
	struct BBDebugStm __stmt_10 = {0x6f9a552f6000b581, 270, 0};
	bbOnDebugEnterStm(&__stmt_10);
	if((bbStringContains((BBSTRING)((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__server ,((BBString*)&_s9))!=0) || (bbStringContains((BBSTRING)((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__server ,((BBString*)&_s10))!=0)){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 271, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_connect=((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__server ;
		bbOnDebugLeaveScope();
	}else{
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 272, 0};
		bbOnDebugEnterStm(&__stmt_0);
		if(bbStringContains((BBSTRING)((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__server ,((BBString*)&_s11))!=0){
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 273, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbt_connect=bbStringConcat(((BBString*)&_s12),((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__server );
			bbOnDebugLeaveScope();
		}else{
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 275, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbt_connect=bbStringConcat(((BBString*)&_s13),((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__server );
			bbOnDebugLeaveScope();
		}
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_11 = {0x6f9a552f6000b581, 278, 0};
	bbOnDebugEnterStm(&__stmt_11);
	if((((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__dbname != &bbEmptyString) && ((((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__dbname ->length)>0)){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 279, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_connect=bbStringConcat(bbt_connect,(bbStringConcat(((BBString*)&_s14),((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__dbname )));
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_12 = {0x6f9a552f6000b581, 282, 0};
	bbOnDebugEnterStm(&__stmt_12);
	if(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__user != &bbEmptyString){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 283, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_connect=bbStringConcat(bbt_connect,(bbStringConcat(((BBString*)&_s15),((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__user )));
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_13 = {0x6f9a552f6000b581, 286, 0};
	bbOnDebugEnterStm(&__stmt_13);
	if(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__password != &bbEmptyString){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 287, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_connect=bbStringConcat(bbt_connect,(bbStringConcat(((BBString*)&_s16),((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__password )));
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_14 = {0x6f9a552f6000b581, 290, 0};
	bbOnDebugEnterStm(&__stmt_14);
	if(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__host != &bbEmptyString){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 291, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_connect=bbStringConcat(bbt_connect,(bbStringConcat(((BBString*)&_s17),((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__host )));
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_15 = {0x6f9a552f6000b581, 294, 0};
	bbOnDebugEnterStm(&__stmt_15);
	if(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__port !=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 295, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_connect=bbStringConcat(bbt_connect,(bbStringConcat(((BBString*)&_s18),bbStringFromInt(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__port ))));
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_16 = {0x6f9a552f6000b581, 298, 0};
	bbOnDebugEnterStm(&__stmt_16);
	bbt_conv=bbStringToUTF8String((BBSTRING)bbt_connect);
	struct BBDebugStm __stmt_17 = {0x6f9a552f6000b581, 299, 0};
	bbOnDebugEnterStm(&__stmt_17);
	bbt_result=bmx_odbc_SQLDriverConnect(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection_handle ,bbt_conv,((BBINT)strlen((const char*)bbt_conv)));
	struct BBDebugStm __stmt_18 = {0x6f9a552f6000b581, 300, 0};
	bbOnDebugEnterStm(&__stmt_18);
	bbMemFree((void*)bbt_conv);
	struct BBDebugStm __stmt_19 = {0x6f9a552f6000b581, 302, 0};
	bbOnDebugEnterStm(&__stmt_19);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 303, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
		((struct database_odbc_TDBODBC_obj*)o)->clas->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)o,2,((BBString*)&_s19),2,0);
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 304, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_20 = {0x6f9a552f6000b581, 308, 0};
	bbOnDebugEnterStm(&__stmt_20);
	((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__isopen =1;
	struct BBDebugStm __stmt_21 = {0x6f9a552f6000b581, 309, 0};
	bbOnDebugEnterStm(&__stmt_21);
	bbOnDebugLeaveScope();
	return 1;
}
BBINT _database_odbc_TDBODBC_rollback(struct database_odbc_TDBODBC_obj* o){
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
	BBINT bbt_result=0;
	struct BBDebugScope_2 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"rollback",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TDBODBC",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"result",
				"i",
				.var_address=&bbt_result
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 313, 0};
	bbOnDebugEnterStm(&__stmt_0);
	if(!(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__isopen !=0)){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 314, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 317, 0};
	bbOnDebugEnterStm(&__stmt_1);
	bbt_result=bmx_odbc_rollbackTransaction(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection_handle );
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 319, 0};
	bbOnDebugEnterStm(&__stmt_2);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 320, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
		((struct database_odbc_TDBODBC_obj*)o)->clas->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)o,2,((BBString*)&_s20),1,0);
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 321, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 324, 0};
	bbOnDebugEnterStm(&__stmt_3);
	bbt_result=bmx_odbc_toggleTransaction(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection_handle ,1);
	struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 326, 0};
	bbOnDebugEnterStm(&__stmt_4);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 327, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
		((struct database_odbc_TDBODBC_obj*)o)->clas->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)o,2,((BBString*)&_s2),1,0);
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 328, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 331, 0};
	bbOnDebugEnterStm(&__stmt_5);
	bbOnDebugLeaveScope();
	return 1;
}
BBINT _database_odbc_TDBODBC_startTransaction(struct database_odbc_TDBODBC_obj* o){
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
	BBINT bbt_result=0;
	struct BBDebugScope_2 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"startTransaction",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TDBODBC",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"result",
				"i",
				.var_address=&bbt_result
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 336, 0};
	bbOnDebugEnterStm(&__stmt_0);
	if(!(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection__isopen !=0)){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 337, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 342, 0};
	bbOnDebugEnterStm(&__stmt_1);
	bbt_result=bmx_odbc_toggleTransaction(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection_handle ,0);
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 344, 0};
	bbOnDebugEnterStm(&__stmt_2);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 345, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
		((struct database_odbc_TDBODBC_obj*)o)->clas->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)o,2,((BBString*)&_s21),1,0);
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 346, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 349, 0};
	bbOnDebugEnterStm(&__stmt_3);
	bbOnDebugLeaveScope();
	return 1;
}
BBBYTE* _database_odbc_TDBODBC_databaseHandle(struct database_odbc_TDBODBC_obj* o){
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
	struct BBDebugScope_1 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"databaseHandle",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TDBODBC",
				.var_address=&o
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	bbOnDebugLeaveScope();
	return 0;
}
struct database_core_TQueryResultSet_obj* _database_odbc_TDBODBC_createResultSet(struct database_odbc_TDBODBC_obj* o){
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
	struct BBDebugScope_1 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"createResultSet",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TDBODBC",
				.var_address=&o
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 356, 0};
	bbOnDebugEnterStm(&__stmt_0);
	bbOnDebugLeaveScope();
	return (struct database_core_TQueryResultSet_obj*)database_odbc_TODBCResultSet_Create_TTQueryResultSet_TTDBConnectionS((struct database_core_TDBConnection_obj*)((struct database_core_TDBConnection_obj*)bbObjectDowncast((BBOBJECT)o,(BBClass*)&database_core_TDBConnection)),(&bbEmptyString));
}
BBSTRING _database_odbc_TDBODBC_nativeErrorMessage_i(struct database_odbc_TDBODBC_obj* o,BBINT bbt_err){
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
	struct BBDebugScope_2 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"nativeErrorMessage",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TDBODBC",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"err",
				"i",
				.var_address=&bbt_err
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	bbOnDebugLeaveScope();
	return ((BBString*)&bbEmptyString);
}
void _database_odbc_TDBODBC_processError_iSipb(struct database_odbc_TDBODBC_obj* o,BBINT bbt_kind,BBSTRING bbt_msg,BBINT bbt_errType,BBBYTE* bbt_h){
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
	BBINT bbt_code=0;
	BBSTRING bbt_err=(&bbEmptyString);
	struct BBDebugScope_7 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"processError",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TDBODBC",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"kind",
				"i",
				.var_address=&bbt_kind
			},
			{
				BBDEBUGDECL_LOCAL,
				"msg",
				"$",
				.var_address=&bbt_msg
			},
			{
				BBDEBUGDECL_LOCAL,
				"errType",
				"i",
				.var_address=&bbt_errType
			},
			{
				BBDEBUGDECL_LOCAL,
				"h",
				"*b",
				.var_address=&bbt_h
			},
			{
				BBDEBUGDECL_LOCAL,
				"code",
				"i",
				.var_address=&bbt_code
			},
			{
				BBDEBUGDECL_LOCAL,
				"err",
				"$",
				.var_address=&bbt_err
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 363, 0};
	bbOnDebugEnterStm(&__stmt_0);
	bbt_code=0;
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 364, 0};
	bbOnDebugEnterStm(&__stmt_1);
	bbt_err=((BBString*)&bbEmptyString);
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 366, 0};
	bbOnDebugEnterStm(&__stmt_2);
	BBINT bbt_=bbt_kind;
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 367, 0};
	bbOnDebugEnterStm(&__stmt_3);
	if(bbt_==1){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 368, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_err=bmx_odbc_envError(((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o))->_database_odbc_tdbodbc_envhandle ,(&bbt_code));
		bbOnDebugLeaveScope();
	}else{
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 369, 0};
		bbOnDebugEnterStm(&__stmt_0);
		if(bbt_==2){
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 370, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbt_err=bmx_odbc_connError(((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tdbconnection_handle ,(&bbt_code));
			bbOnDebugLeaveScope();
		}else{
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 371, 0};
			bbOnDebugEnterStm(&__stmt_0);
			if(bbt_==3){
				struct BBDebugScope __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 372, 0};
				bbOnDebugEnterStm(&__stmt_0);
				bbt_err=bmx_odbc_stmtError(bbt_h,(&bbt_code));
				bbOnDebugLeaveScope();
			}
			bbOnDebugLeaveScope();
		}
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 375, 0};
	bbOnDebugEnterStm(&__stmt_4);
	((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)o));
	((struct database_core_TDBConnection_obj*)o)->clas->m_setError_SSii((struct database_core_TDBConnection_obj*)o,bbt_msg,bbt_err,bbt_errType,bbt_code);
	bbOnDebugLeaveScope();
}
BBINT _database_odbc_TDBODBC_hasPrepareSupport(struct database_odbc_TDBODBC_obj* o){
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
	struct BBDebugScope_1 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"hasPrepareSupport",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TDBODBC",
				.var_address=&o
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 379, 0};
	bbOnDebugEnterStm(&__stmt_0);
	bbOnDebugLeaveScope();
	return 1;
}
BBINT _database_odbc_TDBODBC_hasTransactionSupport(struct database_odbc_TDBODBC_obj* o){
	((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)o));
	struct BBDebugScope_1 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"hasTransactionSupport",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TDBODBC",
				.var_address=&o
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 383, 0};
	bbOnDebugEnterStm(&__stmt_0);
	bbOnDebugLeaveScope();
	return 1;
}
struct BBDebugScope_16 database_odbc_TDBODBC_scope ={
	BBDEBUGSCOPE_USERTYPE,
	"TDBODBC",
	{
		{
			BBDEBUGDECL_FIELD,
			"envHandle",
			"*b",
			.field_offset=offsetof(struct database_odbc_TDBODBC_obj,_database_odbc_tdbodbc_envhandle)
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"New",
			"()",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_New
		},
		{
			BBDEBUGDECL_TYPEFUNCTION,
			"Create",
			"($,$,i,$,$,$,$):TDBConnection",
			.func_ptr=(BBFuncPtr)&database_odbc_TDBODBC_Create_TTDBConnection_SSiSSSS
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"close",
			"()",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_close
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"commit",
			"()i",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_commit
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"getTables",
			"()[]$",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_getTables
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"getTableInfo",
			"($,i):TDBTable",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_getTableInfo_Si
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"open",
			"($,$)i",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_open_SS
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"rollback",
			"()i",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_rollback
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"startTransaction",
			"()i",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_startTransaction
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"databaseHandle",
			"()*b",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_databaseHandle
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"createResultSet",
			"():TQueryResultSet",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_createResultSet
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"nativeErrorMessage",
			"(i)$",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_nativeErrorMessage_i
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"processError",
			"(i,$,i,*b)",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_processError_iSipb
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"hasPrepareSupport",
			"()i",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_hasPrepareSupport
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"hasTransactionSupport",
			"()i",
			.func_ptr=(BBFuncPtr)&_database_odbc_TDBODBC_hasTransactionSupport
		},
		{
			BBDEBUGDECL_END
		}
	}
};
struct BBClass_database_odbc_TDBODBC database_odbc_TDBODBC={
	&database_core_TDBConnection,
	bbObjectFree,
	(BBDebugScope*)&database_odbc_TDBODBC_scope,
	sizeof(struct database_odbc_TDBODBC_obj),
	(void (*)(BBOBJECT))_database_odbc_TDBODBC_New,
	(void (*)(BBOBJECT))_database_odbc_TDBODBC_Delete,
	bbObjectToString,
	bbObjectCompare,
	bbObjectSendMessage,
	0,
	0,
	sizeof(BBBYTE*)
	,0
	,offsetof(struct database_odbc_TDBODBC_obj,_database_odbc_tdbodbc_envhandle)
	,database_odbc_TDBODBC_Create_TTDBConnection_SSiSSSS
	,_database_core_TDBConnection_Init_SSiSSSS
	,_database_odbc_TDBODBC_close
	,_database_odbc_TDBODBC_commit
	,_database_odbc_TDBODBC_getTables
	,_database_odbc_TDBODBC_getTableInfo_Si
	,_database_odbc_TDBODBC_open_SS
	,_database_odbc_TDBODBC_rollback
	,_database_odbc_TDBODBC_startTransaction
	,_database_core_TDBConnection_executeQuery_S
	,_database_core_TDBConnection_isOpen
	,_database_core_TDBConnection_getDatabaseName
	,_database_core_TDBConnection_getHost
	,_database_core_TDBConnection_getPortNumber
	,_database_core_TDBConnection_error
	,_database_core_TDBConnection_resetError
	,_database_core_TDBConnection_hasError
	,_database_core_TDBConnection_setError_SSii
	,_database_odbc_TDBODBC_databaseHandle
	,_database_odbc_TDBODBC_createResultSet
	,_database_odbc_TDBODBC_nativeErrorMessage_i
	,_database_odbc_TDBODBC_hasPrepareSupport
	,_database_odbc_TDBODBC_hasTransactionSupport
	,_database_core_TDBConnection_free
	,_database_odbc_TDBODBC_processError_iSipb
};

void _database_odbc_TODBCResultSet_New(struct database_odbc_TODBCResultSet_obj* o) {
	_database_core_TQueryResultSet_New((struct database_core_TQueryResultSet_obj*)o);
	o->clas = &database_odbc_TODBCResultSet;
}
void _database_odbc_TODBCResultSet_Delete(struct database_odbc_TODBCResultSet_obj* o) {
	_database_core_TQueryResultSet_Delete((struct database_core_TQueryResultSet_obj*)o);
}
struct database_core_TQueryResultSet_obj* database_odbc_TODBCResultSet_Create_TTQueryResultSet_TTDBConnectionS(struct database_core_TDBConnection_obj* bbt_db,BBSTRING bbt_sql){
	struct database_odbc_TODBCResultSet_obj* bbt_this=(struct database_odbc_TODBCResultSet_obj*)((struct database_odbc_TODBCResultSet_obj*)&bbNullObject);
	struct BBDebugScope_3 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"Create",
		{
			{
				BBDEBUGDECL_LOCAL,
				"db",
				":TDBConnection",
				.var_address=&bbt_db
			},
			{
				BBDEBUGDECL_LOCAL,
				"sql",
				"$",
				.var_address=&bbt_sql
			},
			{
				BBDEBUGDECL_LOCAL,
				"this",
				":TODBCResultSet",
				.var_address=&bbt_this
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 401, 0};
	bbOnDebugEnterStm(&__stmt_0);
	bbt_this=(struct database_odbc_TODBCResultSet_obj*)(struct database_odbc_TODBCResultSet_obj*)bbObjectNew((BBClass *)&database_odbc_TODBCResultSet);
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 403, 0};
	bbOnDebugEnterStm(&__stmt_1);
	((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)bbt_this))->clas->m_Init_TTDBConnectionS((struct database_core_TQueryResultSet_obj*)bbt_this,(struct database_core_TDBConnection_obj*)bbt_db,bbt_sql);
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 404, 0};
	bbOnDebugEnterStm(&__stmt_2);
	((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)bbt_this))->_database_core_tqueryresultset_rec =(struct database_core_TQueryRecord_obj*)database_core_TQueryRecord_Create_TTQueryRecord();
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 406, 0};
	bbOnDebugEnterStm(&__stmt_3);
	bbOnDebugLeaveScope();
	return (struct database_core_TQueryResultSet_obj*)((struct database_core_TQueryResultSet_obj*)bbObjectDowncast((BBOBJECT)bbt_this,(BBClass*)&database_core_TQueryResultSet));
}
BBINT _database_odbc_TODBCResultSet_executeQuery_S(struct database_odbc_TODBCResultSet_obj* o,BBSTRING bbt_statement){
	((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)o));
	BBINT bbt_result=0;
	BBBYTE* bbt_q=0;
	BBINT bbt_fieldCount=0;
	struct BBDebugScope_5 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"executeQuery",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TODBCResultSet",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"statement",
				"$",
				.var_address=&bbt_statement
			},
			{
				BBDEBUGDECL_LOCAL,
				"result",
				"i",
				.var_address=&bbt_result
			},
			{
				BBDEBUGDECL_LOCAL,
				"q",
				"*b",
				.var_address=&bbt_q
			},
			{
				BBDEBUGDECL_LOCAL,
				"fieldCount",
				"i",
				.var_address=&bbt_fieldCount
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 412, 0};
	bbOnDebugEnterStm(&__stmt_0);
	((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset__isactive =0;
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 413, 0};
	bbOnDebugEnterStm(&__stmt_1);
	((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_index =-1;
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 415, 0};
	bbOnDebugEnterStm(&__stmt_2);
	((struct database_core_TQueryRecord_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ))->clas->m_clear((struct database_core_TQueryRecord_obj*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec );
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 417, 0};
	bbOnDebugEnterStm(&__stmt_3);
	bbt_result=0;
	struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 419, 0};
	bbOnDebugEnterStm(&__stmt_4);
	if(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 421, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_result=bmx_odbc_freeStmtHandle(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 422, 0};
		bbOnDebugEnterStm(&__stmt_1);
		((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle =0;
		struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 424, 0};
		bbOnDebugEnterStm(&__stmt_2);
		if(database_odbc_isSQLError(bbt_result)!=0){
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 425, 0};
			bbOnDebugEnterStm(&__stmt_0);
			struct database_odbc_TDBODBC_obj* bbt_;
			(((struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)(bbt_ = ((struct database_odbc_TDBODBC_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ,(BBClass*)&database_odbc_TDBODBC))))))->clas)->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)bbt_,3,((BBString*)&_s22),3,((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
			struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 426, 0};
			bbOnDebugEnterStm(&__stmt_1);
			bbOnDebugLeaveScope();
			bbOnDebugLeaveScope();
			bbOnDebugLeaveScope();
			return 0;
		}
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 432, 0};
	bbOnDebugEnterStm(&__stmt_5);
	bbt_result=bmx_odbc_SQLAllocHandle(3,((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ))->_database_core_tdbconnection_handle ,(&((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ));
	struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 434, 0};
	bbOnDebugEnterStm(&__stmt_6);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 435, 0};
		bbOnDebugEnterStm(&__stmt_0);
		struct database_odbc_TDBODBC_obj* bbt_2;
		(((struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)(bbt_2 = ((struct database_odbc_TDBODBC_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ,(BBClass*)&database_odbc_TDBODBC))))))->clas)->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)bbt_2,2,((BBString*)&_s3),3,0);
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 436, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_7 = {0x6f9a552f6000b581, 440, 0};
	bbOnDebugEnterStm(&__stmt_7);
	bbt_result=bmx_odbc_setForwardCursor(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
	struct BBDebugStm __stmt_8 = {0x6f9a552f6000b581, 442, 0};
	bbOnDebugEnterStm(&__stmt_8);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 443, 0};
		bbOnDebugEnterStm(&__stmt_0);
		struct database_odbc_TDBODBC_obj* bbt_3;
		(((struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)(bbt_3 = ((struct database_odbc_TDBODBC_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ,(BBClass*)&database_odbc_TDBODBC))))))->clas)->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)bbt_3,3,((BBString*)&_s4),3,((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 444, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_9 = {0x6f9a552f6000b581, 447, 0};
	bbOnDebugEnterStm(&__stmt_9);
	bbt_q=bbStringToUTF8String((BBSTRING)bbt_statement);
	struct BBDebugStm __stmt_10 = {0x6f9a552f6000b581, 450, 0};
	bbOnDebugEnterStm(&__stmt_10);
	bbt_result=bmx_odbc_execute(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,bbt_q,((BBINT)strlen((const char*)bbt_q)));
	struct BBDebugStm __stmt_11 = {0x6f9a552f6000b581, 451, 0};
	bbOnDebugEnterStm(&__stmt_11);
	bbMemFree((void*)bbt_q);
	struct BBDebugStm __stmt_12 = {0x6f9a552f6000b581, 453, 0};
	bbOnDebugEnterStm(&__stmt_12);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 454, 0};
		bbOnDebugEnterStm(&__stmt_0);
		struct database_odbc_TDBODBC_obj* bbt_4;
		(((struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)(bbt_4 = ((struct database_odbc_TDBODBC_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ,(BBClass*)&database_odbc_TDBODBC))))))->clas)->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)bbt_4,3,((BBString*)&_s23),3,((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 455, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_13 = {0x6f9a552f6000b581, 458, 0};
	bbOnDebugEnterStm(&__stmt_13);
	bbt_fieldCount=0;
	struct BBDebugStm __stmt_14 = {0x6f9a552f6000b581, 459, 0};
	bbOnDebugEnterStm(&__stmt_14);
	bmx_odbc_SQLNumResultCols(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(&bbt_fieldCount));
	struct BBDebugStm __stmt_15 = {0x6f9a552f6000b581, 461, 0};
	bbOnDebugEnterStm(&__stmt_15);
	((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)o));
	((struct database_odbc_TODBCResultSet_obj*)o)->clas->m_initRecord_i((struct database_odbc_TODBCResultSet_obj*)o,bbt_fieldCount);
	struct BBDebugStm __stmt_16 = {0x6f9a552f6000b581, 464, 0};
	bbOnDebugEnterStm(&__stmt_16);
	if(bbt_fieldCount!=0){
		BBINT bbt_bufferLength=0;
		BBBYTE bbt_columnName[256]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
		BBINT bbt_nameLength=0;
		BBINT bbt_dataType=0;
		BBINT bbt_columnSize=0;
		BBINT bbt_decimalDigits=0;
		BBINT bbt_nullable=0;
		struct BBDebugScope_7 __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_LOCAL,
					"bufferLength",
					"i",
					.var_address=&bbt_bufferLength
				},
				{
					BBDEBUGDECL_LOCAL,
					"columnName",
					"[256]b",
					.var_address=&bbt_columnName
				},
				{
					BBDEBUGDECL_LOCAL,
					"nameLength",
					"i",
					.var_address=&bbt_nameLength
				},
				{
					BBDEBUGDECL_LOCAL,
					"dataType",
					"i",
					.var_address=&bbt_dataType
				},
				{
					BBDEBUGDECL_LOCAL,
					"columnSize",
					"i",
					.var_address=&bbt_columnSize
				},
				{
					BBDEBUGDECL_LOCAL,
					"decimalDigits",
					"i",
					.var_address=&bbt_decimalDigits
				},
				{
					BBDEBUGDECL_LOCAL,
					"nullable",
					"i",
					.var_address=&bbt_nullable
				},
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 465, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_bufferLength=256;
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 466, 0};
		bbOnDebugEnterStm(&__stmt_1);
		struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 467, 0};
		bbOnDebugEnterStm(&__stmt_2);
		bbt_nameLength=0;
		struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 468, 0};
		bbOnDebugEnterStm(&__stmt_3);
		bbt_dataType=0;
		struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 469, 0};
		bbOnDebugEnterStm(&__stmt_4);
		bbt_columnSize=0;
		struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 470, 0};
		bbOnDebugEnterStm(&__stmt_5);
		bbt_decimalDigits=0;
		struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 471, 0};
		bbOnDebugEnterStm(&__stmt_6);
		bbt_nullable=0;
		struct BBDebugStm __stmt_7 = {0x6f9a552f6000b581, 473, 0};
		bbOnDebugEnterStm(&__stmt_7);
		{
			BBINT bbt_i=0;
			BBINT bbt_5=bbt_fieldCount;
			for(;(bbt_i<bbt_5);bbt_i=(bbt_i+1)){
				struct database_core_TQueryField_obj* bbt_qf=(struct database_core_TQueryField_obj*)((struct database_core_TQueryField_obj*)&bbNullObject);
				struct BBDebugScope_2 __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_LOCAL,
							"i",
							"i",
							.var_address=&bbt_i
						},
						{
							BBDEBUGDECL_LOCAL,
							"qf",
							":TQueryField",
							.var_address=&bbt_qf
						},
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 478, 0};
				bbOnDebugEnterStm(&__stmt_0);
				bbt_result=bmx_odbc_SQLDescribeCol(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),(bbt_columnName),bbt_bufferLength,(&bbt_nameLength),(&bbt_dataType),(&bbt_columnSize),(&bbt_decimalDigits),(&bbt_nullable));
				struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 480, 0};
				bbOnDebugEnterStm(&__stmt_1);
				if(database_odbc_isSQLError(bbt_result)!=0){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 481, 0};
					bbOnDebugEnterStm(&__stmt_0);
					struct database_odbc_TDBODBC_obj* bbt_6;
					(((struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)(bbt_6 = ((struct database_odbc_TDBODBC_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ,(BBClass*)&database_odbc_TDBODBC))))))->clas)->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)bbt_6,3,((BBString*)&_s24),3,((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
					struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 483, 0};
					bbOnDebugEnterStm(&__stmt_1);
					bbOnDebugLeaveScope();
					bbOnDebugLeaveScope();
					bbOnDebugLeaveScope();
					bbOnDebugLeaveScope();
					return 0;
				}
				struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 486, 0};
				bbOnDebugEnterStm(&__stmt_2);
				bbt_qf=(struct database_core_TQueryField_obj*)database_core_TQueryField_Create_TTQueryField_Si(bbStringFromUTF8Bytes((bbt_columnName),bbt_nameLength),o->clas->f_dbTypeFromNative_i_Sii((&bbEmptyString),bbt_dataType,0));
				struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 487, 0};
				bbOnDebugEnterStm(&__stmt_3);
				if(bbt_columnSize==0){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 488, 0};
					bbOnDebugEnterStm(&__stmt_0);
					((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_qf))->_database_core_tqueryfield_length =-1;
					bbOnDebugLeaveScope();
				}else{
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 490, 0};
					bbOnDebugEnterStm(&__stmt_0);
					((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_qf))->_database_core_tqueryfield_length =bbt_columnSize;
					bbOnDebugLeaveScope();
				}
				struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 492, 0};
				bbOnDebugEnterStm(&__stmt_4);
				if(bbt_decimalDigits==0){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 493, 0};
					bbOnDebugEnterStm(&__stmt_0);
					((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_qf))->_database_core_tqueryfield_precision =-1;
					bbOnDebugLeaveScope();
				}else{
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 495, 0};
					bbOnDebugEnterStm(&__stmt_0);
					((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_qf))->_database_core_tqueryfield_precision =bbt_decimalDigits;
					bbOnDebugLeaveScope();
				}
				struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 497, 0};
				bbOnDebugEnterStm(&__stmt_5);
				if(bbt_nullable==1){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 498, 0};
					bbOnDebugEnterStm(&__stmt_0);
					((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_qf))->_database_core_tqueryfield_nullable =1;
					bbOnDebugLeaveScope();
				}else{
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 499, 0};
					bbOnDebugEnterStm(&__stmt_0);
					if(bbt_nullable==0){
						struct BBDebugScope __scope = {
							BBDEBUGSCOPE_LOCALBLOCK,
							0,
							{
								{
									BBDEBUGDECL_END
								}
							}
						};
						bbOnDebugEnterScope((BBDebugScope *)&__scope);
						struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 500, 0};
						bbOnDebugEnterStm(&__stmt_0);
						((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_qf))->_database_core_tqueryfield_nullable =0;
						bbOnDebugLeaveScope();
					}
					bbOnDebugLeaveScope();
				}
				struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 503, 0};
				bbOnDebugEnterStm(&__stmt_6);
				((struct database_core_TQueryRecord_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ))->clas->m_setField_iTTQueryField((struct database_core_TQueryRecord_obj*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ,bbt_i,(struct database_core_TQueryField_obj*)bbt_qf);
				bbOnDebugLeaveScope();
			}
		}
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_17 = {0x6f9a552f6000b581, 509, 0};
	bbOnDebugEnterStm(&__stmt_17);
	((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset__isactive =1;
	struct BBDebugStm __stmt_18 = {0x6f9a552f6000b581, 510, 0};
	bbOnDebugEnterStm(&__stmt_18);
	bbOnDebugLeaveScope();
	return 1;
}
BBINT _database_odbc_TODBCResultSet_prepare_S(struct database_odbc_TODBCResultSet_obj* o,BBSTRING bbt_statement){
	((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)o));
	BBINT bbt_result=0;
	BBBYTE* bbt_q=0;
	struct BBDebugScope_4 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"prepare",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TODBCResultSet",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"statement",
				"$",
				.var_address=&bbt_statement
			},
			{
				BBDEBUGDECL_LOCAL,
				"result",
				"i",
				.var_address=&bbt_result
			},
			{
				BBDEBUGDECL_LOCAL,
				"q",
				"*b",
				.var_address=&bbt_q
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 515, 0};
	bbOnDebugEnterStm(&__stmt_0);
	((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset__isactive =0;
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 516, 0};
	bbOnDebugEnterStm(&__stmt_1);
	((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_index =-1;
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 518, 0};
	bbOnDebugEnterStm(&__stmt_2);
	((struct database_core_TQueryRecord_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ))->clas->m_clear((struct database_core_TQueryRecord_obj*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec );
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 520, 0};
	bbOnDebugEnterStm(&__stmt_3);
	bbt_result=0;
	struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 522, 0};
	bbOnDebugEnterStm(&__stmt_4);
	if(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 524, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_result=bmx_odbc_freeStmtHandle(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 525, 0};
		bbOnDebugEnterStm(&__stmt_1);
		((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle =0;
		struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 527, 0};
		bbOnDebugEnterStm(&__stmt_2);
		if(database_odbc_isSQLError(bbt_result)!=0){
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 528, 0};
			bbOnDebugEnterStm(&__stmt_0);
			struct database_odbc_TDBODBC_obj* bbt_;
			(((struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)(bbt_ = ((struct database_odbc_TDBODBC_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ,(BBClass*)&database_odbc_TDBODBC))))))->clas)->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)bbt_,3,((BBString*)&_s22),3,((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
			struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 529, 0};
			bbOnDebugEnterStm(&__stmt_1);
			bbOnDebugLeaveScope();
			bbOnDebugLeaveScope();
			bbOnDebugLeaveScope();
			return 0;
		}
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 535, 0};
	bbOnDebugEnterStm(&__stmt_5);
	bbt_result=bmx_odbc_SQLAllocHandle(3,((struct database_core_TDBConnection_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ))->_database_core_tdbconnection_handle ,(&((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ));
	struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 537, 0};
	bbOnDebugEnterStm(&__stmt_6);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 538, 0};
		bbOnDebugEnterStm(&__stmt_0);
		struct database_odbc_TDBODBC_obj* bbt_2;
		(((struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)(bbt_2 = ((struct database_odbc_TDBODBC_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ,(BBClass*)&database_odbc_TDBODBC))))))->clas)->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)bbt_2,2,((BBString*)&_s3),3,0);
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 539, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_7 = {0x6f9a552f6000b581, 543, 0};
	bbOnDebugEnterStm(&__stmt_7);
	bbt_result=bmx_odbc_setForwardCursor(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
	struct BBDebugStm __stmt_8 = {0x6f9a552f6000b581, 545, 0};
	bbOnDebugEnterStm(&__stmt_8);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 546, 0};
		bbOnDebugEnterStm(&__stmt_0);
		struct database_odbc_TDBODBC_obj* bbt_3;
		(((struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)(bbt_3 = ((struct database_odbc_TDBODBC_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ,(BBClass*)&database_odbc_TDBODBC))))))->clas)->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)bbt_3,3,((BBString*)&_s4),3,((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 547, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_9 = {0x6f9a552f6000b581, 550, 0};
	bbOnDebugEnterStm(&__stmt_9);
	bbt_q=bbStringToUTF8String((BBSTRING)bbt_statement);
	struct BBDebugStm __stmt_10 = {0x6f9a552f6000b581, 553, 0};
	bbOnDebugEnterStm(&__stmt_10);
	bbt_result=bmx_odbc_prepare(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,bbt_q,((BBINT)strlen((const char*)bbt_q)));
	struct BBDebugStm __stmt_11 = {0x6f9a552f6000b581, 554, 0};
	bbOnDebugEnterStm(&__stmt_11);
	bbMemFree((void*)bbt_q);
	struct BBDebugStm __stmt_12 = {0x6f9a552f6000b581, 556, 0};
	bbOnDebugEnterStm(&__stmt_12);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 557, 0};
		bbOnDebugEnterStm(&__stmt_0);
		struct database_odbc_TDBODBC_obj* bbt_4;
		(((struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)(bbt_4 = ((struct database_odbc_TDBODBC_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ,(BBClass*)&database_odbc_TDBODBC))))))->clas)->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)bbt_4,3,((BBString*)&_s25),3,((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 558, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_13 = {0x6f9a552f6000b581, 561, 0};
	bbOnDebugEnterStm(&__stmt_13);
	bbOnDebugLeaveScope();
	return 1;
}
BBINT _database_odbc_TODBCResultSet_execute(struct database_odbc_TODBCResultSet_obj* o){
	((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)o));
	BBINT bbt_result=0;
	BBARRAY bbt_values=(&bbEmptyArray);
	BBARRAY bbt_strings=(&bbEmptyArray);
	BBINT bbt_paramCount=0;
	BBINT bbt_fieldCount=0;
	struct BBDebugScope_6 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"execute",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TODBCResultSet",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"result",
				"i",
				.var_address=&bbt_result
			},
			{
				BBDEBUGDECL_LOCAL,
				"values",
				"[]:TDBType",
				.var_address=&bbt_values
			},
			{
				BBDEBUGDECL_LOCAL,
				"strings",
				"[]*b",
				.var_address=&bbt_strings
			},
			{
				BBDEBUGDECL_LOCAL,
				"paramCount",
				"i",
				.var_address=&bbt_paramCount
			},
			{
				BBDEBUGDECL_LOCAL,
				"fieldCount",
				"i",
				.var_address=&bbt_fieldCount
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 566, 0};
	bbOnDebugEnterStm(&__stmt_0);
	((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset__isactive =0;
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 567, 0};
	bbOnDebugEnterStm(&__stmt_1);
	((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_index =-1;
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 569, 0};
	bbOnDebugEnterStm(&__stmt_2);
	if(!(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle )){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 570, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 573, 0};
	bbOnDebugEnterStm(&__stmt_3);
	bbt_result=0;
	struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 577, 0};
	bbOnDebugEnterStm(&__stmt_4);
	bbt_values=((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_boundvalues ;
	struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 578, 0};
	bbOnDebugEnterStm(&__stmt_5);
	bbt_strings=(&bbEmptyArray);
	struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 579, 0};
	bbOnDebugEnterStm(&__stmt_6);
	bbt_paramCount=0;
	struct BBDebugStm __stmt_7 = {0x6f9a552f6000b581, 581, 0};
	bbOnDebugEnterStm(&__stmt_7);
	if(bbt_values!= &bbEmptyArray){
		BBARRAY bbt_isNull=(&bbEmptyArray);
		struct BBDebugScope_1 __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_LOCAL,
					"isNull",
					"[]i",
					.var_address=&bbt_isNull
				},
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 582, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_paramCount=((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_bindcount ;
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 584, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbt_isNull=bbArrayNew1D("i", bbt_paramCount);
		struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 585, 0};
		bbOnDebugEnterStm(&__stmt_2);
		bbt_strings=bbArrayNew1D("*b", bbt_paramCount);
		struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 587, 0};
		bbOnDebugEnterStm(&__stmt_3);
		{
			BBINT bbt_i=0;
			BBINT bbt_=bbt_paramCount;
			for(;(bbt_i<bbt_);bbt_i=(bbt_i+1)){
				struct BBDebugScope_1 __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_LOCAL,
							"i",
							"i",
							.var_address=&bbt_i
						},
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 589, 0};
				bbOnDebugEnterStm(&__stmt_0);
				((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=0;
				struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 591, 0};
				bbOnDebugEnterStm(&__stmt_1);
				struct database_core_dbtypes_TDBType_obj* bbt_2;
				if(!(((BBObject*)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])!= &bbNullObject) || ((((struct database_core_dbtypes_TDBType_obj*)bbNullObjectTest((BBObject*)(bbt_2 = ((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])))->clas)->m_isNull((struct database_core_dbtypes_TDBType_obj*)bbt_2)!=0)){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 592, 0};
					bbOnDebugEnterStm(&__stmt_0);
					((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=-1;
					bbOnDebugLeaveScope();
				}
				struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 595, 0};
				bbOnDebugEnterStm(&__stmt_2);
				struct database_core_dbtypes_TDBType_obj* bbt_4;
				BBINT bbt_3=(((struct database_core_dbtypes_TDBType_obj*)bbNullObjectTest((BBObject*)(bbt_4 = ((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])))->clas)->m_kind((struct database_core_dbtypes_TDBType_obj*)bbt_4);
				struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 596, 0};
				bbOnDebugEnterStm(&__stmt_3);
				if(bbt_3==2){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 597, 0};
					bbOnDebugEnterStm(&__stmt_0);
					if(!(((BBObject*)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])!= &bbNullObject)){
						struct BBDebugScope __scope = {
							BBDEBUGSCOPE_LOCALBLOCK,
							0,
							{
								{
									BBDEBUGDECL_END
								}
							}
						};
						bbOnDebugEnterScope((BBDebugScope *)&__scope);
						struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 598, 0};
						bbOnDebugEnterStm(&__stmt_0);
						((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)(struct database_core_dbtypes_TDBInt_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBInt),(BBClass*)&database_core_dbtypes_TDBType));
						bbOnDebugLeaveScope();
					}
					struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 600, 0};
					bbOnDebugEnterStm(&__stmt_1);
					bbt_result=bmx_odbc_SQLBindParameter_int(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),(&((struct database_core_dbtypes_TDBInt_obj*)bbNullObjectTest((BBObject*)((struct database_core_dbtypes_TDBInt_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)],(BBClass*)&database_core_dbtypes_TDBInt))))->_database_core_dbtypes_tdbint_value ),(&((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]));
					bbOnDebugLeaveScope();
				}else{
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 601, 0};
					bbOnDebugEnterStm(&__stmt_0);
					if(bbt_3==4){
						struct BBDebugScope __scope = {
							BBDEBUGSCOPE_LOCALBLOCK,
							0,
							{
								{
									BBDEBUGDECL_END
								}
							}
						};
						bbOnDebugEnterScope((BBDebugScope *)&__scope);
						struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 602, 0};
						bbOnDebugEnterStm(&__stmt_0);
						if(!(((BBObject*)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])!= &bbNullObject)){
							struct BBDebugScope __scope = {
								BBDEBUGSCOPE_LOCALBLOCK,
								0,
								{
									{
										BBDEBUGDECL_END
									}
								}
							};
							bbOnDebugEnterScope((BBDebugScope *)&__scope);
							struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 603, 0};
							bbOnDebugEnterStm(&__stmt_0);
							((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)(struct database_core_dbtypes_TDBDouble_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBDouble),(BBClass*)&database_core_dbtypes_TDBType));
							bbOnDebugLeaveScope();
						}
						struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 606, 0};
						bbOnDebugEnterStm(&__stmt_1);
						if(((BBObject*)((struct database_core_dbtypes_TDBFloat_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)],(BBClass*)&database_core_dbtypes_TDBFloat)))!= &bbNullObject){
							struct database_core_dbtypes_TDBDouble_obj* bbt_d=(struct database_core_dbtypes_TDBDouble_obj*)((struct database_core_dbtypes_TDBDouble_obj*)&bbNullObject);
							struct BBDebugScope_1 __scope = {
								BBDEBUGSCOPE_LOCALBLOCK,
								0,
								{
									{
										BBDEBUGDECL_LOCAL,
										"d",
										":TDBDouble",
										.var_address=&bbt_d
									},
									{
										BBDEBUGDECL_END
									}
								}
							};
							bbOnDebugEnterScope((BBDebugScope *)&__scope);
							struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 607, 0};
							bbOnDebugEnterStm(&__stmt_0);
							bbt_d=(struct database_core_dbtypes_TDBDouble_obj*)(struct database_core_dbtypes_TDBDouble_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBDouble);
							struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 608, 0};
							bbOnDebugEnterStm(&__stmt_1);
							((struct database_core_dbtypes_TDBDouble_obj*)bbNullObjectTest((BBObject*)bbt_d))->clas->m_setDouble_d((struct database_core_dbtypes_TDBDouble_obj*)bbt_d,((BBDOUBLE)((struct database_core_dbtypes_TDBFloat_obj*)bbNullObjectTest((BBObject*)((struct database_core_dbtypes_TDBFloat_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)],(BBClass*)&database_core_dbtypes_TDBFloat))))->_database_core_dbtypes_tdbfloat_value ));
							struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 609, 0};
							bbOnDebugEnterStm(&__stmt_2);
							struct database_core_dbtypes_TDBType_obj* bbt_5;
							(((struct database_core_dbtypes_TDBType_obj*)bbNullObjectTest((BBObject*)(bbt_5 = ((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])))->clas)->m_clear((struct database_core_dbtypes_TDBType_obj*)bbt_5);
							struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 610, 0};
							bbOnDebugEnterStm(&__stmt_3);
							((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)bbt_d,(BBClass*)&database_core_dbtypes_TDBType));
							bbOnDebugLeaveScope();
						}
						struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 612, 0};
						bbOnDebugEnterStm(&__stmt_2);
						bbt_result=bmx_odbc_SQLBindParameter_double(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),(&((struct database_core_dbtypes_TDBDouble_obj*)bbNullObjectTest((BBObject*)((struct database_core_dbtypes_TDBDouble_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)],(BBClass*)&database_core_dbtypes_TDBDouble))))->_database_core_dbtypes_tdbdouble_value ),(&((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]));
						bbOnDebugLeaveScope();
					}else{
						struct BBDebugScope __scope = {
							BBDEBUGSCOPE_LOCALBLOCK,
							0,
							{
								{
									BBDEBUGDECL_END
								}
							}
						};
						bbOnDebugEnterScope((BBDebugScope *)&__scope);
						struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 613, 0};
						bbOnDebugEnterStm(&__stmt_0);
						if(bbt_3==3){
							struct BBDebugScope __scope = {
								BBDEBUGSCOPE_LOCALBLOCK,
								0,
								{
									{
										BBDEBUGDECL_END
									}
								}
							};
							bbOnDebugEnterScope((BBDebugScope *)&__scope);
							struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 614, 0};
							bbOnDebugEnterStm(&__stmt_0);
							if(!(((BBObject*)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])!= &bbNullObject)){
								struct BBDebugScope __scope = {
									BBDEBUGSCOPE_LOCALBLOCK,
									0,
									{
										{
											BBDEBUGDECL_END
										}
									}
								};
								bbOnDebugEnterScope((BBDebugScope *)&__scope);
								struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 615, 0};
								bbOnDebugEnterStm(&__stmt_0);
								((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)(struct database_core_dbtypes_TDBDouble_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBDouble),(BBClass*)&database_core_dbtypes_TDBType));
								bbOnDebugLeaveScope();
							}
							struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 617, 0};
							bbOnDebugEnterStm(&__stmt_1);
							bbt_result=bmx_odbc_SQLBindParameter_double(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),(&((struct database_core_dbtypes_TDBDouble_obj*)bbNullObjectTest((BBObject*)((struct database_core_dbtypes_TDBDouble_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)],(BBClass*)&database_core_dbtypes_TDBDouble))))->_database_core_dbtypes_tdbdouble_value ),(&((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]));
							bbOnDebugLeaveScope();
						}else{
							struct BBDebugScope __scope = {
								BBDEBUGSCOPE_LOCALBLOCK,
								0,
								{
									{
										BBDEBUGDECL_END
									}
								}
							};
							bbOnDebugEnterScope((BBDebugScope *)&__scope);
							struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 618, 0};
							bbOnDebugEnterStm(&__stmt_0);
							if(bbt_3==5){
								struct BBDebugScope __scope = {
									BBDEBUGSCOPE_LOCALBLOCK,
									0,
									{
										{
											BBDEBUGDECL_END
										}
									}
								};
								bbOnDebugEnterScope((BBDebugScope *)&__scope);
								struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 619, 0};
								bbOnDebugEnterStm(&__stmt_0);
								if(!(((BBObject*)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])!= &bbNullObject)){
									struct BBDebugScope __scope = {
										BBDEBUGSCOPE_LOCALBLOCK,
										0,
										{
											{
												BBDEBUGDECL_END
											}
										}
									};
									bbOnDebugEnterScope((BBDebugScope *)&__scope);
									struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 620, 0};
									bbOnDebugEnterStm(&__stmt_0);
									((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)(struct database_core_dbtypes_TDBLong_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBLong),(BBClass*)&database_core_dbtypes_TDBType));
									bbOnDebugLeaveScope();
								}
								struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 623, 0};
								bbOnDebugEnterStm(&__stmt_1);
								bbt_result=bmx_odbc_SQLBindParameter_long(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),(&((struct database_core_dbtypes_TDBLong_obj*)bbNullObjectTest((BBObject*)((struct database_core_dbtypes_TDBLong_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)],(BBClass*)&database_core_dbtypes_TDBLong))))->_database_core_dbtypes_tdblong_value ),(&((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]));
								bbOnDebugLeaveScope();
							}else{
								struct BBDebugScope __scope = {
									BBDEBUGSCOPE_LOCALBLOCK,
									0,
									{
										{
											BBDEBUGDECL_END
										}
									}
								};
								bbOnDebugEnterScope((BBDebugScope *)&__scope);
								struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 624, 0};
								bbOnDebugEnterStm(&__stmt_0);
								if(bbt_3==1){
									BBBYTE* bbt_s=0;
									BBINT bbt_length=0;
									struct BBDebugScope_2 __scope = {
										BBDEBUGSCOPE_LOCALBLOCK,
										0,
										{
											{
												BBDEBUGDECL_LOCAL,
												"s",
												"*b",
												.var_address=&bbt_s
											},
											{
												BBDEBUGDECL_LOCAL,
												"length",
												"i",
												.var_address=&bbt_length
											},
											{
												BBDEBUGDECL_END
											}
										}
									};
									bbOnDebugEnterScope((BBDebugScope *)&__scope);
									struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 625, 0};
									bbOnDebugEnterStm(&__stmt_0);
									if(!(((BBObject*)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])!= &bbNullObject)){
										struct BBDebugScope __scope = {
											BBDEBUGSCOPE_LOCALBLOCK,
											0,
											{
												{
													BBDEBUGDECL_END
												}
											}
										};
										bbOnDebugEnterScope((BBDebugScope *)&__scope);
										struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 626, 0};
										bbOnDebugEnterStm(&__stmt_0);
										((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)(struct database_core_dbtypes_TDBString_obj*)bbObjectNew((BBClass *)&database_core_dbtypes_TDBString),(BBClass*)&database_core_dbtypes_TDBType));
										bbOnDebugLeaveScope();
									}
									struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 629, 0};
									bbOnDebugEnterStm(&__stmt_1);
									struct database_core_dbtypes_TDBType_obj* bbt_6;
									bbt_s=bbStringToUTF8String((BBSTRING)(((struct database_core_dbtypes_TDBType_obj*)bbNullObjectTest((BBObject*)(bbt_6 = ((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])))->clas)->m_getString((struct database_core_dbtypes_TDBType_obj*)bbt_6));
									struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 630, 0};
									bbOnDebugEnterStm(&__stmt_2);
									((BBBYTE**)BBARRAYDATAINDEX((bbt_strings),(bbt_strings)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=bbt_s;
									struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 631, 0};
									bbOnDebugEnterStm(&__stmt_3);
									bbt_length=((BBINT)strlen((const char*)bbt_s));
									struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 633, 0};
									bbOnDebugEnterStm(&__stmt_4);
									if(!(((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]!=0)){
										struct BBDebugScope __scope = {
											BBDEBUGSCOPE_LOCALBLOCK,
											0,
											{
												{
													BBDEBUGDECL_END
												}
											}
										};
										bbOnDebugEnterScope((BBDebugScope *)&__scope);
										struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 634, 0};
										bbOnDebugEnterStm(&__stmt_0);
										((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=bbt_length;
										bbOnDebugLeaveScope();
									}
									struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 637, 0};
									bbOnDebugEnterStm(&__stmt_5);
									bbt_result=bmx_odbc_SQLBindParameter_string(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),bbt_s,bbt_length,(&((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]));
									bbOnDebugLeaveScope();
								}else{
									struct BBDebugScope __scope = {
										BBDEBUGSCOPE_LOCALBLOCK,
										0,
										{
											{
												BBDEBUGDECL_END
											}
										}
									};
									bbOnDebugEnterScope((BBDebugScope *)&__scope);
									struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 639, 0};
									bbOnDebugEnterStm(&__stmt_0);
									if(bbt_3==7){
										struct BBDebugScope __scope = {
											BBDEBUGSCOPE_LOCALBLOCK,
											0,
											{
												{
													BBDEBUGDECL_END
												}
											}
										};
										bbOnDebugEnterScope((BBDebugScope *)&__scope);
										bbOnDebugLeaveScope();
									}else{
										struct BBDebugScope __scope = {
											BBDEBUGSCOPE_LOCALBLOCK,
											0,
											{
												{
													BBDEBUGDECL_END
												}
											}
										};
										bbOnDebugEnterScope((BBDebugScope *)&__scope);
										struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 641, 0};
										bbOnDebugEnterStm(&__stmt_0);
										if(bbt_3==6){
											BBBYTE* bbt_s2=0;
											BBINT bbt_length2=0;
											struct BBDebugScope_2 __scope = {
												BBDEBUGSCOPE_LOCALBLOCK,
												0,
												{
													{
														BBDEBUGDECL_LOCAL,
														"s",
														"*b",
														.var_address=&bbt_s2
													},
													{
														BBDEBUGDECL_LOCAL,
														"length",
														"i",
														.var_address=&bbt_length2
													},
													{
														BBDEBUGDECL_END
													}
												}
											};
											bbOnDebugEnterScope((BBDebugScope *)&__scope);
											struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 643, 0};
											bbOnDebugEnterStm(&__stmt_0);
											if(!(((BBObject*)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])!= &bbNullObject)){
												struct BBDebugScope __scope = {
													BBDEBUGSCOPE_LOCALBLOCK,
													0,
													{
														{
															BBDEBUGDECL_END
														}
													}
												};
												bbOnDebugEnterScope((BBDebugScope *)&__scope);
												struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 644, 0};
												bbOnDebugEnterStm(&__stmt_0);
												((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)(struct database_core_dbtypes_TDBDate_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBDate),(BBClass*)&database_core_dbtypes_TDBType));
												bbOnDebugLeaveScope();
											}
											struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 647, 0};
											bbOnDebugEnterStm(&__stmt_1);
											struct database_core_dbtypes_TDBType_obj* bbt_7;
											bbt_s2=bbStringToUTF8String((BBSTRING)(((struct database_core_dbtypes_TDBType_obj*)bbNullObjectTest((BBObject*)(bbt_7 = ((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])))->clas)->m_getString((struct database_core_dbtypes_TDBType_obj*)bbt_7));
											struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 648, 0};
											bbOnDebugEnterStm(&__stmt_2);
											((BBBYTE**)BBARRAYDATAINDEX((bbt_strings),(bbt_strings)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=bbt_s2;
											struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 649, 0};
											bbOnDebugEnterStm(&__stmt_3);
											bbt_length2=((BBINT)strlen((const char*)bbt_s2));
											struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 651, 0};
											bbOnDebugEnterStm(&__stmt_4);
											if(!(((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]!=0)){
												struct BBDebugScope __scope = {
													BBDEBUGSCOPE_LOCALBLOCK,
													0,
													{
														{
															BBDEBUGDECL_END
														}
													}
												};
												bbOnDebugEnterScope((BBDebugScope *)&__scope);
												struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 652, 0};
												bbOnDebugEnterStm(&__stmt_0);
												((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=bbt_length2;
												bbOnDebugLeaveScope();
											}
											struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 655, 0};
											bbOnDebugEnterStm(&__stmt_5);
											bbt_result=bmx_odbc_SQLBindParameter_string(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),bbt_s2,bbt_length2,(&((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]));
											bbOnDebugLeaveScope();
										}else{
											struct BBDebugScope __scope = {
												BBDEBUGSCOPE_LOCALBLOCK,
												0,
												{
													{
														BBDEBUGDECL_END
													}
												}
											};
											bbOnDebugEnterScope((BBDebugScope *)&__scope);
											struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 657, 0};
											bbOnDebugEnterStm(&__stmt_0);
											if(bbt_3==8){
												BBBYTE* bbt_s3=0;
												BBINT bbt_length3=0;
												struct BBDebugScope_2 __scope = {
													BBDEBUGSCOPE_LOCALBLOCK,
													0,
													{
														{
															BBDEBUGDECL_LOCAL,
															"s",
															"*b",
															.var_address=&bbt_s3
														},
														{
															BBDEBUGDECL_LOCAL,
															"length",
															"i",
															.var_address=&bbt_length3
														},
														{
															BBDEBUGDECL_END
														}
													}
												};
												bbOnDebugEnterScope((BBDebugScope *)&__scope);
												struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 659, 0};
												bbOnDebugEnterStm(&__stmt_0);
												if(!(((BBObject*)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])!= &bbNullObject)){
													struct BBDebugScope __scope = {
														BBDEBUGSCOPE_LOCALBLOCK,
														0,
														{
															{
																BBDEBUGDECL_END
															}
														}
													};
													bbOnDebugEnterScope((BBDebugScope *)&__scope);
													struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 660, 0};
													bbOnDebugEnterStm(&__stmt_0);
													((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)(struct database_core_dbtypes_TDBDateTime_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBDateTime),(BBClass*)&database_core_dbtypes_TDBType));
													bbOnDebugLeaveScope();
												}
												struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 663, 0};
												bbOnDebugEnterStm(&__stmt_1);
												struct database_core_dbtypes_TDBType_obj* bbt_8;
												bbt_s3=bbStringToUTF8String((BBSTRING)(((struct database_core_dbtypes_TDBType_obj*)bbNullObjectTest((BBObject*)(bbt_8 = ((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])))->clas)->m_getString((struct database_core_dbtypes_TDBType_obj*)bbt_8));
												struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 664, 0};
												bbOnDebugEnterStm(&__stmt_2);
												((BBBYTE**)BBARRAYDATAINDEX((bbt_strings),(bbt_strings)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=bbt_s3;
												struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 665, 0};
												bbOnDebugEnterStm(&__stmt_3);
												bbt_length3=((BBINT)strlen((const char*)bbt_s3));
												struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 667, 0};
												bbOnDebugEnterStm(&__stmt_4);
												if(!(((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]!=0)){
													struct BBDebugScope __scope = {
														BBDEBUGSCOPE_LOCALBLOCK,
														0,
														{
															{
																BBDEBUGDECL_END
															}
														}
													};
													bbOnDebugEnterScope((BBDebugScope *)&__scope);
													struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 668, 0};
													bbOnDebugEnterStm(&__stmt_0);
													((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=bbt_length3;
													bbOnDebugLeaveScope();
												}
												struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 671, 0};
												bbOnDebugEnterStm(&__stmt_5);
												bbt_result=bmx_odbc_SQLBindParameter_string(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),bbt_s3,bbt_length3,(&((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]));
												bbOnDebugLeaveScope();
											}else{
												struct BBDebugScope __scope = {
													BBDEBUGSCOPE_LOCALBLOCK,
													0,
													{
														{
															BBDEBUGDECL_END
														}
													}
												};
												bbOnDebugEnterScope((BBDebugScope *)&__scope);
												struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 673, 0};
												bbOnDebugEnterStm(&__stmt_0);
												if(bbt_3==9){
													BBBYTE* bbt_s4=0;
													BBINT bbt_length4=0;
													struct BBDebugScope_2 __scope = {
														BBDEBUGSCOPE_LOCALBLOCK,
														0,
														{
															{
																BBDEBUGDECL_LOCAL,
																"s",
																"*b",
																.var_address=&bbt_s4
															},
															{
																BBDEBUGDECL_LOCAL,
																"length",
																"i",
																.var_address=&bbt_length4
															},
															{
																BBDEBUGDECL_END
															}
														}
													};
													bbOnDebugEnterScope((BBDebugScope *)&__scope);
													struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 675, 0};
													bbOnDebugEnterStm(&__stmt_0);
													if(!(((BBObject*)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])!= &bbNullObject)){
														struct BBDebugScope __scope = {
															BBDEBUGSCOPE_LOCALBLOCK,
															0,
															{
																{
																	BBDEBUGDECL_END
																}
															}
														};
														bbOnDebugEnterScope((BBDebugScope *)&__scope);
														struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 676, 0};
														bbOnDebugEnterStm(&__stmt_0);
														((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)(struct database_core_dbtypes_TDBTime_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBTime),(BBClass*)&database_core_dbtypes_TDBType));
														bbOnDebugLeaveScope();
													}
													struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 679, 0};
													bbOnDebugEnterStm(&__stmt_1);
													struct database_core_dbtypes_TDBType_obj* bbt_9;
													bbt_s4=bbStringToUTF8String((BBSTRING)(((struct database_core_dbtypes_TDBType_obj*)bbNullObjectTest((BBObject*)(bbt_9 = ((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((bbt_values),(bbt_values)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])))->clas)->m_getString((struct database_core_dbtypes_TDBType_obj*)bbt_9));
													struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 680, 0};
													bbOnDebugEnterStm(&__stmt_2);
													((BBBYTE**)BBARRAYDATAINDEX((bbt_strings),(bbt_strings)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=bbt_s4;
													struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 681, 0};
													bbOnDebugEnterStm(&__stmt_3);
													bbt_length4=((BBINT)strlen((const char*)bbt_s4));
													struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 683, 0};
													bbOnDebugEnterStm(&__stmt_4);
													if(!(((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]!=0)){
														struct BBDebugScope __scope = {
															BBDEBUGSCOPE_LOCALBLOCK,
															0,
															{
																{
																	BBDEBUGDECL_END
																}
															}
														};
														bbOnDebugEnterScope((BBDebugScope *)&__scope);
														struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 684, 0};
														bbOnDebugEnterStm(&__stmt_0);
														((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=bbt_length4;
														bbOnDebugLeaveScope();
													}
													struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 687, 0};
													bbOnDebugEnterStm(&__stmt_5);
													bbt_result=bmx_odbc_SQLBindParameter_string(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),bbt_s4,bbt_length4,(&((BBINT*)BBARRAYDATAINDEX((bbt_isNull),(bbt_isNull)->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]));
													bbOnDebugLeaveScope();
												}
												bbOnDebugLeaveScope();
											}
											bbOnDebugLeaveScope();
										}
										bbOnDebugLeaveScope();
									}
									bbOnDebugLeaveScope();
								}
								bbOnDebugLeaveScope();
							}
							bbOnDebugLeaveScope();
						}
						bbOnDebugLeaveScope();
					}
					bbOnDebugLeaveScope();
				}
				struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 691, 0};
				bbOnDebugEnterStm(&__stmt_4);
				if(database_odbc_isSQLError(bbt_result)!=0){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 692, 0};
					bbOnDebugEnterStm(&__stmt_0);
					struct database_odbc_TDBODBC_obj* bbt_10;
					(((struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)(bbt_10 = ((struct database_odbc_TDBODBC_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ,(BBClass*)&database_odbc_TDBODBC))))))->clas)->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)bbt_10,3,((BBString*)&_s26),3,((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
					struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 695, 0};
					bbOnDebugEnterStm(&__stmt_1);
					{
						BBINT bbt_i2=0;
						BBINT bbt_11=bbt_paramCount;
						for(;(bbt_i2<bbt_11);bbt_i2=(bbt_i2+1)){
							struct BBDebugScope_1 __scope = {
								BBDEBUGSCOPE_LOCALBLOCK,
								0,
								{
									{
										BBDEBUGDECL_LOCAL,
										"i",
										"i",
										.var_address=&bbt_i2
									},
									{
										BBDEBUGDECL_END
									}
								}
							};
							bbOnDebugEnterScope((BBDebugScope *)&__scope);
							struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 696, 0};
							bbOnDebugEnterStm(&__stmt_0);
							if(((BBBYTE**)BBARRAYDATAINDEX((bbt_strings),(bbt_strings)->dims,((BBUINT)bbt_i2)))[((BBUINT)bbt_i2)]){
								struct BBDebugScope __scope = {
									BBDEBUGSCOPE_LOCALBLOCK,
									0,
									{
										{
											BBDEBUGDECL_END
										}
									}
								};
								bbOnDebugEnterScope((BBDebugScope *)&__scope);
								struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 697, 0};
								bbOnDebugEnterStm(&__stmt_0);
								bbMemFree((void*)((BBBYTE**)BBARRAYDATAINDEX((bbt_strings),(bbt_strings)->dims,((BBUINT)bbt_i2)))[((BBUINT)bbt_i2)]);
								bbOnDebugLeaveScope();
							}
							bbOnDebugLeaveScope();
						}
					}
					struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 701, 0};
					bbOnDebugEnterStm(&__stmt_2);
					bbOnDebugLeaveScope();
					bbOnDebugLeaveScope();
					bbOnDebugLeaveScope();
					bbOnDebugLeaveScope();
					return 0;
				}
				bbOnDebugLeaveScope();
			}
		}
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_8 = {0x6f9a552f6000b581, 709, 0};
	bbOnDebugEnterStm(&__stmt_8);
	bbt_result=bmx_odbc_executePrepared(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
	struct BBDebugStm __stmt_9 = {0x6f9a552f6000b581, 711, 0};
	bbOnDebugEnterStm(&__stmt_9);
	if(bbt_strings!= &bbEmptyArray){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 713, 0};
		bbOnDebugEnterStm(&__stmt_0);
		{
			BBINT bbt_i3=0;
			BBINT bbt_12=bbt_paramCount;
			for(;(bbt_i3<bbt_12);bbt_i3=(bbt_i3+1)){
				struct BBDebugScope_1 __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_LOCAL,
							"i",
							"i",
							.var_address=&bbt_i3
						},
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 714, 0};
				bbOnDebugEnterStm(&__stmt_0);
				if(((BBBYTE**)BBARRAYDATAINDEX((bbt_strings),(bbt_strings)->dims,((BBUINT)bbt_i3)))[((BBUINT)bbt_i3)]){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 715, 0};
					bbOnDebugEnterStm(&__stmt_0);
					bbMemFree((void*)((BBBYTE**)BBARRAYDATAINDEX((bbt_strings),(bbt_strings)->dims,((BBUINT)bbt_i3)))[((BBUINT)bbt_i3)]);
					bbOnDebugLeaveScope();
				}
				bbOnDebugLeaveScope();
			}
		}
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_10 = {0x6f9a552f6000b581, 720, 0};
	bbOnDebugEnterStm(&__stmt_10);
	if(database_odbc_isSQLError(bbt_result)!=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 721, 0};
		bbOnDebugEnterStm(&__stmt_0);
		struct database_odbc_TDBODBC_obj* bbt_13;
		(((struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)(bbt_13 = ((struct database_odbc_TDBODBC_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ,(BBClass*)&database_odbc_TDBODBC))))))->clas)->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)bbt_13,3,((BBString*)&_s23),3,((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 722, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_11 = {0x6f9a552f6000b581, 725, 0};
	bbOnDebugEnterStm(&__stmt_11);
	bbt_fieldCount=0;
	struct BBDebugStm __stmt_12 = {0x6f9a552f6000b581, 726, 0};
	bbOnDebugEnterStm(&__stmt_12);
	bmx_odbc_SQLNumResultCols(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(&bbt_fieldCount));
	struct BBDebugStm __stmt_13 = {0x6f9a552f6000b581, 728, 0};
	bbOnDebugEnterStm(&__stmt_13);
	((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)o));
	((struct database_odbc_TODBCResultSet_obj*)o)->clas->m_initRecord_i((struct database_odbc_TODBCResultSet_obj*)o,bbt_fieldCount);
	struct BBDebugStm __stmt_14 = {0x6f9a552f6000b581, 731, 0};
	bbOnDebugEnterStm(&__stmt_14);
	if(bbt_fieldCount!=0){
		BBINT bbt_bufferLength=0;
		BBBYTE bbt_columnName[256]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
		BBINT bbt_nameLength=0;
		BBINT bbt_dataType=0;
		BBINT bbt_columnSize=0;
		BBINT bbt_decimalDigits=0;
		BBINT bbt_nullable=0;
		struct BBDebugScope_7 __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_LOCAL,
					"bufferLength",
					"i",
					.var_address=&bbt_bufferLength
				},
				{
					BBDEBUGDECL_LOCAL,
					"columnName",
					"[256]b",
					.var_address=&bbt_columnName
				},
				{
					BBDEBUGDECL_LOCAL,
					"nameLength",
					"i",
					.var_address=&bbt_nameLength
				},
				{
					BBDEBUGDECL_LOCAL,
					"dataType",
					"i",
					.var_address=&bbt_dataType
				},
				{
					BBDEBUGDECL_LOCAL,
					"columnSize",
					"i",
					.var_address=&bbt_columnSize
				},
				{
					BBDEBUGDECL_LOCAL,
					"decimalDigits",
					"i",
					.var_address=&bbt_decimalDigits
				},
				{
					BBDEBUGDECL_LOCAL,
					"nullable",
					"i",
					.var_address=&bbt_nullable
				},
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 733, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_bufferLength=256;
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 734, 0};
		bbOnDebugEnterStm(&__stmt_1);
		struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 735, 0};
		bbOnDebugEnterStm(&__stmt_2);
		bbt_nameLength=0;
		struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 736, 0};
		bbOnDebugEnterStm(&__stmt_3);
		bbt_dataType=0;
		struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 737, 0};
		bbOnDebugEnterStm(&__stmt_4);
		bbt_columnSize=0;
		struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 738, 0};
		bbOnDebugEnterStm(&__stmt_5);
		bbt_decimalDigits=0;
		struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 739, 0};
		bbOnDebugEnterStm(&__stmt_6);
		bbt_nullable=0;
		struct BBDebugStm __stmt_7 = {0x6f9a552f6000b581, 741, 0};
		bbOnDebugEnterStm(&__stmt_7);
		{
			BBINT bbt_i4=0;
			BBINT bbt_14=bbt_fieldCount;
			for(;(bbt_i4<bbt_14);bbt_i4=(bbt_i4+1)){
				struct database_core_TQueryField_obj* bbt_qf=(struct database_core_TQueryField_obj*)((struct database_core_TQueryField_obj*)&bbNullObject);
				struct BBDebugScope_2 __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_LOCAL,
							"i",
							"i",
							.var_address=&bbt_i4
						},
						{
							BBDEBUGDECL_LOCAL,
							"qf",
							":TQueryField",
							.var_address=&bbt_qf
						},
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 746, 0};
				bbOnDebugEnterStm(&__stmt_0);
				bbt_result=bmx_odbc_SQLDescribeCol(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i4+1),(bbt_columnName),bbt_bufferLength,(&bbt_nameLength),(&bbt_dataType),(&bbt_columnSize),(&bbt_decimalDigits),(&bbt_nullable));
				struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 748, 0};
				bbOnDebugEnterStm(&__stmt_1);
				if(database_odbc_isSQLError(bbt_result)!=0){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 749, 0};
					bbOnDebugEnterStm(&__stmt_0);
					struct database_odbc_TDBODBC_obj* bbt_15;
					(((struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)(bbt_15 = ((struct database_odbc_TDBODBC_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ,(BBClass*)&database_odbc_TDBODBC))))))->clas)->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)bbt_15,3,((BBString*)&_s24),3,((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
					struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 751, 0};
					bbOnDebugEnterStm(&__stmt_1);
					bbOnDebugLeaveScope();
					bbOnDebugLeaveScope();
					bbOnDebugLeaveScope();
					bbOnDebugLeaveScope();
					return 0;
				}
				struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 754, 0};
				bbOnDebugEnterStm(&__stmt_2);
				bbt_qf=(struct database_core_TQueryField_obj*)database_core_TQueryField_Create_TTQueryField_Si(bbStringFromUTF8Bytes((bbt_columnName),bbt_nameLength),o->clas->f_dbTypeFromNative_i_Sii((&bbEmptyString),bbt_dataType,0));
				struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 755, 0};
				bbOnDebugEnterStm(&__stmt_3);
				if(bbt_columnSize==0){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 756, 0};
					bbOnDebugEnterStm(&__stmt_0);
					((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_qf))->_database_core_tqueryfield_length =-1;
					bbOnDebugLeaveScope();
				}else{
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 758, 0};
					bbOnDebugEnterStm(&__stmt_0);
					((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_qf))->_database_core_tqueryfield_length =bbt_columnSize;
					bbOnDebugLeaveScope();
				}
				struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 760, 0};
				bbOnDebugEnterStm(&__stmt_4);
				if(bbt_decimalDigits==0){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 761, 0};
					bbOnDebugEnterStm(&__stmt_0);
					((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_qf))->_database_core_tqueryfield_precision =-1;
					bbOnDebugLeaveScope();
				}else{
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 763, 0};
					bbOnDebugEnterStm(&__stmt_0);
					((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_qf))->_database_core_tqueryfield_precision =bbt_decimalDigits;
					bbOnDebugLeaveScope();
				}
				struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 765, 0};
				bbOnDebugEnterStm(&__stmt_5);
				if(bbt_nullable==1){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 766, 0};
					bbOnDebugEnterStm(&__stmt_0);
					((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_qf))->_database_core_tqueryfield_nullable =1;
					bbOnDebugLeaveScope();
				}else{
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 767, 0};
					bbOnDebugEnterStm(&__stmt_0);
					if(bbt_nullable==0){
						struct BBDebugScope __scope = {
							BBDEBUGSCOPE_LOCALBLOCK,
							0,
							{
								{
									BBDEBUGDECL_END
								}
							}
						};
						bbOnDebugEnterScope((BBDebugScope *)&__scope);
						struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 768, 0};
						bbOnDebugEnterStm(&__stmt_0);
						((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_qf))->_database_core_tqueryfield_nullable =0;
						bbOnDebugLeaveScope();
					}
					bbOnDebugLeaveScope();
				}
				struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 771, 0};
				bbOnDebugEnterStm(&__stmt_6);
				((struct database_core_TQueryRecord_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ))->clas->m_setField_iTTQueryField((struct database_core_TQueryRecord_obj*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ,bbt_i4,(struct database_core_TQueryField_obj*)bbt_qf);
				bbOnDebugLeaveScope();
			}
		}
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_15 = {0x6f9a552f6000b581, 777, 0};
	bbOnDebugEnterStm(&__stmt_15);
	((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset__isactive =1;
	struct BBDebugStm __stmt_16 = {0x6f9a552f6000b581, 778, 0};
	bbOnDebugEnterStm(&__stmt_16);
	bbOnDebugLeaveScope();
	return 1;
}
BBINT _database_odbc_TODBCResultSet_firstRow(struct database_odbc_TODBCResultSet_obj* o){
	((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)o));
	struct BBDebugScope_1 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"firstRow",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TODBCResultSet",
				.var_address=&o
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 782, 0};
	bbOnDebugEnterStm(&__stmt_0);
	if(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_index ==-1){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 783, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)o));
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return ((struct database_odbc_TODBCResultSet_obj*)o)->clas->m_nextRow((struct database_odbc_TODBCResultSet_obj*)o);
	}
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 786, 0};
	bbOnDebugEnterStm(&__stmt_1);
	bbOnDebugLeaveScope();
	return 0;
}
BBINT _database_odbc_TODBCResultSet_nextRow(struct database_odbc_TODBCResultSet_obj* o){
	((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)o));
	BBINT bbt_result=0;
	struct BBDebugScope_2 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"nextRow",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TODBCResultSet",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"result",
				"i",
				.var_address=&bbt_result
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 791, 0};
	bbOnDebugEnterStm(&__stmt_0);
	if(!(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle )){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 792, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 796, 0};
	bbOnDebugEnterStm(&__stmt_1);
	bbt_result=bmx_odbc_SQLFetchScroll(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 798, 0};
	bbOnDebugEnterStm(&__stmt_2);
	if((bbt_result!=0) && (bbt_result!=1)){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 799, 0};
		bbOnDebugEnterStm(&__stmt_0);
		if(bbt_result!=100){
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 800, 0};
			bbOnDebugEnterStm(&__stmt_0);
			struct database_odbc_TDBODBC_obj* bbt_;
			(((struct database_odbc_TDBODBC_obj*)((struct database_odbc_TDBODBC_obj*)bbNullObjectTest((BBObject*)(bbt_ = ((struct database_odbc_TDBODBC_obj*)bbObjectDowncast((BBOBJECT)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_conn ,(BBClass*)&database_odbc_TDBODBC))))))->clas)->m_processError_iSipb((struct database_odbc_TDBODBC_obj*)bbt_,3,((BBString*)&_s27),3,((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle );
			bbOnDebugLeaveScope();
		}
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 802, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 807, 0};
	bbOnDebugEnterStm(&__stmt_3);
	{
		BBINT bbt_i=0;
		BBINT bbt_2=((struct database_core_TQueryRecord_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ))->clas->m_count((struct database_core_TQueryRecord_obj*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec );
		for(;(bbt_i<bbt_2);bbt_i=(bbt_i+1)){
			BBINT bbt_lenIndicator=0;
			struct BBDebugScope_2 __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_LOCAL,
						"i",
						"i",
						.var_address=&bbt_i
					},
					{
						BBDEBUGDECL_LOCAL,
						"lenIndicator",
						"i",
						.var_address=&bbt_lenIndicator
					},
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 809, 0};
			bbOnDebugEnterStm(&__stmt_0);
			if(((BBObject*)((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values ),(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])!= &bbNullObject){
				struct BBDebugScope __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 810, 0};
				bbOnDebugEnterStm(&__stmt_0);
				struct database_core_dbtypes_TDBType_obj* bbt_3;
				(((struct database_core_dbtypes_TDBType_obj*)bbNullObjectTest((BBObject*)(bbt_3 = ((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values ),(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])))->clas)->m_clear((struct database_core_dbtypes_TDBType_obj*)bbt_3);
				bbOnDebugLeaveScope();
			}
			struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 813, 0};
			bbOnDebugEnterStm(&__stmt_1);
			bbt_lenIndicator=0;
			struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 815, 0};
			bbOnDebugEnterStm(&__stmt_2);
			BBINT bbt_4=((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryField_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryRecord_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ))->_database_core_tqueryrecord_fields ),(((struct database_core_TQueryRecord_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ))->_database_core_tqueryrecord_fields )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]))->_database_core_tqueryfield_ftype ;
			struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 816, 0};
			bbOnDebugEnterStm(&__stmt_3);
			if(bbt_4==2){
				BBINT bbt_intValue=0;
				struct BBDebugScope_1 __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_LOCAL,
							"intValue",
							"i",
							.var_address=&bbt_intValue
						},
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 818, 0};
				bbOnDebugEnterStm(&__stmt_0);
				bbt_intValue=0;
				struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 820, 0};
				bbOnDebugEnterStm(&__stmt_1);
				bbt_result=bmx_odbc_SQLGetData_int(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),(&bbt_intValue),(&bbt_lenIndicator));
				struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 822, 0};
				bbOnDebugEnterStm(&__stmt_2);
				if((database_odbc_isSQLError(bbt_result)!=0) || (bbt_lenIndicator==-1)){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 823, 0};
					bbOnDebugEnterStm(&__stmt_0);
					bbOnDebugLeaveScope();
					bbOnDebugLeaveScope();
					bbOnDebugLeaveScope();
					continue;
				}
				struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 826, 0};
				bbOnDebugEnterStm(&__stmt_3);
				((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values ),(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)(struct database_core_dbtypes_TDBInt_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBInt),(BBClass*)&database_core_dbtypes_TDBType));
				struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 827, 0};
				bbOnDebugEnterStm(&__stmt_4);
				struct database_core_dbtypes_TDBType_obj* bbt_5;
				(((struct database_core_dbtypes_TDBType_obj*)bbNullObjectTest((BBObject*)(bbt_5 = ((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values ),(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])))->clas)->m_setInt_i((struct database_core_dbtypes_TDBType_obj*)bbt_5,bbt_intValue);
				bbOnDebugLeaveScope();
			}else{
				struct BBDebugScope __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 829, 0};
				bbOnDebugEnterStm(&__stmt_0);
				if(bbt_4==5){
					BBLONG bbt_longValue=0;
					struct BBDebugScope_1 __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_LOCAL,
								"longValue",
								"l",
								.var_address=&bbt_longValue
							},
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 831, 0};
					bbOnDebugEnterStm(&__stmt_0);
					bbt_longValue=0LL;
					struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 833, 0};
					bbOnDebugEnterStm(&__stmt_1);
					bbt_result=bmx_odbc_SQLGetData_long(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),(&bbt_longValue),(&bbt_lenIndicator));
					struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 835, 0};
					bbOnDebugEnterStm(&__stmt_2);
					if((database_odbc_isSQLError(bbt_result)!=0) || (bbt_lenIndicator==-1)){
						struct BBDebugScope __scope = {
							BBDEBUGSCOPE_LOCALBLOCK,
							0,
							{
								{
									BBDEBUGDECL_END
								}
							}
						};
						bbOnDebugEnterScope((BBDebugScope *)&__scope);
						struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 836, 0};
						bbOnDebugEnterStm(&__stmt_0);
						bbOnDebugLeaveScope();
						bbOnDebugLeaveScope();
						bbOnDebugLeaveScope();
						bbOnDebugLeaveScope();
						continue;
					}
					struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 839, 0};
					bbOnDebugEnterStm(&__stmt_3);
					((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values ),(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)(struct database_core_dbtypes_TDBLong_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBLong),(BBClass*)&database_core_dbtypes_TDBType));
					struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 840, 0};
					bbOnDebugEnterStm(&__stmt_4);
					struct database_core_dbtypes_TDBType_obj* bbt_6;
					(((struct database_core_dbtypes_TDBType_obj*)bbNullObjectTest((BBObject*)(bbt_6 = ((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values ),(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])))->clas)->m_setLong_l((struct database_core_dbtypes_TDBType_obj*)bbt_6,bbt_longValue);
					bbOnDebugLeaveScope();
				}else{
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 842, 0};
					bbOnDebugEnterStm(&__stmt_0);
					if(bbt_4==3){
						BBDOUBLE bbt_doubleValue=0;
						struct BBDebugScope_1 __scope = {
							BBDEBUGSCOPE_LOCALBLOCK,
							0,
							{
								{
									BBDEBUGDECL_LOCAL,
									"doubleValue",
									"d",
									.var_address=&bbt_doubleValue
								},
								{
									BBDEBUGDECL_END
								}
							}
						};
						bbOnDebugEnterScope((BBDebugScope *)&__scope);
						struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 844, 0};
						bbOnDebugEnterStm(&__stmt_0);
						bbt_doubleValue=.0000000000000000;
						struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 846, 0};
						bbOnDebugEnterStm(&__stmt_1);
						bbt_result=bmx_odbc_SQLGetData_double(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),(&bbt_doubleValue),(&bbt_lenIndicator));
						struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 848, 0};
						bbOnDebugEnterStm(&__stmt_2);
						if((database_odbc_isSQLError(bbt_result)!=0) || (bbt_lenIndicator==-1)){
							struct BBDebugScope __scope = {
								BBDEBUGSCOPE_LOCALBLOCK,
								0,
								{
									{
										BBDEBUGDECL_END
									}
								}
							};
							bbOnDebugEnterScope((BBDebugScope *)&__scope);
							struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 849, 0};
							bbOnDebugEnterStm(&__stmt_0);
							bbOnDebugLeaveScope();
							bbOnDebugLeaveScope();
							bbOnDebugLeaveScope();
							bbOnDebugLeaveScope();
							bbOnDebugLeaveScope();
							continue;
						}
						struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 852, 0};
						bbOnDebugEnterStm(&__stmt_3);
						((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values ),(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)(struct database_core_dbtypes_TDBDouble_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBDouble),(BBClass*)&database_core_dbtypes_TDBType));
						struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 853, 0};
						bbOnDebugEnterStm(&__stmt_4);
						struct database_core_dbtypes_TDBType_obj* bbt_7;
						(((struct database_core_dbtypes_TDBType_obj*)bbNullObjectTest((BBObject*)(bbt_7 = ((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values ),(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])))->clas)->m_setDouble_d((struct database_core_dbtypes_TDBType_obj*)bbt_7,bbt_doubleValue);
						bbOnDebugLeaveScope();
					}else{
						struct BBDebugScope __scope = {
							BBDEBUGSCOPE_LOCALBLOCK,
							0,
							{
								{
									BBDEBUGDECL_END
								}
							}
						};
						bbOnDebugEnterScope((BBDebugScope *)&__scope);
						struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 855, 0};
						bbOnDebugEnterStm(&__stmt_0);
						if(bbt_4==6){
							BBINT bbt_y=0;
							BBINT bbt_m=0;
							BBINT bbt_d=0;
							struct database_core_dbtypes_TDBDate_obj* bbt_date=(struct database_core_dbtypes_TDBDate_obj*)((struct database_core_dbtypes_TDBDate_obj*)&bbNullObject);
							struct BBDebugScope_4 __scope = {
								BBDEBUGSCOPE_LOCALBLOCK,
								0,
								{
									{
										BBDEBUGDECL_LOCAL,
										"y",
										"i",
										.var_address=&bbt_y
									},
									{
										BBDEBUGDECL_LOCAL,
										"m",
										"i",
										.var_address=&bbt_m
									},
									{
										BBDEBUGDECL_LOCAL,
										"d",
										"i",
										.var_address=&bbt_d
									},
									{
										BBDEBUGDECL_LOCAL,
										"date",
										":TDBDate",
										.var_address=&bbt_date
									},
									{
										BBDEBUGDECL_END
									}
								}
							};
							bbOnDebugEnterScope((BBDebugScope *)&__scope);
							struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 857, 0};
							bbOnDebugEnterStm(&__stmt_0);
							bbt_y=0;
							struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 857, 0};
							bbOnDebugEnterStm(&__stmt_1);
							bbt_m=0;
							struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 857, 0};
							bbOnDebugEnterStm(&__stmt_2);
							bbt_d=0;
							struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 860, 0};
							bbOnDebugEnterStm(&__stmt_3);
							bbt_result=bmx_odbc_SQLGetData_date(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),(&bbt_y),(&bbt_m),(&bbt_d),(&bbt_lenIndicator));
							struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 862, 0};
							bbOnDebugEnterStm(&__stmt_4);
							if((database_odbc_isSQLError(bbt_result)!=0) || (bbt_lenIndicator==-1)){
								struct BBDebugScope __scope = {
									BBDEBUGSCOPE_LOCALBLOCK,
									0,
									{
										{
											BBDEBUGDECL_END
										}
									}
								};
								bbOnDebugEnterScope((BBDebugScope *)&__scope);
								struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 863, 0};
								bbOnDebugEnterStm(&__stmt_0);
								bbOnDebugLeaveScope();
								bbOnDebugLeaveScope();
								bbOnDebugLeaveScope();
								bbOnDebugLeaveScope();
								bbOnDebugLeaveScope();
								bbOnDebugLeaveScope();
								continue;
							}
							struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 866, 0};
							bbOnDebugEnterStm(&__stmt_5);
							bbt_date=(struct database_core_dbtypes_TDBDate_obj*)(struct database_core_dbtypes_TDBDate_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBDate);
							struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 867, 0};
							bbOnDebugEnterStm(&__stmt_6);
							((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values ),(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)bbt_date,(BBClass*)&database_core_dbtypes_TDBType));
							struct BBDebugStm __stmt_7 = {0x6f9a552f6000b581, 868, 0};
							bbOnDebugEnterStm(&__stmt_7);
							((struct database_core_dbtypes_TDBDate_obj*)bbNullObjectTest((BBObject*)bbt_date))->clas->m_setFromParts_iii((struct database_core_dbtypes_TDBDate_obj*)bbt_date,bbt_y,bbt_m,bbt_d);
							bbOnDebugLeaveScope();
						}else{
							struct BBDebugScope __scope = {
								BBDEBUGSCOPE_LOCALBLOCK,
								0,
								{
									{
										BBDEBUGDECL_END
									}
								}
							};
							bbOnDebugEnterScope((BBDebugScope *)&__scope);
							struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 870, 0};
							bbOnDebugEnterStm(&__stmt_0);
							if(bbt_4==8){
								BBINT bbt_y2=0;
								BBINT bbt_m2=0;
								BBINT bbt_d2=0;
								BBINT bbt_hh=0;
								BBINT bbt_mm=0;
								BBINT bbt_ss=0;
								struct database_core_dbtypes_TDBDateTime_obj* bbt_date2=(struct database_core_dbtypes_TDBDateTime_obj*)((struct database_core_dbtypes_TDBDateTime_obj*)&bbNullObject);
								struct BBDebugScope_7 __scope = {
									BBDEBUGSCOPE_LOCALBLOCK,
									0,
									{
										{
											BBDEBUGDECL_LOCAL,
											"y",
											"i",
											.var_address=&bbt_y2
										},
										{
											BBDEBUGDECL_LOCAL,
											"m",
											"i",
											.var_address=&bbt_m2
										},
										{
											BBDEBUGDECL_LOCAL,
											"d",
											"i",
											.var_address=&bbt_d2
										},
										{
											BBDEBUGDECL_LOCAL,
											"hh",
											"i",
											.var_address=&bbt_hh
										},
										{
											BBDEBUGDECL_LOCAL,
											"mm",
											"i",
											.var_address=&bbt_mm
										},
										{
											BBDEBUGDECL_LOCAL,
											"ss",
											"i",
											.var_address=&bbt_ss
										},
										{
											BBDEBUGDECL_LOCAL,
											"date",
											":TDBDateTime",
											.var_address=&bbt_date2
										},
										{
											BBDEBUGDECL_END
										}
									}
								};
								bbOnDebugEnterScope((BBDebugScope *)&__scope);
								struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 872, 0};
								bbOnDebugEnterStm(&__stmt_0);
								bbt_y2=0;
								struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 872, 0};
								bbOnDebugEnterStm(&__stmt_1);
								bbt_m2=0;
								struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 872, 0};
								bbOnDebugEnterStm(&__stmt_2);
								bbt_d2=0;
								struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 872, 0};
								bbOnDebugEnterStm(&__stmt_3);
								bbt_hh=0;
								struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 872, 0};
								bbOnDebugEnterStm(&__stmt_4);
								bbt_mm=0;
								struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 872, 0};
								bbOnDebugEnterStm(&__stmt_5);
								bbt_ss=0;
								struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 875, 0};
								bbOnDebugEnterStm(&__stmt_6);
								bbt_result=bmx_odbc_SQLGetData_datetime(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),(&bbt_y2),(&bbt_m2),(&bbt_d2),(&bbt_hh),(&bbt_mm),(&bbt_ss),(&bbt_lenIndicator));
								struct BBDebugStm __stmt_7 = {0x6f9a552f6000b581, 877, 0};
								bbOnDebugEnterStm(&__stmt_7);
								if((database_odbc_isSQLError(bbt_result)!=0) || (bbt_lenIndicator==-1)){
									struct BBDebugScope __scope = {
										BBDEBUGSCOPE_LOCALBLOCK,
										0,
										{
											{
												BBDEBUGDECL_END
											}
										}
									};
									bbOnDebugEnterScope((BBDebugScope *)&__scope);
									struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 878, 0};
									bbOnDebugEnterStm(&__stmt_0);
									bbOnDebugLeaveScope();
									bbOnDebugLeaveScope();
									bbOnDebugLeaveScope();
									bbOnDebugLeaveScope();
									bbOnDebugLeaveScope();
									bbOnDebugLeaveScope();
									bbOnDebugLeaveScope();
									continue;
								}
								struct BBDebugStm __stmt_8 = {0x6f9a552f6000b581, 881, 0};
								bbOnDebugEnterStm(&__stmt_8);
								bbt_date2=(struct database_core_dbtypes_TDBDateTime_obj*)(struct database_core_dbtypes_TDBDateTime_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBDateTime);
								struct BBDebugStm __stmt_9 = {0x6f9a552f6000b581, 882, 0};
								bbOnDebugEnterStm(&__stmt_9);
								((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values ),(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)bbt_date2,(BBClass*)&database_core_dbtypes_TDBType));
								struct BBDebugStm __stmt_10 = {0x6f9a552f6000b581, 883, 0};
								bbOnDebugEnterStm(&__stmt_10);
								((struct database_core_dbtypes_TDBDateTime_obj*)bbNullObjectTest((BBObject*)bbt_date2))->clas->m_setFromParts_iiiiii((struct database_core_dbtypes_TDBDateTime_obj*)bbt_date2,bbt_y2,bbt_m2,bbt_d2,bbt_hh,bbt_mm,bbt_ss);
								bbOnDebugLeaveScope();
							}else{
								struct BBDebugScope __scope = {
									BBDEBUGSCOPE_LOCALBLOCK,
									0,
									{
										{
											BBDEBUGDECL_END
										}
									}
								};
								bbOnDebugEnterScope((BBDebugScope *)&__scope);
								struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 885, 0};
								bbOnDebugEnterStm(&__stmt_0);
								if(bbt_4==9){
									BBINT bbt_hh2=0;
									BBINT bbt_mm2=0;
									BBINT bbt_ss2=0;
									struct database_core_dbtypes_TDBTime_obj* bbt_date3=(struct database_core_dbtypes_TDBTime_obj*)((struct database_core_dbtypes_TDBTime_obj*)&bbNullObject);
									struct BBDebugScope_4 __scope = {
										BBDEBUGSCOPE_LOCALBLOCK,
										0,
										{
											{
												BBDEBUGDECL_LOCAL,
												"hh",
												"i",
												.var_address=&bbt_hh2
											},
											{
												BBDEBUGDECL_LOCAL,
												"mm",
												"i",
												.var_address=&bbt_mm2
											},
											{
												BBDEBUGDECL_LOCAL,
												"ss",
												"i",
												.var_address=&bbt_ss2
											},
											{
												BBDEBUGDECL_LOCAL,
												"date",
												":TDBTime",
												.var_address=&bbt_date3
											},
											{
												BBDEBUGDECL_END
											}
										}
									};
									bbOnDebugEnterScope((BBDebugScope *)&__scope);
									struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 887, 0};
									bbOnDebugEnterStm(&__stmt_0);
									bbt_hh2=0;
									struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 887, 0};
									bbOnDebugEnterStm(&__stmt_1);
									bbt_mm2=0;
									struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 887, 0};
									bbOnDebugEnterStm(&__stmt_2);
									bbt_ss2=0;
									struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 889, 0};
									bbOnDebugEnterStm(&__stmt_3);
									bbt_result=bmx_odbc_SQLGetData_time(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),(&bbt_hh2),(&bbt_mm2),(&bbt_ss2),(&bbt_lenIndicator));
									struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 891, 0};
									bbOnDebugEnterStm(&__stmt_4);
									if((database_odbc_isSQLError(bbt_result)!=0) || (bbt_lenIndicator==-1)){
										struct BBDebugScope __scope = {
											BBDEBUGSCOPE_LOCALBLOCK,
											0,
											{
												{
													BBDEBUGDECL_END
												}
											}
										};
										bbOnDebugEnterScope((BBDebugScope *)&__scope);
										struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 892, 0};
										bbOnDebugEnterStm(&__stmt_0);
										bbOnDebugLeaveScope();
										bbOnDebugLeaveScope();
										bbOnDebugLeaveScope();
										bbOnDebugLeaveScope();
										bbOnDebugLeaveScope();
										bbOnDebugLeaveScope();
										bbOnDebugLeaveScope();
										bbOnDebugLeaveScope();
										continue;
									}
									struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 895, 0};
									bbOnDebugEnterStm(&__stmt_5);
									bbt_date3=(struct database_core_dbtypes_TDBTime_obj*)(struct database_core_dbtypes_TDBTime_obj*)bbObjectAtomicNew((BBClass *)&database_core_dbtypes_TDBTime);
									struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 896, 0};
									bbOnDebugEnterStm(&__stmt_6);
									((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values ),(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)bbt_date3,(BBClass*)&database_core_dbtypes_TDBType));
									struct BBDebugStm __stmt_7 = {0x6f9a552f6000b581, 897, 0};
									bbOnDebugEnterStm(&__stmt_7);
									((struct database_core_dbtypes_TDBTime_obj*)bbNullObjectTest((BBObject*)bbt_date3))->clas->m_setFromParts_iii((struct database_core_dbtypes_TDBTime_obj*)bbt_date3,bbt_hh2,bbt_mm2,bbt_ss2);
									bbOnDebugLeaveScope();
								}else{
									struct BBDebugScope __scope = {
										BBDEBUGSCOPE_LOCALBLOCK,
										0,
										{
											{
												BBDEBUGDECL_END
											}
										}
									};
									bbOnDebugEnterScope((BBDebugScope *)&__scope);
									struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 899, 0};
									bbOnDebugEnterStm(&__stmt_0);
									if(bbt_4==7){
										struct BBDebugScope __scope = {
											BBDEBUGSCOPE_LOCALBLOCK,
											0,
											{
												{
													BBDEBUGDECL_END
												}
											}
										};
										bbOnDebugEnterScope((BBDebugScope *)&__scope);
										bbOnDebugLeaveScope();
									}else{
										BBSTRING bbt_s=(&bbEmptyString);
										struct BBDebugScope_1 __scope = {
											BBDEBUGSCOPE_LOCALBLOCK,
											0,
											{
												{
													BBDEBUGDECL_LOCAL,
													"s",
													"$",
													.var_address=&bbt_s
												},
												{
													BBDEBUGDECL_END
												}
											}
										};
										bbOnDebugEnterScope((BBDebugScope *)&__scope);
										struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 903, 0};
										bbOnDebugEnterStm(&__stmt_0);
										((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)o));
										bbt_s=((struct database_odbc_TODBCResultSet_obj*)o)->clas->m_getStringData_TTQueryFieldivi((struct database_odbc_TODBCResultSet_obj*)o,(struct database_core_TQueryField_obj*)((struct database_core_TQueryField_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryRecord_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ))->_database_core_tqueryrecord_fields ),(((struct database_core_TQueryRecord_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ))->_database_core_tqueryrecord_fields )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)],bbt_i,(&bbt_result));
										struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 905, 0};
										bbOnDebugEnterStm(&__stmt_1);
										if((database_odbc_isSQLError(bbt_result)!=0) || (bbt_result==100)){
											struct BBDebugScope __scope = {
												BBDEBUGSCOPE_LOCALBLOCK,
												0,
												{
													{
														BBDEBUGDECL_END
													}
												}
											};
											bbOnDebugEnterScope((BBDebugScope *)&__scope);
											struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 906, 0};
											bbOnDebugEnterStm(&__stmt_0);
											bbOnDebugLeaveScope();
											bbOnDebugLeaveScope();
											bbOnDebugLeaveScope();
											bbOnDebugLeaveScope();
											bbOnDebugLeaveScope();
											bbOnDebugLeaveScope();
											bbOnDebugLeaveScope();
											bbOnDebugLeaveScope();
											bbOnDebugLeaveScope();
											continue;
										}
										struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 909, 0};
										bbOnDebugEnterStm(&__stmt_2);
										if(bbt_s!= &bbEmptyString){
											struct BBDebugScope __scope = {
												BBDEBUGSCOPE_LOCALBLOCK,
												0,
												{
													{
														BBDEBUGDECL_END
													}
												}
											};
											bbOnDebugEnterScope((BBDebugScope *)&__scope);
											struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 910, 0};
											bbOnDebugEnterStm(&__stmt_0);
											((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values ),(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)]=(struct database_core_dbtypes_TDBType_obj*)((struct database_core_dbtypes_TDBType_obj*)bbObjectDowncast((BBOBJECT)(struct database_core_dbtypes_TDBString_obj*)bbObjectNew((BBClass *)&database_core_dbtypes_TDBString),(BBClass*)&database_core_dbtypes_TDBType));
											struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 911, 0};
											bbOnDebugEnterStm(&__stmt_1);
											struct database_core_dbtypes_TDBType_obj* bbt_8;
											(((struct database_core_dbtypes_TDBType_obj*)bbNullObjectTest((BBObject*)(bbt_8 = ((struct database_core_dbtypes_TDBType_obj**)BBARRAYDATAINDEX((((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values ),(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_values )->dims,((BBUINT)bbt_i)))[((BBUINT)bbt_i)])))->clas)->m_setString_S((struct database_core_dbtypes_TDBType_obj*)bbt_8,bbt_s);
											bbOnDebugLeaveScope();
										}
										bbOnDebugLeaveScope();
									}
									bbOnDebugLeaveScope();
								}
								bbOnDebugLeaveScope();
							}
							bbOnDebugLeaveScope();
						}
						bbOnDebugLeaveScope();
					}
					bbOnDebugLeaveScope();
				}
				bbOnDebugLeaveScope();
			}
			bbOnDebugLeaveScope();
		}
	}
	struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 918, 0};
	bbOnDebugEnterStm(&__stmt_4);
	((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_index +=1;
	struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 920, 0};
	bbOnDebugEnterStm(&__stmt_5);
	bbOnDebugLeaveScope();
	return 1;
}
BBSTRING _database_odbc_TODBCResultSet_getStringData_TTQueryFieldivi(struct database_odbc_TODBCResultSet_obj* o,struct database_core_TQueryField_obj* bbt_record,BBINT bbt_i,BBINT* bbt_result){
	((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)o));
	struct brl_stringbuilder_TStringBuilder_obj* bbt_sb=(struct brl_stringbuilder_TStringBuilder_obj*)((struct brl_stringbuilder_TStringBuilder_obj*)&bbNullObject);
	BBINT bbt_bufferSize=0;
	BBINT bbt_lenIndicator=0;
	BBBYTE* bbt_buffer=0;
	BBSTRING bbt_s=(&bbEmptyString);
	struct BBDebugScope_9 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"getStringData",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TODBCResultSet",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"record",
				":TQueryField",
				.var_address=&bbt_record
			},
			{
				BBDEBUGDECL_LOCAL,
				"i",
				"i",
				.var_address=&bbt_i
			},
			{
				BBDEBUGDECL_VARPARAM,
				"result",
				"i",
				.var_address=&bbt_result
			},
			{
				BBDEBUGDECL_LOCAL,
				"sb",
				":TStringBuilder",
				.var_address=&bbt_sb
			},
			{
				BBDEBUGDECL_LOCAL,
				"bufferSize",
				"i",
				.var_address=&bbt_bufferSize
			},
			{
				BBDEBUGDECL_LOCAL,
				"lenIndicator",
				"i",
				.var_address=&bbt_lenIndicator
			},
			{
				BBDEBUGDECL_LOCAL,
				"buffer",
				"*b",
				.var_address=&bbt_buffer
			},
			{
				BBDEBUGDECL_LOCAL,
				"s",
				"$",
				.var_address=&bbt_s
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 927, 0};
	bbOnDebugEnterStm(&__stmt_0);
	bbt_sb=(struct brl_stringbuilder_TStringBuilder_obj*)(struct brl_stringbuilder_TStringBuilder_obj*)bbObjectNew((BBClass *)&brl_stringbuilder_TStringBuilder);
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 929, 0};
	bbOnDebugEnterStm(&__stmt_1);
	bbt_bufferSize=((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_record))->_database_core_tqueryfield_length ;
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 931, 0};
	bbOnDebugEnterStm(&__stmt_2);
	if(((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_record))->_database_core_tqueryfield_length <=0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 932, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_bufferSize=256;
		bbOnDebugLeaveScope();
	}else{
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 933, 0};
		bbOnDebugEnterStm(&__stmt_0);
		if(((struct database_core_TQueryField_obj*)bbNullObjectTest((BBObject*)bbt_record))->_database_core_tqueryfield_length >65536){
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 934, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbt_bufferSize=65536;
			bbOnDebugLeaveScope();
		}else{
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 936, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbt_bufferSize+=1;
			bbOnDebugLeaveScope();
		}
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 939, 0};
	bbOnDebugEnterStm(&__stmt_3);
	bbt_lenIndicator=0;
	struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 940, 0};
	bbOnDebugEnterStm(&__stmt_4);
	bbt_buffer=bbMemAlloc((size_t)((BBSIZET)bbt_bufferSize));
	struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 941, 0};
	bbOnDebugEnterStm(&__stmt_5);
	bbt_s=((BBString*)&bbEmptyString);
	struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 943, 0};
	bbOnDebugEnterStm(&__stmt_6);
	while(1){
		BBINT bbt_actualSize=0;
		struct BBDebugScope_1 __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_LOCAL,
					"actualSize",
					"i",
					.var_address=&bbt_actualSize
				},
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 945, 0};
		bbOnDebugEnterStm(&__stmt_0);
		*bbt_result=bmx_odbc_SQLGetData_string(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(bbt_i+1),bbt_buffer,bbt_bufferSize,(&bbt_lenIndicator));
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 947, 0};
		bbOnDebugEnterStm(&__stmt_1);
		if((database_odbc_isSQLError(*bbt_result)!=0) || (*bbt_result==100)){
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 948, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbOnDebugLeaveScope();
			bbOnDebugLeaveScope();
			break;
		}
		struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 952, 0};
		bbOnDebugEnterStm(&__stmt_2);
		if((bbt_lenIndicator==-1) || (bbt_lenIndicator==-4)){
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 953, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbOnDebugLeaveScope();
			bbOnDebugLeaveScope();
			break;
		}
		struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 956, 0};
		bbOnDebugEnterStm(&__stmt_3);
		bbt_actualSize=0;
		struct BBDebugStm __stmt_4 = {0x6f9a552f6000b581, 957, 0};
		bbOnDebugEnterStm(&__stmt_4);
		if(*bbt_result==1){
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 958, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbt_actualSize=bbt_bufferSize;
			bbOnDebugLeaveScope();
		}else{
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 960, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbt_actualSize=bbt_lenIndicator;
			bbOnDebugLeaveScope();
		}
		struct BBDebugStm __stmt_5 = {0x6f9a552f6000b581, 963, 0};
		bbOnDebugEnterStm(&__stmt_5);
		((struct brl_stringbuilder_TStringBuilder_obj*)bbNullObjectTest((BBObject*)bbt_sb))->clas->m_AppendUTF8Bytes_pbi((struct brl_stringbuilder_TStringBuilder_obj*)bbt_sb,bbt_buffer,bbt_actualSize);
		struct BBDebugStm __stmt_6 = {0x6f9a552f6000b581, 965, 0};
		bbOnDebugEnterStm(&__stmt_6);
		if(bbt_lenIndicator<bbt_bufferSize){
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 966, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbOnDebugLeaveScope();
			bbOnDebugLeaveScope();
			break;
		}
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_7 = {0x6f9a552f6000b581, 971, 0};
	bbOnDebugEnterStm(&__stmt_7);
	bbMemFree((void*)bbt_buffer);
	struct BBDebugStm __stmt_8 = {0x6f9a552f6000b581, 973, 0};
	bbOnDebugEnterStm(&__stmt_8);
	bbOnDebugLeaveScope();
	return ((struct brl_stringbuilder_TStringBuilder_obj*)bbNullObjectTest((BBObject*)bbt_sb))->clas->ToString((struct brl_stringbuilder_TStringBuilder_obj*)bbt_sb);
}
BBLONG _database_odbc_TODBCResultSet_lastInsertedId(struct database_odbc_TODBCResultSet_obj* o){
	((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)o));
	struct BBDebugScope_1 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"lastInsertedId",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TODBCResultSet",
				.var_address=&o
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	bbOnDebugLeaveScope();
	return 0LL;
}
BBINT _database_odbc_TODBCResultSet_rowsAffected(struct database_odbc_TODBCResultSet_obj* o){
	((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)o));
	struct BBDebugScope_1 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"rowsAffected",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TODBCResultSet",
				.var_address=&o
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 982, 0};
	bbOnDebugEnterStm(&__stmt_0);
	if(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ){
		BBINT bbt_num=0;
		BBINT bbt_result=0;
		struct BBDebugScope_2 __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_LOCAL,
					"num",
					"i",
					.var_address=&bbt_num
				},
				{
					BBDEBUGDECL_LOCAL,
					"result",
					"i",
					.var_address=&bbt_result
				},
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 983, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_num=0;
		struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 984, 0};
		bbOnDebugEnterStm(&__stmt_1);
		bbt_result=bmx_odbc_SQLRowCount(((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_stmthandle ,(&bbt_num));
		struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 986, 0};
		bbOnDebugEnterStm(&__stmt_2);
		if(!(database_odbc_isSQLError(bbt_result)!=0)){
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 987, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbOnDebugLeaveScope();
			bbOnDebugLeaveScope();
			bbOnDebugLeaveScope();
			return bbt_num;
		}
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 991, 0};
	bbOnDebugEnterStm(&__stmt_1);
	bbOnDebugLeaveScope();
	return -1;
}
BBINT database_odbc_TODBCResultSet_dbTypeFromNative_i_Sii(BBSTRING bbt_name,BBINT bbt__type,BBINT bbt__flags){
	BBINT bbt_dbType=0;
	struct BBDebugScope_4 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"dbTypeFromNative",
		{
			{
				BBDEBUGDECL_LOCAL,
				"name",
				"$",
				.var_address=&bbt_name
			},
			{
				BBDEBUGDECL_LOCAL,
				"_type",
				"i",
				.var_address=&bbt__type
			},
			{
				BBDEBUGDECL_LOCAL,
				"_flags",
				"i",
				.var_address=&bbt__flags
			},
			{
				BBDEBUGDECL_LOCAL,
				"dbType",
				"i",
				.var_address=&bbt_dbType
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 995, 0};
	bbOnDebugEnterStm(&__stmt_0);
	bbt_dbType=0;
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 997, 0};
	bbOnDebugEnterStm(&__stmt_1);
	BBINT bbt_=bbt__type;
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 998, 0};
	bbOnDebugEnterStm(&__stmt_2);
	if((((bbt_==5) || (bbt_==4)) || (bbt_==-7)) || (bbt_==-6)){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 999, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbt_dbType=2;
		bbOnDebugLeaveScope();
	}else{
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1000, 0};
		bbOnDebugEnterStm(&__stmt_0);
		if((bbt_==-5) || (bbt_==65531)){
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1002, 0};
			bbOnDebugEnterStm(&__stmt_0);
			bbt_dbType=5;
			bbOnDebugLeaveScope();
		}else{
			struct BBDebugScope __scope = {
				BBDEBUGSCOPE_LOCALBLOCK,
				0,
				{
					{
						BBDEBUGDECL_END
					}
				}
			};
			bbOnDebugEnterScope((BBDebugScope *)&__scope);
			struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1003, 0};
			bbOnDebugEnterStm(&__stmt_0);
			if(((((bbt_==3) || (bbt_==2)) || (bbt_==7)) || (bbt_==6)) || (bbt_==8)){
				struct BBDebugScope __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1004, 0};
				bbOnDebugEnterStm(&__stmt_0);
				bbt_dbType=3;
				bbOnDebugLeaveScope();
			}else{
				struct BBDebugScope __scope = {
					BBDEBUGSCOPE_LOCALBLOCK,
					0,
					{
						{
							BBDEBUGDECL_END
						}
					}
				};
				bbOnDebugEnterScope((BBDebugScope *)&__scope);
				struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1005, 0};
				bbOnDebugEnterStm(&__stmt_0);
				if((bbt_==9) || (bbt_==91)){
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1006, 0};
					bbOnDebugEnterStm(&__stmt_0);
					bbt_dbType=6;
					bbOnDebugLeaveScope();
				}else{
					struct BBDebugScope __scope = {
						BBDEBUGSCOPE_LOCALBLOCK,
						0,
						{
							{
								BBDEBUGDECL_END
							}
						}
					};
					bbOnDebugEnterScope((BBDebugScope *)&__scope);
					struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1007, 0};
					bbOnDebugEnterStm(&__stmt_0);
					if((bbt_==10) || (bbt_==92)){
						struct BBDebugScope __scope = {
							BBDEBUGSCOPE_LOCALBLOCK,
							0,
							{
								{
									BBDEBUGDECL_END
								}
							}
						};
						bbOnDebugEnterScope((BBDebugScope *)&__scope);
						struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1008, 0};
						bbOnDebugEnterStm(&__stmt_0);
						bbt_dbType=9;
						bbOnDebugLeaveScope();
					}else{
						struct BBDebugScope __scope = {
							BBDEBUGSCOPE_LOCALBLOCK,
							0,
							{
								{
									BBDEBUGDECL_END
								}
							}
						};
						bbOnDebugEnterScope((BBDebugScope *)&__scope);
						struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1009, 0};
						bbOnDebugEnterStm(&__stmt_0);
						if((bbt_==11) || (bbt_==93)){
							struct BBDebugScope __scope = {
								BBDEBUGSCOPE_LOCALBLOCK,
								0,
								{
									{
										BBDEBUGDECL_END
									}
								}
							};
							bbOnDebugEnterScope((BBDebugScope *)&__scope);
							struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1010, 0};
							bbOnDebugEnterStm(&__stmt_0);
							bbt_dbType=8;
							bbOnDebugLeaveScope();
						}else{
							struct BBDebugScope __scope = {
								BBDEBUGSCOPE_LOCALBLOCK,
								0,
								{
									{
										BBDEBUGDECL_END
									}
								}
							};
							bbOnDebugEnterScope((BBDebugScope *)&__scope);
							struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1011, 0};
							bbOnDebugEnterStm(&__stmt_0);
							if(((bbt_==-2) || (bbt_==-3)) || (bbt_==-4)){
								struct BBDebugScope __scope = {
									BBDEBUGSCOPE_LOCALBLOCK,
									0,
									{
										{
											BBDEBUGDECL_END
										}
									}
								};
								bbOnDebugEnterScope((BBDebugScope *)&__scope);
								struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1012, 0};
								bbOnDebugEnterStm(&__stmt_0);
								bbt_dbType=7;
								bbOnDebugLeaveScope();
							}else{
								struct BBDebugScope __scope = {
									BBDEBUGSCOPE_LOCALBLOCK,
									0,
									{
										{
											BBDEBUGDECL_END
										}
									}
								};
								bbOnDebugEnterScope((BBDebugScope *)&__scope);
								struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1014, 0};
								bbOnDebugEnterStm(&__stmt_0);
								bbt_dbType=1;
								bbOnDebugLeaveScope();
							}
							bbOnDebugLeaveScope();
						}
						bbOnDebugLeaveScope();
					}
					bbOnDebugLeaveScope();
				}
				bbOnDebugLeaveScope();
			}
			bbOnDebugLeaveScope();
		}
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_3 = {0x6f9a552f6000b581, 1017, 0};
	bbOnDebugEnterStm(&__stmt_3);
	bbOnDebugLeaveScope();
	return bbt_dbType;
}
void _database_odbc_TODBCResultSet_initRecord_i(struct database_odbc_TODBCResultSet_obj* o,BBINT bbt_size){
	((struct database_odbc_TODBCResultSet_obj*)bbNullObjectTest((BBObject*)o));
	struct BBDebugScope_2 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"initRecord",
		{
			{
				BBDEBUGDECL_LOCAL,
				"Self",
				":TODBCResultSet",
				.var_address=&o
			},
			{
				BBDEBUGDECL_LOCAL,
				"size",
				"i",
				.var_address=&bbt_size
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1022, 0};
	bbOnDebugEnterStm(&__stmt_0);
	((struct database_core_TQueryRecord_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ))->clas->m_clear((struct database_core_TQueryRecord_obj*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec );
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 1024, 0};
	bbOnDebugEnterStm(&__stmt_1);
	if(bbt_size>0){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1025, 0};
		bbOnDebugEnterStm(&__stmt_0);
		((struct database_core_TQueryRecord_obj*)bbNullObjectTest((BBObject*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ))->clas->m_Init_i((struct database_core_TQueryRecord_obj*)((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o))->_database_core_tqueryresultset_rec ,bbt_size);
		bbOnDebugLeaveScope();
	}
	struct BBDebugStm __stmt_2 = {0x6f9a552f6000b581, 1028, 0};
	bbOnDebugEnterStm(&__stmt_2);
	((struct database_core_TQueryResultSet_obj*)bbNullObjectTest((BBObject*)o));
	((struct database_core_TQueryResultSet_obj*)o)->clas->m_resetValues_i((struct database_core_TQueryResultSet_obj*)o,bbt_size);
	bbOnDebugLeaveScope();
}
struct BBDebugScope_12 database_odbc_TODBCResultSet_scope ={
	BBDEBUGSCOPE_USERTYPE,
	"TODBCResultSet",
	{
		{
			BBDEBUGDECL_TYPEMETHOD,
			"New",
			"()",
			.func_ptr=(BBFuncPtr)&_database_odbc_TODBCResultSet_New
		},
		{
			BBDEBUGDECL_TYPEFUNCTION,
			"Create",
			"(:TDBConnection,$):TQueryResultSet",
			.func_ptr=(BBFuncPtr)&database_odbc_TODBCResultSet_Create_TTQueryResultSet_TTDBConnectionS
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"executeQuery",
			"($)i",
			.func_ptr=(BBFuncPtr)&_database_odbc_TODBCResultSet_executeQuery_S
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"prepare",
			"($)i",
			.func_ptr=(BBFuncPtr)&_database_odbc_TODBCResultSet_prepare_S
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"execute",
			"()i",
			.func_ptr=(BBFuncPtr)&_database_odbc_TODBCResultSet_execute
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"firstRow",
			"()i",
			.func_ptr=(BBFuncPtr)&_database_odbc_TODBCResultSet_firstRow
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"nextRow",
			"()i",
			.func_ptr=(BBFuncPtr)&_database_odbc_TODBCResultSet_nextRow
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"getStringData",
			"(:TQueryField,i,i)$",
			.func_ptr=(BBFuncPtr)&_database_odbc_TODBCResultSet_getStringData_TTQueryFieldivi
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"lastInsertedId",
			"()l",
			.func_ptr=(BBFuncPtr)&_database_odbc_TODBCResultSet_lastInsertedId
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"rowsAffected",
			"()i",
			.func_ptr=(BBFuncPtr)&_database_odbc_TODBCResultSet_rowsAffected
		},
		{
			BBDEBUGDECL_TYPEFUNCTION,
			"dbTypeFromNative",
			"($,i,i)i",
			.func_ptr=(BBFuncPtr)&database_odbc_TODBCResultSet_dbTypeFromNative_i_Sii
		},
		{
			BBDEBUGDECL_TYPEMETHOD,
			"initRecord",
			"(i)",
			.func_ptr=(BBFuncPtr)&_database_odbc_TODBCResultSet_initRecord_i
		},
		{
			BBDEBUGDECL_END
		}
	}
};
struct BBClass_database_odbc_TODBCResultSet database_odbc_TODBCResultSet={
	&database_core_TQueryResultSet,
	bbObjectFree,
	(BBDebugScope*)&database_odbc_TODBCResultSet_scope,
	sizeof(struct database_odbc_TODBCResultSet_obj),
	(void (*)(BBOBJECT))_database_odbc_TODBCResultSet_New,
	(void (*)(BBOBJECT))_database_odbc_TODBCResultSet_Delete,
	bbObjectToString,
	bbObjectCompare,
	bbObjectSendMessage,
	0,
	0,
	0
	,0
	,sizeof(void*)
	,database_odbc_TODBCResultSet_Create_TTQueryResultSet_TTDBConnectionS
	,_database_core_TQueryResultSet_Init_TTDBConnectionS
	,_database_core_TQueryResultSet_clearBindValues
	,_database_core_TQueryResultSet_clear
	,_database_odbc_TODBCResultSet_executeQuery_S
	,_database_odbc_TODBCResultSet_prepare_S
	,_database_odbc_TODBCResultSet_execute
	,_database_odbc_TODBCResultSet_firstRow
	,_database_odbc_TODBCResultSet_nextRow
	,_database_odbc_TODBCResultSet_lastInsertedId
	,_database_odbc_TODBCResultSet_rowsAffected
	,database_odbc_TODBCResultSet_dbTypeFromNative_i_Sii
	,_database_core_TQueryResultSet_rowRecord
	,_database_core_TQueryResultSet_dataValue_i
	,_database_core_TQueryResultSet_rowIndex
	,_database_core_TQueryResultSet_setRowIndex_i
	,_database_core_TQueryResultSet_isActive
	,_database_core_TQueryResultSet_isValid
	,_database_core_TQueryResultSet_resetValues_i
	,_database_core_TQueryResultSet_resetBindCount
	,_database_core_TQueryResultSet_addBindValue_TTDBType
	,_database_core_TQueryResultSet_bindValue_iTTDBType
	,_database_core_TQueryResultSet_reset
	,_database_core_TQueryResultSet_free
	,_database_odbc_TODBCResultSet_getStringData_TTQueryFieldivi
	,_database_odbc_TODBCResultSet_initRecord_i
};

BBINT database_odbc_isSQLError(BBINT bbt_result){
	struct BBDebugScope_1 __scope = {
		BBDEBUGSCOPE_FUNCTION,
		"isSQLError",
		{
			{
				BBDEBUGDECL_LOCAL,
				"result",
				"i",
				.var_address=&bbt_result
			},
			{
				BBDEBUGDECL_END
			}
		}
	};
	bbOnDebugEnterScope((BBDebugScope *)&__scope);
	struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 390, 0};
	bbOnDebugEnterStm(&__stmt_0);
	if((bbt_result==0) || (bbt_result==1)){
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_LOCALBLOCK,
			0,
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 391, 0};
		bbOnDebugEnterStm(&__stmt_0);
		bbOnDebugLeaveScope();
		bbOnDebugLeaveScope();
		return 0;
	}
	struct BBDebugStm __stmt_1 = {0x6f9a552f6000b581, 393, 0};
	bbOnDebugEnterStm(&__stmt_1);
	bbOnDebugLeaveScope();
	return 1;
}
static int __bb_database_odbc_odbc_inited = 0;
int __bb_database_odbc_odbc(){
	if (!__bb_database_odbc_odbc_inited) {
		__bb_database_odbc_odbc_inited = 1;
		__bb_brl_blitz_blitz();
		__bb_database_core_core();
		__bb_brl_stringbuilder_stringbuilder();
		__bb_pub_stdc_stdc();
		_bb_database_odbc_common();
		bbObjectRegisterType((BBCLASS)&database_odbc_TODBCDatabaseLoader);
		bbObjectRegisterType((BBCLASS)&database_odbc_TDBODBC);
		bbObjectRegisterType((BBCLASS)&database_odbc_TODBCResultSet);
		bbRegisterSource(0x6f9a552f6000b581, "c:/BlitzmaxNG/mod/database.mod/odbc.mod/odbc.bmx");
		struct BBDebugScope __scope = {
			BBDEBUGSCOPE_FUNCTION,
			"odbc",
			{
				{
					BBDEBUGDECL_END
				}
			}
		};
		bbOnDebugEnterScope((BBDebugScope *)&__scope);
		struct BBDebugStm __stmt_0 = {0x6f9a552f6000b581, 1053, 0};
		bbOnDebugEnterStm(&__stmt_0);
		database_core_AddDatabaseLoader((struct database_core_TDatabaseLoader_obj*)((struct database_core_TDatabaseLoader_obj*)bbObjectDowncast((BBOBJECT)(struct database_odbc_TODBCDatabaseLoader_obj*)bbObjectNew((BBClass *)&database_odbc_TODBCDatabaseLoader),(BBClass*)&database_core_TDatabaseLoader)));
		bbOnDebugLeaveScope();
		return 0;
	}
	return 0;
}