Files
five/_FiveSql2/bin/.hbmk/linux/gcc/TSqlAlias.c
Charles KWON OhJun 486e466592 feat: FiveSql2 43/43, @byref, mutable closure, RTL 479, DateTime fix
Major changes since last commit:
- FiveSql2 SQL:1999 engine (10,458 LOC) — 43/43 ALL PASS
- 21 compiler/runtime bugs fixed (short-circuit AND/OR, FOR LOOP, etc.)
- @byref pass-by-reference via RefCell pattern
- Mutable closure capture (EnsureLocalRef + RefCell sharing)
- RTL: 400 → 479 functions (+79: file, string, datetime, hash, UTF-8)
- DateTime/Timestamp fully working (hb_DateTime, hb_Hour/Min/Sec, display)
- Reserved word guard (39 keywords blocked from function calls)
- AEval arg order fix (element before index)
- Closure capture redecl fix (unique _cap_ names per block)
- Hash/string indexing in ArrayPush/ArrayPop
- Harbour compat test suite: 51/51
- 4 docs: Porting Report, Implementation Plan, Optimization Plan, Commercialization

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 11:35:37 +09:00

310 lines
10 KiB
C

/*
* Harbour 3.2.0dev (r2510040809)
* GNU C 13.3 (64-bit)
* Generated C source from "src/TSqlAlias.prg"
*/
#include "hbvmpub.h"
#include "hbinit.h"
HB_FUNC( TSQLALIAS );
HB_FUNC_EXTERN( __CLSLOCKDEF );
HB_FUNC_EXTERN( HBCLASS );
HB_FUNC_EXTERN( HBOBJECT );
HB_FUNC_STATIC( TSQLALIAS_NEW );
HB_FUNC_STATIC( TSQLALIAS_ACQUIRE );
HB_FUNC_STATIC( TSQLALIAS_ACQUIRECTE );
HB_FUNC_STATIC( TSQLALIAS_ACQUIRETEMP );
HB_FUNC_STATIC( TSQLALIAS_FINDBYUSER );
HB_FUNC_STATIC( TSQLALIAS_FINDBYTABLE );
HB_FUNC_STATIC( TSQLALIAS_REALALIAS );
HB_FUNC_STATIC( TSQLALIAS_RELEASE );
HB_FUNC_STATIC( TSQLALIAS_RELEASEALL );
HB_FUNC_STATIC( TSQLALIAS_ISMANAGED );
HB_FUNC_EXTERN( __CLSUNLOCKDEF );
HB_FUNC_EXTERN( __OBJHASMSG );
HB_FUNC_EXTERN( STRZERO );
HB_FUNC_EXTERN( LOWER );
HB_FUNC_EXTERN( DBUSEAREA );
HB_FUNC_EXTERN( AADD );
HB_FUNC_EXTERN( UPPER );
HB_FUNC_EXTERN( LEN );
HB_FUNC_EXTERN( EMPTY );
HB_FUNC_EXTERN( SELECT );
HB_FUNC_EXTERN( DBSELECTAREA );
HB_FUNC_EXTERN( DBCLOSEAREA );
HB_FUNC_INITSTATICS();
HB_INIT_SYMBOLS_BEGIN( hb_vm_SymbolInit_TSQLALIAS )
{ "TSQLALIAS", {HB_FS_PUBLIC | HB_FS_FIRST | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLALIAS )}, NULL },
{ "__CLSLOCKDEF", {HB_FS_PUBLIC}, {HB_FUNCNAME( __CLSLOCKDEF )}, NULL },
{ "NEW", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "HBCLASS", {HB_FS_PUBLIC}, {HB_FUNCNAME( HBCLASS )}, NULL },
{ "HBOBJECT", {HB_FS_PUBLIC}, {HB_FUNCNAME( HBOBJECT )}, NULL },
{ "ADDMULTIDATA", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "ADDMETHOD", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "TSQLALIAS_NEW", {HB_FS_STATIC | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLALIAS_NEW )}, NULL },
{ "TSQLALIAS_ACQUIRE", {HB_FS_STATIC | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLALIAS_ACQUIRE )}, NULL },
{ "TSQLALIAS_ACQUIRECTE", {HB_FS_STATIC | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLALIAS_ACQUIRECTE )}, NULL },
{ "TSQLALIAS_ACQUIRETEMP", {HB_FS_STATIC | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLALIAS_ACQUIRETEMP )}, NULL },
{ "TSQLALIAS_FINDBYUSER", {HB_FS_STATIC | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLALIAS_FINDBYUSER )}, NULL },
{ "TSQLALIAS_FINDBYTABLE", {HB_FS_STATIC | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLALIAS_FINDBYTABLE )}, NULL },
{ "TSQLALIAS_REALALIAS", {HB_FS_STATIC | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLALIAS_REALALIAS )}, NULL },
{ "TSQLALIAS_RELEASE", {HB_FS_STATIC | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLALIAS_RELEASE )}, NULL },
{ "TSQLALIAS_RELEASEALL", {HB_FS_STATIC | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLALIAS_RELEASEALL )}, NULL },
{ "TSQLALIAS_ISMANAGED", {HB_FS_STATIC | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLALIAS_ISMANAGED )}, NULL },
{ "CREATE", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "__CLSUNLOCKDEF", {HB_FS_PUBLIC}, {HB_FUNCNAME( __CLSUNLOCKDEF )}, NULL },
{ "INSTANCE", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "__OBJHASMSG", {HB_FS_PUBLIC}, {HB_FUNCNAME( __OBJHASMSG )}, NULL },
{ "INITCLASS", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "_ASLOTS", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "STRZERO", {HB_FS_PUBLIC}, {HB_FUNCNAME( STRZERO )}, NULL },
{ "LOWER", {HB_FS_PUBLIC}, {HB_FUNCNAME( LOWER )}, NULL },
{ "DBUSEAREA", {HB_FS_PUBLIC}, {HB_FUNCNAME( DBUSEAREA )}, NULL },
{ "AADD", {HB_FS_PUBLIC}, {HB_FUNCNAME( AADD )}, NULL },
{ "ASLOTS", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "UPPER", {HB_FS_PUBLIC}, {HB_FUNCNAME( UPPER )}, NULL },
{ "LEN", {HB_FS_PUBLIC}, {HB_FUNCNAME( LEN )}, NULL },
{ "FINDBYUSER", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "EMPTY", {HB_FS_PUBLIC}, {HB_FUNCNAME( EMPTY )}, NULL },
{ "FINDBYTABLE", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "SELECT", {HB_FS_PUBLIC}, {HB_FUNCNAME( SELECT )}, NULL },
{ "DBSELECTAREA", {HB_FS_PUBLIC}, {HB_FUNCNAME( DBSELECTAREA )}, NULL },
{ "DBCLOSEAREA", {HB_FS_PUBLIC}, {HB_FUNCNAME( DBCLOSEAREA )}, NULL },
{ "(_INITSTATICS00002)", {HB_FS_INITEXIT | HB_FS_LOCAL}, {hb_INITSTATICS}, NULL }
HB_INIT_SYMBOLS_EX_END( hb_vm_SymbolInit_TSQLALIAS, "src/TSqlAlias.prg", 0x0, 0x0003 )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup hb_vm_SymbolInit_TSQLALIAS
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( hb_vm_SymbolInit_TSQLALIAS )
#include "hbiniseg.h"
#endif
HB_FUNC( TSQLALIAS )
{
static const HB_BYTE pcode[] =
{
149,3,0,116,36,0,36,30,0,103,2,0,100,8,
29,228,1,176,1,0,104,2,0,12,1,29,217,1,
166,155,1,0,122,80,1,48,2,0,176,3,0,12,
0,106,10,84,83,113,108,65,108,105,97,115,0,108,
4,4,1,0,108,0,112,3,80,2,36,32,0,48,
5,0,95,2,100,100,95,1,121,72,121,72,121,72,
106,7,97,83,108,111,116,115,0,4,1,0,9,112,
5,73,36,34,0,48,6,0,95,2,106,4,78,101,
119,0,108,7,95,1,92,8,72,121,72,121,72,112,
3,73,36,35,0,48,6,0,95,2,106,8,65,99,
113,117,105,114,101,0,108,8,95,1,121,72,121,72,
121,72,112,3,73,36,36,0,48,6,0,95,2,106,
11,65,99,113,117,105,114,101,67,84,69,0,108,9,
95,1,121,72,121,72,121,72,112,3,73,36,37,0,
48,6,0,95,2,106,12,65,99,113,117,105,114,101,
84,101,109,112,0,108,10,95,1,121,72,121,72,121,
72,112,3,73,36,38,0,48,6,0,95,2,106,11,
70,105,110,100,66,121,85,115,101,114,0,108,11,95,
1,121,72,121,72,121,72,112,3,73,36,39,0,48,
6,0,95,2,106,12,70,105,110,100,66,121,84,97,
98,108,101,0,108,12,95,1,121,72,121,72,121,72,
112,3,73,36,40,0,48,6,0,95,2,106,10,82,
101,97,108,65,108,105,97,115,0,108,13,95,1,121,
72,121,72,121,72,112,3,73,36,41,0,48,6,0,
95,2,106,8,82,101,108,101,97,115,101,0,108,14,
95,1,121,72,121,72,121,72,112,3,73,36,42,0,
48,6,0,95,2,106,11,82,101,108,101,97,115,101,
65,108,108,0,108,15,95,1,121,72,121,72,121,72,
112,3,73,36,43,0,48,6,0,95,2,106,10,73,
115,77,97,110,97,103,101,100,0,108,16,95,1,121,
72,121,72,121,72,112,3,73,36,45,0,48,17,0,
95,2,112,0,73,167,14,0,0,176,18,0,104,2,
0,95,2,20,2,168,48,19,0,95,2,112,0,80,
3,176,20,0,95,3,106,10,73,110,105,116,67,108,
97,115,115,0,12,2,28,12,48,21,0,95,3,164,
146,1,0,73,95,3,110,7,48,19,0,103,2,0,
112,0,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_STATIC( TSQLALIAS_NEW )
{
static const HB_BYTE pcode[] =
{
36,50,0,48,22,0,102,4,0,0,112,1,73,36,
52,0,102,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_STATIC( TSQLALIAS_ACQUIRE )
{
static const HB_BYTE pcode[] =
{
13,2,2,116,36,0,36,72,0,104,1,0,170,36,
73,0,106,4,70,65,95,0,176,23,0,103,1,0,
92,4,12,2,72,80,3,36,75,0,176,24,0,95,
1,12,1,80,4,36,76,0,106,5,46,100,98,102,
0,95,4,24,31,16,36,77,0,96,4,0,106,5,
46,100,98,102,0,135,36,81,0,113,24,0,0,36,
82,0,176,25,0,120,100,95,4,95,3,120,9,20,
6,114,49,0,0,36,83,0,115,73,36,85,0,113,
24,0,0,36,86,0,176,25,0,120,100,95,4,95,
3,9,9,20,6,114,17,0,0,36,87,0,115,73,
36,88,0,106,1,0,110,7,36,92,0,176,26,0,
48,27,0,102,112,0,95,3,176,28,0,95,1,12,
1,176,28,0,95,2,12,1,120,4,4,0,20,2,
36,94,0,95,3,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_STATIC( TSQLALIAS_ACQUIRECTE )
{
static const HB_BYTE pcode[] =
{
13,2,1,116,36,0,36,105,0,104,1,0,170,36,
106,0,106,4,70,65,95,0,176,23,0,103,1,0,
92,4,12,2,72,80,2,36,108,0,106,7,95,95,
99,116,101,95,0,176,24,0,95,1,12,1,72,106,
5,46,100,98,102,0,72,80,3,36,110,0,113,24,
0,0,36,111,0,176,25,0,120,100,95,3,95,2,
120,9,20,6,114,17,0,0,36,112,0,115,73,36,
113,0,106,1,0,110,7,36,116,0,176,26,0,48,
27,0,102,112,0,95,2,176,28,0,95,1,12,1,
176,28,0,95,1,12,1,120,4,4,0,20,2,36,
118,0,95,2,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_STATIC( TSQLALIAS_ACQUIRETEMP )
{
static const HB_BYTE pcode[] =
{
13,1,1,116,36,0,36,128,0,104,1,0,170,36,
129,0,106,4,70,65,95,0,176,23,0,103,1,0,
92,4,12,2,72,80,2,36,131,0,176,26,0,48,
27,0,102,112,0,95,2,95,1,95,1,9,4,4,
0,20,2,36,133,0,95,2,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_STATIC( TSQLALIAS_FINDBYUSER )
{
static const HB_BYTE pcode[] =
{
13,2,1,36,144,0,176,28,0,95,1,12,1,80,
3,36,145,0,176,29,0,48,27,0,102,112,0,12,
1,165,80,2,25,61,36,146,0,48,27,0,102,112,
0,95,2,1,92,3,1,95,3,8,28,32,48,27,
0,102,112,0,95,2,1,92,4,1,28,18,36,147,
0,48,27,0,102,112,0,95,2,1,122,1,110,7,
36,145,0,126,2,255,255,95,2,122,35,28,195,36,
151,0,106,1,0,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_STATIC( TSQLALIAS_FINDBYTABLE )
{
static const HB_BYTE pcode[] =
{
13,2,1,36,162,0,176,28,0,95,1,12,1,80,
3,36,163,0,122,165,80,2,25,58,36,164,0,48,
27,0,102,112,0,95,2,1,92,2,1,95,3,8,
28,32,48,27,0,102,112,0,95,2,1,92,4,1,
28,18,36,165,0,48,27,0,102,112,0,95,2,1,
122,1,110,7,36,163,0,175,2,0,176,29,0,48,
27,0,102,112,0,12,1,15,28,188,36,169,0,106,
1,0,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_STATIC( TSQLALIAS_REALALIAS )
{
static const HB_BYTE pcode[] =
{
13,1,1,36,180,0,48,30,0,102,95,1,112,1,
80,2,36,181,0,176,31,0,95,2,12,1,31,9,
36,182,0,95,2,110,7,36,185,0,48,32,0,102,
95,1,112,1,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_STATIC( TSQLALIAS_RELEASE )
{
static const HB_BYTE pcode[] =
{
13,2,1,36,195,0,122,165,80,2,25,102,36,196,
0,48,27,0,102,112,0,95,2,1,122,1,95,1,
8,28,77,48,27,0,102,112,0,95,2,1,92,4,
1,28,63,36,197,0,176,33,0,95,1,12,1,80,
3,36,198,0,95,3,121,15,28,20,36,199,0,176,
34,0,95,3,20,1,36,200,0,176,35,0,20,0,
36,202,0,9,48,27,0,102,112,0,95,2,1,92,
4,2,36,203,0,100,110,7,36,195,0,175,2,0,
176,29,0,48,27,0,102,112,0,12,1,15,28,144,
36,207,0,100,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_STATIC( TSQLALIAS_RELEASEALL )
{
static const HB_BYTE pcode[] =
{
13,2,0,36,218,0,122,165,80,1,25,89,36,219,
0,48,27,0,102,112,0,95,1,1,92,4,1,28,
66,36,220,0,176,33,0,48,27,0,102,112,0,95,
1,1,122,1,12,1,80,2,36,221,0,95,2,121,
15,28,20,36,222,0,176,34,0,95,2,20,1,36,
223,0,176,35,0,20,0,36,225,0,9,48,27,0,
102,112,0,95,1,1,92,4,2,36,218,0,175,1,
0,176,29,0,48,27,0,102,112,0,12,1,15,28,
157,36,228,0,48,22,0,102,4,0,0,112,1,73,
36,230,0,100,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_STATIC( TSQLALIAS_ISMANAGED )
{
static const HB_BYTE pcode[] =
{
13,1,1,36,240,0,122,165,80,2,25,33,36,241,
0,48,27,0,102,112,0,95,2,1,122,1,95,1,
8,28,8,36,242,0,120,110,7,36,240,0,175,2,
0,176,29,0,48,27,0,102,112,0,12,1,15,28,
213,36,246,0,9,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_INITSTATICS()
{
static const HB_BYTE pcode[] =
{
117,36,0,2,0,116,36,0,121,82,1,0,7
};
hb_vmExecute( pcode, symbols );
}