📄 sdcsb.pas
字号:
SqlTCUR = ubyte2; // cursor number
SqlTDAL = ubyte2; // data length
SqlTDAP = ubyte1p; // data pointer
SqlTDAY = byte2; // number of days
SqlTDDL = ubyte1; // database data length
SqlTDDT = ubyte1; // database data type
SqlTDEDL = ubyte2; // database extended data length
SqlTDPT = ubyte2; // database parameter type
SqlTDPV = ubyte4; // database parameter value ??????
SqlTEPO = ubyte2; // error position
SqlTFAT = ubyte2; // file attribute
SqlTFLD = ubyte2; // SELECT statement field number
SqlTFLG = ubyte2; // flag field
SqlTFLH = ubyte4; // file handle UINT32 ????????
SqlTFMD = byte2; // file mode
SqlTFNL = ubyte2; // file name length
SqlTFNP = ubyte1p; // file name pointer
SqlTFSC = ubyte1; // fetch status code
SqlTILV = ubyte1p; // isolation level string
SqlTLBL = ubyte1; // label information length
SqlTLBP = ubyte1p; // label infromation pointer
SqlTLNG = byte4; // long size
SqlTLSI = ubyte4; // unsigned long size ????????
SqlTMSZ = ubyte2; // message size
SqlTNBV = ubyte1; // number of bind variables
SqlTNCU = ubyte2; // number of cursors
SqlTNML = ubyte1; // number length
SqlTNMP = ubyte1p; // number pointer
SqlTNPG = ubyte2; // number of pages
SqlTNSI = ubyte1; // number of select items
SqlTPCX = ubyte1; // preserve context flag
SqlTPDL = ubyte1; // program data length
SqlTPDT = ubyte1; // program data type
SqlTPGN = ubyte4; // page number
SqlTPNM = ubyte2; // process number
SqlTPRE = ubyte1; // precision
SqlTPTY = ubyte2; // set/get parameter type
SqlTRBF = ubyte1; // roll back flag
SqlTRCD = byte2; // return codes
SqlTRCF = ubyte1; // recovery flag
SqlTRFM = ubyte2; // rollforward mode
SqlTROW = byte4; // number of rows
SqlTSCA = ubyte1; // scale
SqlTSLC = ubyte1; // select list column
SqlTSTC = ubyte2; // statistics counter
SqlTSVH = ubyte2; // server handle
SqlTSVN = ubyte2; // server number
SqlTTIV = byte2; // wait timeout value
SqlTWNC = byte2; // whence
SqlTWSI = ubyte2; // work size
SqlTBIR = ubyte2; // bulk insert error row number
SqlTDIS = ubyte1p; // Describe info indicator
SqlTXER = byte4; // extended error #
SqlTPID = ubyte4; // client process id
SQLTMOD = ubyte4; // mode flag SQLBase 7
SQLTCON = ubyte4; // connection handle SQLBase 7
{
DESCRIPTION:
This structure is used as a parameter to the SQLGDI function. After a
a compile, all relevant information for a given Select column can be
obtained in this structure.
Note:
Please note that, originally, gdichb was the first element of the
gdidefx structure. It has been moved further down because a column
heading can be greater than 31 bytes. A bug was reported complaining
that the column heading was not being returned correctly since the
maximum length of a column heading is 46. This can now be returned
since the size of the buffer (gdichb) has been changed to 47.
Also, the length field (gdichl) has also been moved down to go with
the column heading buffer (gdichb).
The original gdichb and gdichl fields have been renamed to gdifl1 and
gdifl2.
}
{$IFNDEF SD_CLR}
TGdiDefx = record
gdifl1: array[0..30] of Char; // filler reserved for future use */
gdifl2: ubyte1; // filler reserved for future use
gdilbb: array[0..30] of Char; // label buffer
gdilbl: SQLTLBL; // label info length
gdicol: SQLTSLC; // select column number
gdiddt: SQLTDDT; // database data type
gdiddl: SQLTDEDL; // database extended data length
gdiedt: SQLTDDT; // external data type
gdiedl: SQLTDEDL; // external extended data length
gdipre: SQLTPRE; // decimal precision
gdisca: SQLTSCA; // decimal scale
gdinul: byte2; // null indicator
gdichb: array[0..46] of Char; // column heading buffer
gdichl: SQLTCHL; // column heading length
gdifil: array[0..1] of byte1; // for future use
end;
TGdiDef = TGdiDefx;
SQLTGDI = TGdiDefx;
SQLPGD = ^TGdiDefx;
{$ENDIF}
type
SqlTBirPtr = ^SqlTBir;
SqlTCdlPtr = ^SqlTCdl;
SqlTChlPtr = ^SqlTChl;
SqlTCurPtr = ^SqlTCur;
SqlTDalPtr = ^SqlTDal;
SqlTDdlPtr = ^SqlTDdl;
SqlTDdtPtr = ^SqlTDdt;
SqlTFlhPtr = ^SqlTFlh;
SqlTFscPtr = ^SqlTFsc;
SqlTLngPtr = ^SqlTLng;
SQLTLSIPtr = ^SQLTLSI;
SqlTNbvPtr = ^SqlTNbv;
SqlTNmlPtr = ^SqlTNml;
SqlTNsiPtr = ^SqlTNsi;
SqlTPnmPtr = ^SqlTPnm;
SqlTPrePtr = ^SqlTPre;
SqlTRowPtr = ^SqlTRow;
SqlTRbfPtr = ^SqlTRbf;
SqlTRcdPtr = ^SqlTRcd;
SqlTScaPtr = ^SqlTSca;
SqlTXerPtr = ^SqlTXer;
{*******************************************************************************
INTERFACE TO SQL SRV EXTENDED INFORMATION from GSIEXT.H
08/02/95 GTI release 6.1.0
DESCRIPTION
This file contains structure definitions and defined constants used to
interface with a SQLBASE SERVER and return extended GSI information.
********************************************************************************}
const
SQLGLCK = $40; // lock information
SQLGOSS = $80; // OS stats information
{ information filter flags }
SQLRPNM = $0100; // process number
SQLRCLN = $0200; // client name
SQLRUSN = $0400; // user name
SQLRDBN = $0800; // database name
SQLXGSI = $8000; // extended GSI information flag
type
{ extended cursor information }
TCurDefxi = record
curcst :ubyte4; // cost of execution plan
curctp :ubyte4; // time for prepare
curcte :ubyte4; // time for execute
curctf :ubyte4; // time for fetch
curcur :ubyte2; // internal cursor number
curcln :array[0..12] of Char; // client name
cursta :ubyte1; // cursor status
curcts :array[0..17] of Char; // cursor time stamp
currsv :array[0..1] of Char; // reserved
end;
TCurDefi = TCurDefxi;
PCurDefi = ^TCurDefi;
{ configuration information }
TCfgDefxi = record
cfgcmt :array[0..59] of ubyte4; // command type counters
cfgcon :ubyte4; // total system connects
cfgdis :ubyte4; // total system disconnects
cfgtps :ubyte4; // number of transactions
cfgelp :ubyte4; // number of exclusive locks
cfgslp :ubyte4; // number of shared locks
cfgulp :ubyte4; // number of update locks
cfgdlk :ubyte4; // number of deadlocks
cfgsrt :ubyte4; // number of sorts
cfghjn :ubyte4; // number of hashed joins
cfgctp :ubyte4; // time for prepare
cfgcte :ubyte4; // time for execute
cfgctf :ubyte4; // time for fetch
cfgsbt :array[0..25] of Char; // time of SQLBase boot
cfgpfs :array[0..20] of Char; // platform version string
cfgver :array[0..19] of Char; // SQLBase version
cfgonl :ubyte1; // online/offline
cfgszp :ubyte4; // Database Page size on server
end;
TCfgDefi = TCfgDefxi;
PCfgDefi = ^TCfgDefi;
{ process information }
TPrcDefxi = record
prcsel :ubyte4; // number of selects
prcins :ubyte4; // number of inserts
prcupd :ubyte4; // number of updates
prcdel :ubyte4; // number of deletes
prctps :ubyte4; // number of transactions
prcdlk :ubyte4; // number of deadlocks
prcelp :ubyte4; // number of exclusive locks
prcslp :ubyte4; // number of shared locks
prculp :ubyte4; // number of update locks
prcast :ubyte4; // accumulative system time
prcptp :ubyte4; // time for prepare
prcpte :ubyte4; // time for execute
prcptf :ubyte4; // time for fetch
prcmtt :ubyte4; // maximum transaction time
prcpss :array[0..25] of Char; // status string
prccln :array[0..12] of Char; // client name
prcsta :ubyte1; // status flag
prcpts :array[0..19] of Char; // process time stamp
prciso :ubyte1; // isolation level flags
prctmo :ubyte4; // number of timeouts
prcrsv :array[0..26] of Char; // reserved
end;
TPrcDefi = TPrcDefxi;
PPrcDefi = ^TPrcDefi;
{ database information }
TDbsDefxi = record
dbspnm :array[0..6,0..8] of Char; // protocol name
dbsshd :ubyte1; // shutdown
dbslck :ubyte1; // locked/unlocked
dbsrsv :array[0..62] of Char; // reserved
end;
TDbsDefi = TDbsDefxi;
PDbsDefi = ^TDbsDefi;
{ lock information }
TLckDefx = record
lckdbs :array[0..8] of Char; // database file name
lckpnm :ubyte1; // process number
lcklpg :ubyte2; // low page
lckhpg :ubyte2; // high page
lckgrp :ubyte4; // lock group
lckmod :ubyte1; // lock mode
lckuse :ubyte1; // lock use count
end;
TLckDef = TLckDefx;
PLckDef = ^TLckDef;
{ filter structure }
TFgiDefx = record
fgipnm :ubyte1; // process number
fgicln :array[0..12] of Char; // client name
fgiunb :array[0..18] of Char; // user name buffer
fgidbn :array[0..8] of Char; // database name buffer
end;
TFgiDef = TFgiDefx;
PFgiDef = ^TFgiDef;
{ OS stats information }
TOStDefx = record
ostsar :ubyte1; // sample rate
ostaws :ubyte1; // averaging window size
ostcpu :ubyte1; // CPU % Utilization
ostacp :ubyte1; // Average CPU % Utilization
ostpac :ubyte1; // Peak Average CPU % Utilization
ostmpa :ubyte4; // Physical memory available
ostmvt :ubyte4; // Total virtual memory
ostmst :ubyte4; // Short term memory available
ostmlt :ubyte4; // Long term memory available
ostdpr :ubyte4; // disk I/O physical reads
ostdpw :ubyte4; // disk I/O physical writes
ostbpr :ubyte4; // disk I/O physical bytes read
ostbpw :ubyte4; // disk I/O physical bytes write
ostdvr :ubyte4; // disk I/O virtual reads
ostdvw :ubyte4; // disk I/O virtual writes
ostbvr :ubyte4; // disk I/O virtual bytes read
ostbvw :ubyte4; // disk I/O virtual bytes write
ostnpt :ubyte4; // Network I/O packets transmitted
ostnpr :ubyte4; // Network I/O packets received
ostprt :ubyte4; // Network I/O packets routed
ostrsv :array[0..2] of Char; // reserved
end;
TOStDef = TOStDefx;
POStDef = ^TOStDef;
{*******************************************************************************
INTERFACE TO SQL SRV from SQLSRV.H
REVISION HISTORY
08/02/95 GTI release 6.1.0
DESCRIPTION
This file contains structure definitions and defined constants used to
interface with a SQLBASE SERVER.
********************************************************************************}
const
{ server remote procedure call open file flags }
SQLORDONLY = $0000; // open for reading only
SQLOWRONLY = $0001; // open for writing only
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -