|
|
typedef struct { FID fidFixedLast; FID fidVarLast; FID fidTaggedLast; } TCIB;
#define fBumpIndexCount (1<<0)
#define fDropIndexCount (1<<1)
#define fDDLStamp (1<<2)
ERR ErrFILEIUpdateFDPData( FUCB *pfucb, ULONG grbit );
/* field and index definition
/**/ ERR ErrFILEICheckIndexColumn( FCB *pfcbIndex, FID fid ); ERR ErrFILEGetNextColumnid( JET_COLTYP coltyp, JET_GRBIT grbit, TCIB *ptcib, JET_COLUMNID *pcolumnid ); ERR ErrFILEIGenerateIDB(FCB *pfcb, FDB *pfdb, IDB *pidb); #define RECFreeIDB(pidb) { MEMReleasePidb(pidb); }
ERR ErrRECNewFDB( FDB **ppfdb, TCIB *ptcib, BOOL fAllocateNameSpace ); VOID FILEAddOffsetEntry( FDB *pfdb, FIELDEX *pfieldex ); ERR ErrRECAddFieldDef( FDB *pfdb, FIELDEX *pfieldex ); VOID FDBSet( FCB *pfcb, FDB *pfdb ); ERR ErrFDBRebuildDefaultRec( FDB *pfdb, FID fidAddDelete, LINE *plineDefault ); ERR ErrFILEPrepareDefaultRecord( FUCB *pfucbFake, FCB *pfcbFake, FDB *pfdb ); ERR ErrRECSetDefaultValue( FUCB *pfucbFake, FID fid, BYTE *pbDefault, ULONG cbDefault );
#define FILEFreeDefaultRecord( pfucbFake ) BFSFree( (pfucbFake)->pbfWorkBuf )
VOID FDBDestruct( FDB *pfdb );
ERR ErrFILEIGenerateFCB( PIB *ppib, DBID dbid, FCB **ppfcb, PGNO pgnoTableFDP, CHAR *szFileName, BOOL fCreatingSys ); ERR ErrFILEINewFCB( PIB *ppib, DBID dbid, FDB *pfdb, FCB **ppfcbNew, IDB *pidb, BOOL fClustered, PGNO pgnoFDP, ULONG ulDensity );
VOID FILEIDeallocateFileFCB( FCB *pfcb ); VOID FILESetAllIndexMask( FCB *pfcbTable ); ERR ErrFILEDeleteTable( PIB *ppib, DBID dbid, CHAR *szName, PGNO pgnoFDP );
FIELD *PfieldFDBFromFid( FDB *pfdb, FID fid ); FIELD *PfieldFCBFromColumnName( FCB *pfcb, CHAR *szColumnName ); #define PfieldFCBFromColumnid( pfcb, fid ) PfieldFDBFromFid( (FDB*)pfcb->pfdb, fid )
FCB *PfcbFCBFromIndexName( FCB *pfcbTable, CHAR *szName ); SHORT FidbFILEOfGrbit( JET_GRBIT grbit, BOOL fLangid );
#ifdef DEBUG
VOID RECSetLastOffset( FDB *pfdb, WORD ibRec ); #else
#define RECSetLastOffset( pfdb, ibRec ) ( PibFDBFixedOffsets( pfdb )[(pfdb)->fidFixedLast] = ibRec )
#endif
|