From dd70ff8bf32c2d7ed365004b1770058265db1978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 11 Mar 2023 18:15:37 +0100 Subject: New upstream version 4.1.0 --- docs/doxygen/html/xbdbf_8h_source.html | 724 +++++++++++++++++---------------- 1 file changed, 370 insertions(+), 354 deletions(-) (limited to 'docs/doxygen/html/xbdbf_8h_source.html') diff --git a/docs/doxygen/html/xbdbf_8h_source.html b/docs/doxygen/html/xbdbf_8h_source.html index 0a8b612..c871653 100644 --- a/docs/doxygen/html/xbdbf_8h_source.html +++ b/docs/doxygen/html/xbdbf_8h_source.html @@ -5,7 +5,7 @@ -Xbase64: /mnt/1Tdata/xbase/xbase64-4.0.3/src/include/xbdbf.h Source File +Xbase64: /mnt/1Tdata/xbase/xbase64-4.1.0/src/include/xbdbf.h Source File @@ -74,7 +74,7 @@ $(function() {
2
3XBase64 Software Library
4
-
5Copyright (c) 1997,2003,2014, 2022 Gary A Kunkel
+
5Copyright (c) 1997,2003,2014,2022,2023 Gary A Kunkel
6
7The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.
8
@@ -198,373 +198,389 @@ $(function() {
168 virtual xbInt16 DumpRecord ( xbUInt32 ulRecNo, xbInt16 iOutputDest = 0, xbInt16 iOutputFmt = 0 );
169 virtual xbInt16 GetAutoCommit () const;
170 virtual xbInt16 GetAutoCommit ( xbInt16 iOption ) const;
-
171 virtual xbUInt32 GetCurRecNo () const;
-
172 virtual xbInt16 GetDbfStatus () const;
-
173 virtual xbInt32 GetFieldCnt () const;
-
174 virtual xbInt16 GetFirstRecord ();
-
175 virtual xbInt16 GetFirstRecord ( xbInt16 iOption );
-
176 virtual xbInt16 GetLastRecord ();
-
177 virtual xbInt16 GetLastRecord ( xbInt16 iOption );
-
178
-
179 virtual xbInt16 GetNextRecord ();
-
180 virtual xbInt16 GetNextRecord ( xbInt16 iOption );
-
181 virtual xbInt16 GetNextRecord ( xbInt16 iOption, xbUInt32 ulStartRec );
-
182 virtual xbInt16 GetPrevRecord ();
-
183 virtual xbInt16 GetPrevRecord ( xbInt16 iOption );
-
184 virtual xbInt16 GetRecord ( xbUInt32 ulRecNo );
-
185
-
186 virtual xbUInt32 GetRecordCount ();
-
187 virtual xbInt16 GetRecordCnt ( xbUInt32 & ulRecCnt );
+
171 virtual xbBool GetBof ();
+
172 virtual xbUInt32 GetCurRecNo () const;
+
173 virtual xbInt16 GetDbfStatus () const;
+
174 virtual xbBool GetEof ();
+
175 virtual xbInt32 GetFieldCnt () const;
+
176 virtual xbInt16 GetFirstRecord ();
+
177 virtual xbInt16 GetFirstRecord ( xbInt16 iOption );
+
178 virtual xbUInt16 GetHeaderLen () const;
+
179 virtual xbInt16 GetLastRecord ();
+
180 virtual xbInt16 GetLastRecord ( xbInt16 iOption );
+
181
+
182 virtual xbInt16 GetNextRecord ();
+
183 virtual xbInt16 GetNextRecord ( xbInt16 iOption );
+
184 virtual xbInt16 GetNextRecord ( xbInt16 iOption, xbUInt32 ulStartRec );
+
185 virtual xbInt16 GetPrevRecord ();
+
186 virtual xbInt16 GetPrevRecord ( xbInt16 iOption );
+
187 virtual xbInt16 GetRecord ( xbUInt32 ulRecNo );
188
-
189 virtual char * GetRecordBuf ( xbInt16 iOpt = 0 ) const;
-
190 virtual xbUInt16 GetRecordLen () const;
-
191 virtual const xbString &GetTblAlias() const;
-
192 virtual xbInt16 GetVersion () const = 0;
-
193 virtual xbXBase *GetXbasePtr () const; // return xbase pointer
-
194
-
195
-
196 virtual xbBool MemoFieldsExist () const;
+
189 virtual xbUInt32 GetRecordCount ();
+
190 virtual xbInt16 GetRecordCnt ( xbUInt32 & ulRecCnt );
+
191
+
192 virtual char * GetRecordBuf ( xbInt16 iOpt = 0 ) const;
+
193 virtual xbUInt16 GetRecordLen () const;
+
194 virtual const xbString &GetTblAlias() const;
+
195 virtual xbInt16 GetVersion () const = 0;
+
196 virtual xbXBase *GetXbasePtr () const; // return xbase pointer
197
-
198 virtual xbInt16 Open ( const xbString &sTableName );
-
199 virtual xbInt16 Open ( const xbString &sTableName, const xbString &sAlias );
-
200 virtual xbInt16 Open ( const xbString &sTableName, const xbString &sAlias, xbInt16 iOpenMode, xbInt16 iShareMode ) = 0;
-
201 virtual xbInt16 Pack ();
-
202 virtual xbInt16 Pack ( xbUInt32 &ulDeletedRecCnt );
-
203
-
204
-
205 virtual xbInt16 PutRecord (); // Put record to current location
-
206 virtual xbInt16 PutRecord ( xbUInt32 ulRecNo );
-
207 virtual xbInt16 ReadHeader ( xbInt16 iFilePositionOption, xbInt16 iReadOption );
-
208 virtual xbInt16 RecordDeleted ( xbInt16 iOpt = 0 ) const;
-
209 virtual xbInt16 Rename ( const xbString sNewName ) = 0;
-
210
-
211 virtual xbInt16 SetAutoCommit ( xbInt16 iAutoCommit );
-
212
-
213 virtual xbInt16 UndeleteAllRecords();
-
214 virtual xbInt16 UndeleteRecord ();
-
215 virtual xbInt16 Zap ();
-
216
-
217
-
218 /* field methods */
-
219 //virtual xbInt16 GetRawField( xbInt16 iFieldNo, char *Buf, xbUInt32 BufSize, xbInt16 iRecBufSw ) const;
-
220 virtual xbInt16 GetField(xbInt16 iFieldNo, xbString &sFieldValue, xbInt16 iRecBufSw ) const;
-
221 virtual xbInt16 GetField(xbInt16 iFieldNo, xbString &sFieldValue) const;
-
222 virtual xbInt16 GetField(const xbString &sFieldName, xbString &sFieldValue) const;
-
223 virtual xbInt16 GetFieldDecimal( xbInt16 iFieldNo, xbInt16 &iFieldDecimal ) const;
-
224 virtual xbInt16 GetFieldDecimal( const xbString &sFieldName, xbInt16 &iFieldDecimal ) const;
-
225 virtual xbInt16 GetFieldLen( xbInt16 iFieldNo, xbInt16 &iFieldLen ) const;
-
226 virtual xbInt16 GetFieldLen( const xbString &sFieldName, xbInt16 &iFieldLen ) const;
-
227 virtual xbInt16 GetFieldName( xbInt16 iFieldNo, xbString &sFieldName ) const;
-
228
-
229 virtual xbInt16 GetFieldNo( const xbString &sFieldName, xbInt16 &iFieldNo ) const;
-
230 virtual xbInt16 GetFieldNo( const xbString &sFieldName ) const;
+
198
+
199 virtual xbBool MemoFieldsExist () const;
+
200
+
201 virtual xbInt16 Open ( const xbString &sTableName );
+
202 virtual xbInt16 Open ( const xbString &sTableName, const xbString &sAlias );
+
203 virtual xbInt16 Open ( const xbString &sTableName, const xbString &sAlias, xbInt16 iOpenMode, xbInt16 iShareMode ) = 0;
+
204 virtual xbInt16 Pack ();
+
205 virtual xbInt16 Pack ( xbUInt32 &ulDeletedRecCnt );
+
206
+
207
+
208 virtual xbInt16 PutRecord (); // Put record to current location
+
209 virtual xbInt16 PutRecord ( xbUInt32 ulRecNo );
+
210 virtual xbInt16 ReadHeader ( xbInt16 iFilePositionOption, xbInt16 iReadOption );
+
211 virtual xbInt16 RecordDeleted ( xbInt16 iOpt = 0 ) const;
+
212 virtual xbInt16 Rename ( const xbString sNewName ) = 0;
+
213
+
214 virtual xbInt16 SetAutoCommit ( xbInt16 iAutoCommit );
+
215
+
216 virtual xbInt16 UndeleteAllRecords();
+
217 virtual xbInt16 UndeleteRecord ();
+
218 virtual xbInt16 Zap ();
+
219
+
220
+
221 /* field methods */
+
222 //virtual xbInt16 GetRawField( xbInt16 iFieldNo, char *Buf, xbUInt32 BufSize, xbInt16 iRecBufSw ) const;
+
223 virtual xbInt16 GetField(xbInt16 iFieldNo, xbString &sFieldValue, xbInt16 iRecBufSw ) const;
+
224 virtual xbInt16 GetField(xbInt16 iFieldNo, xbString &sFieldValue) const;
+
225 virtual xbInt16 GetField(const xbString &sFieldName, xbString &sFieldValue) const;
+
226 virtual xbInt16 GetFieldDecimal( xbInt16 iFieldNo, xbInt16 &iFieldDecimal ) const;
+
227 virtual xbInt16 GetFieldDecimal( const xbString &sFieldName, xbInt16 &iFieldDecimal ) const;
+
228 virtual xbInt16 GetFieldLen( xbInt16 iFieldNo, xbInt16 &iFieldLen ) const;
+
229 virtual xbInt16 GetFieldLen( const xbString &sFieldName, xbInt16 &iFieldLen ) const;
+
230 virtual xbInt16 GetFieldName( xbInt16 iFieldNo, xbString &sFieldName ) const;
231
-
232 virtual xbInt16 GetFieldType( xbInt16 iFieldNo, char &cFieldType ) const;
-
233 virtual xbInt16 GetFieldType( const xbString &sFieldName, char &cFieldType ) const;
-
234 virtual xbInt16 PutField( const xbString &sFieldName, const xbString &sFieldData );
-
235 virtual xbInt16 PutField( xbInt16 iFieldNo, const xbString &sFieldData );
-
236
-
237 virtual xbInt16 PutLogicalField( xbInt16 iFieldNo, const xbString &sFieldData );
-
238 virtual xbInt16 PutLogicalField( const xbString &sFieldName, const xbString &sFieldData );
-
239 virtual xbInt16 GetLogicalField( xbInt16 iFieldNo, xbString &sFieldData ) const;
-
240 virtual xbInt16 GetLogicalField( const xbString &sFieldName, xbString &sFieldData) const;
-
241
-
242 virtual xbInt16 PutLogicalField( xbInt16 iFieldNo, xbBool bFieldData );
-
243 virtual xbInt16 PutLogicalField( const xbString &sFieldName, xbBool bFieldData );
-
244 virtual xbInt16 GetLogicalField( xbInt16 iFieldNo, xbBool &bFieldData ) const;
-
245 virtual xbInt16 GetLogicalField( xbInt16 iFieldNo, xbBool &bFieldData, xbInt16 iRecBufSw ) const;
-
246 virtual xbInt16 GetLogicalField( const xbString &sFieldName, xbBool &bFieldData) const;
-
247
-
248 virtual xbInt16 GetLongField( xbInt16 iFieldNo, xbInt32 &lFieldValue ) const;
-
249 virtual xbInt16 GetLongField( const xbString &sFieldName, xbInt32 &lFieldValue ) const;
-
250 virtual xbInt16 PutLongField( xbInt16 iFieldNo, xbInt32 lFieldValue );
-
251 virtual xbInt16 PutLongField( const xbString &sFieldNo, xbInt32 lFieldValue );
-
252
-
253 virtual xbInt16 GetULongField( xbInt16 iFieldNo, xbUInt32 &lFieldValue ) const;
-
254 virtual xbInt16 GetULongField( const xbString &sFieldName, xbUInt32 &lFieldValue ) const;
-
255 virtual xbInt16 PutULongField( xbInt16 iFieldNo, xbUInt32 lFieldValue );
-
256 virtual xbInt16 PutULongField( const xbString &sFieldNo, xbUInt32 lFieldValue );
-
257
-
258 virtual xbInt16 GetDoubleField( xbInt16 FieldNo, xbDouble &dFieldValue ) const;
-
259 virtual xbInt16 GetDoubleField( xbInt16 FieldNo, xbDouble &dFieldValue, xbInt16 iRecBufSw ) const;
-
260 virtual xbInt16 GetDoubleField( const xbString &sFieldName, xbDouble &dFieldValue ) const;
-
261 virtual xbInt16 PutDoubleField( xbInt16 FieldNo, xbDouble dFieldValue );
-
262 virtual xbInt16 PutDoubleField( const xbString &FieldName, xbDouble dFieldValue );
-
263
-
264 virtual xbInt16 GetFloatField( xbInt16 iFieldNo, xbFloat &fFieldValue ) const;
-
265 virtual xbInt16 GetFloatField( const xbString &sFieldName, xbFloat &fFieldValue ) const;
-
266 virtual xbInt16 PutFloatField( xbInt16 iFieldNo, xbFloat fFieldValue );
-
267 virtual xbInt16 PutFloatField( const xbString &sFieldName, xbFloat fFieldValue );
-
268
-
269 virtual xbInt16 GetDateField( xbInt16 iFieldNo, xbDate &dt ) const;
-
270 virtual xbInt16 GetDateField( const xbString &sFieldName, xbDate &dt ) const;
-
271 virtual xbInt16 PutDateField( xbInt16 iFieldNo, const xbDate &dt );
-
272 virtual xbInt16 PutDateField( const xbString &sFieldName, const xbDate &dt );
-
273
-
274
-
275
-
276 #ifdef XB_MEMO_SUPPORT
-
277 virtual xbInt16 GetMemoFieldCnt () const;
-
278 virtual xbMemo *GetMemoPtr ();
-
279 virtual xbUInt32 GetCreateMemoBlockSize() const;
-
280 virtual xbInt16 GetMemoField ( xbInt16 iFldNo, xbString &sMemoData );
-
281 virtual xbInt16 GetMemoField ( const xbString & sFldName, xbString &sMemoData );
-
282 virtual xbInt16 GetMemoFieldLen ( xbInt16 iFldNo, xbUInt32 &ullMemoFieldLen );
-
283 virtual xbInt16 GetMemoFieldLen ( const xbString & sFldName, xbUInt32 &ulMemoFieldLen );
-
284 virtual xbBool MemoFieldExists ( xbInt16 iFieldNo ) const;
-
285 virtual xbBool MemoFieldExists ( const xbString &sFieldName ) const;
-
286 virtual xbInt16 SetCreateMemoBlockSize( xbUInt32 ulBlockSize ) = 0;
-
287 virtual xbInt16 UpdateMemoField ( xbInt16 iFldNo, const xbString &sMemoData );
-
288 virtual xbInt16 UpdateMemoField ( const xbString & sFldName, const xbString &sMemoData );
-
289 #endif // XB_MEMO_SUPPORT
-
290
-
291
-
292 #ifdef XB_LOCKING_SUPPORT
-
293 virtual xbInt16 LockTable ( xbInt16 iLockFunction );
-
294 virtual xbInt16 LockRecord ( xbInt16 iLockFunction, xbUInt32 ulRecNo );
-
295 virtual xbInt16 LockAppend ( xbInt16 iLockFunction );
-
296 virtual xbInt16 LockHeader ( xbInt16 iLockFunction );
-
297
-
298 #ifdef XB_MEMO_SUPPORT
-
299 virtual xbInt16 LockMemo ( xbInt16 iLockFunction );
-
300 virtual xbBool GetMemoLocked () const;
-
301 #endif // XB_MEMO_LOCK
-
302
-
303 #ifdef XB_INDEX_SUPPORT
-
304 virtual xbInt16 LockIndices ( xbInt16 iLockFunction );
-
305 #endif // XB_INDEX_SUPPORT
-
306
-
307 xbInt16 GetAutoLock () const;
-
308 void SetAutoLock ( xbInt16 iAutoLock );
-
309 xbInt16 GetLockFlavor () const;
-
310 void SetLockFlavor ( xbInt16 iLockFlavor );
-
311 xbBool GetTableLocked () const;
-
312 xbBool GetHeaderLocked () const;
-
313 xbUInt32 GetAppendLocked () const;
-
314 xbLinkListNode<xbUInt32> * GetFirstRecLock () const;
-
315
-
316 #ifdef XB_DEBUG_SUPPORT
-
317 void DumpTableLockStatus() const;
-
318 #endif // XB_DEBUG_SUPPORT
-
319 #endif // XB_LOCKING_SUPPORT
-
320
-
321
-
322 #ifdef XB_INDEX_SUPPORT
-
323 virtual xbInt16 CheckTagIntegrity( xbInt16 iTagOpt, xbInt16 iOutputOpt );
-
324 virtual xbInt16 CloseIndexFile( xbIx *pIx );
-
325 virtual xbInt16 CreateTag( const xbString &sIxType, const xbString &sName, const xbString &sKey, const xbString &sFilter,
-
326 xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverLay, xbIx **xbIxOut, void **vpTagOut );
-
327 virtual xbInt16 DeleteTag( const xbString &sIxType, const xbString &sName );
-
328 virtual xbInt16 DeleteAllIndexFiles();
-
329 virtual xbInt16 Find( xbString &sKey );
-
330 virtual xbInt16 Find( xbDate &dtKey );
-
331 virtual xbInt16 Find( xbDouble &dKey );
-
332 virtual xbIx *GetCurIx() const;
-
333 virtual void *GetCurTag() const;
-
334
-
335 virtual xbInt16 GetFirstKey();
-
336 virtual xbInt16 GetNextKey();
-
337 virtual xbInt16 GetPrevKey();
-
338 virtual xbInt16 GetLastKey();
-
339
-
340 virtual const xbString &GetCurIxType() const;
-
341 virtual const xbString &GetCurTagName() const;
-
342 virtual xbIxList *GetIxList() const;
-
343 virtual xbInt32 GetPhysicalIxCnt () const;
-
344 xbLinkListNode<xbTag *> *GetTagList () const;
-
345
-
346 virtual xbInt16 OpenIndex( const xbString &sIxType, const xbString &sIndexName );
-
347 virtual xbInt16 Reindex( xbInt16 iTagOpt );
-
348 virtual xbInt16 SetCurTag( const xbString &sTagName );
-
349 virtual void SetCurTag( const xbString &sIxType, xbIx *pIx, void *vpTag );
-
350
-
351 #endif // XB_INDEX_SUPPORT
-
352
-
353 #ifdef XB_INF_SUPPORT
-
354 virtual xbInt16 AssociateIndex( const xbString &sType, const xbString &sName, xbInt16 iOption );
-
355 xbLinkListNode<xbString> *GetInfList() const;
-
356 #endif // XB_INF_SUPPORT
-
357
-
358 //#ifdef XB_MDX_SUPPORT
-
359 //virtual xbInt16 GetCreateMdxBlockSize() const;
-
360 //virtual xbInt16 SetCreateMdxBlockSize( xbInt16 ulBlockSize );
-
361 //#endif
-
362
-
363
-
364
-
365 protected:
-
366 #ifdef XB_INDEX_SUPPORT
-
367 friend class xbIx;
-
368 friend class xbIxMdx;
-
369
-
370 xbInt16 AddIndex( xbIx *ix, const xbString &sFmt );
-
371 void ClearTagList();
-
372 xbInt16 RemoveIndex( xbIx * ix );
-
373 void UpdateSchemaIxFlag( xbInt16 iFldNo, unsigned char cVal );
-
374 virtual xbInt16 UpdateTagList ();
-
375 #endif // XB_INDEX_SUPPORT
+
232 virtual xbInt16 GetFieldNo( const xbString &sFieldName, xbInt16 &iFieldNo ) const;
+
233 virtual xbInt16 GetFieldNo( const xbString &sFieldName ) const;
+
234
+
235 virtual xbInt16 GetFieldType( xbInt16 iFieldNo, char &cFieldType ) const;
+
236 virtual xbInt16 GetFieldType( const xbString &sFieldName, char &cFieldType ) const;
+
237 virtual xbInt16 PutField( const xbString &sFieldName, const xbString &sFieldData );
+
238 virtual xbInt16 PutField( xbInt16 iFieldNo, const xbString &sFieldData );
+
239
+
240 virtual xbInt16 PutLogicalField( xbInt16 iFieldNo, const xbString &sFieldData );
+
241 virtual xbInt16 PutLogicalField( const xbString &sFieldName, const xbString &sFieldData );
+
242 virtual xbInt16 GetLogicalField( xbInt16 iFieldNo, xbString &sFieldData ) const;
+
243 virtual xbInt16 GetLogicalField( const xbString &sFieldName, xbString &sFieldData) const;
+
244
+
245 virtual xbInt16 PutLogicalField( xbInt16 iFieldNo, xbBool bFieldData );
+
246 virtual xbInt16 PutLogicalField( const xbString &sFieldName, xbBool bFieldData );
+
247 virtual xbInt16 GetLogicalField( xbInt16 iFieldNo, xbBool &bFieldData ) const;
+
248 virtual xbInt16 GetLogicalField( xbInt16 iFieldNo, xbBool &bFieldData, xbInt16 iRecBufSw ) const;
+
249 virtual xbInt16 GetLogicalField( const xbString &sFieldName, xbBool &bFieldData) const;
+
250
+
251 virtual xbInt16 GetLongField( xbInt16 iFieldNo, xbInt32 &lFieldValue ) const;
+
252 virtual xbInt16 GetLongField( const xbString &sFieldName, xbInt32 &lFieldValue ) const;
+
253 virtual xbInt16 PutLongField( xbInt16 iFieldNo, xbInt32 lFieldValue );
+
254 virtual xbInt16 PutLongField( const xbString &sFieldNo, xbInt32 lFieldValue );
+
255
+
256 virtual xbInt16 GetULongField( xbInt16 iFieldNo, xbUInt32 &lFieldValue ) const;
+
257 virtual xbInt16 GetULongField( const xbString &sFieldName, xbUInt32 &lFieldValue ) const;
+
258 virtual xbInt16 PutULongField( xbInt16 iFieldNo, xbUInt32 lFieldValue );
+
259 virtual xbInt16 PutULongField( const xbString &sFieldNo, xbUInt32 lFieldValue );
+
260
+
261 virtual xbInt16 GetDoubleField( xbInt16 FieldNo, xbDouble &dFieldValue ) const;
+
262 virtual xbInt16 GetDoubleField( xbInt16 FieldNo, xbDouble &dFieldValue, xbInt16 iRecBufSw ) const;
+
263 virtual xbInt16 GetDoubleField( const xbString &sFieldName, xbDouble &dFieldValue ) const;
+
264 virtual xbInt16 PutDoubleField( xbInt16 FieldNo, xbDouble dFieldValue );
+
265 virtual xbInt16 PutDoubleField( const xbString &FieldName, xbDouble dFieldValue );
+
266
+
267 virtual xbInt16 GetFloatField( xbInt16 iFieldNo, xbFloat &fFieldValue ) const;
+
268 virtual xbInt16 GetFloatField( const xbString &sFieldName, xbFloat &fFieldValue ) const;
+
269 virtual xbInt16 PutFloatField( xbInt16 iFieldNo, xbFloat fFieldValue );
+
270 virtual xbInt16 PutFloatField( const xbString &sFieldName, xbFloat fFieldValue );
+
271
+
272 virtual xbInt16 GetDateField( xbInt16 iFieldNo, xbDate &dt ) const;
+
273 virtual xbInt16 GetDateField( const xbString &sFieldName, xbDate &dt ) const;
+
274 virtual xbInt16 PutDateField( xbInt16 iFieldNo, const xbDate &dt );
+
275 virtual xbInt16 PutDateField( const xbString &sFieldName, const xbDate &dt );
+
276
+
277
+
278
+
279 #ifdef XB_MEMO_SUPPORT
+
280 virtual xbInt16 GetMemoFieldCnt () const;
+
281 virtual xbMemo *GetMemoPtr ();
+
282 virtual xbUInt32 GetCreateMemoBlockSize() const;
+
283 virtual xbInt16 GetMemoField ( xbInt16 iFldNo, xbString &sMemoData );
+
284 virtual xbInt16 GetMemoField ( const xbString & sFldName, xbString &sMemoData );
+
285 virtual xbInt16 GetMemoFieldLen ( xbInt16 iFldNo, xbUInt32 &ullMemoFieldLen );
+
286 virtual xbInt16 GetMemoFieldLen ( const xbString & sFldName, xbUInt32 &ulMemoFieldLen );
+
287 virtual xbBool MemoFieldExists ( xbInt16 iFieldNo ) const;
+
288 virtual xbBool MemoFieldExists ( const xbString &sFieldName ) const;
+
289 virtual xbInt16 SetCreateMemoBlockSize( xbUInt32 ulBlockSize ) = 0;
+
290 virtual xbInt16 UpdateMemoField ( xbInt16 iFldNo, const xbString &sMemoData );
+
291 virtual xbInt16 UpdateMemoField ( const xbString & sFldName, const xbString &sMemoData );
+
292 #endif // XB_MEMO_SUPPORT
+
293
+
294
+
295 #ifdef XB_LOCKING_SUPPORT
+
296 virtual xbInt16 LockTable ( xbInt16 iLockFunction );
+
297 virtual xbInt16 LockRecord ( xbInt16 iLockFunction, xbUInt32 ulRecNo );
+
298 virtual xbInt16 LockAppend ( xbInt16 iLockFunction );
+
299 virtual xbInt16 LockHeader ( xbInt16 iLockFunction );
+
300
+
301 #ifdef XB_MEMO_SUPPORT
+
302 virtual xbInt16 LockMemo ( xbInt16 iLockFunction );
+
303 virtual xbBool GetMemoLocked () const;
+
304 #endif // XB_MEMO_LOCK
+
305
+
306 #ifdef XB_INDEX_SUPPORT
+
307 virtual xbInt16 LockIndices ( xbInt16 iLockFunction );
+
308 #endif // XB_INDEX_SUPPORT
+
309
+
310 xbInt16 GetAutoLock () const;
+
311 void SetAutoLock ( xbInt16 iAutoLock );
+
312 xbInt16 GetLockFlavor () const;
+
313 void SetLockFlavor ( xbInt16 iLockFlavor );
+
314 xbBool GetTableLocked () const;
+
315 xbBool GetHeaderLocked () const;
+
316 xbUInt32 GetAppendLocked () const;
+
317 xbLinkListNode<xbUInt32> * GetFirstRecLock () const;
+
318
+
319 #ifdef XB_DEBUG_SUPPORT
+
320 void DumpTableLockStatus() const;
+
321 #endif // XB_DEBUG_SUPPORT
+
322 #endif // XB_LOCKING_SUPPORT
+
323
+
324
+
325 #ifdef XB_INDEX_SUPPORT
+
326 virtual xbInt16 CheckTagIntegrity( xbInt16 iTagOpt, xbInt16 iOutputOpt );
+
327 virtual xbInt16 CloseIndexFile( xbIx *pIx );
+
328 virtual xbInt16 CreateTag( const xbString &sIxType, const xbString &sName, const xbString &sKey, const xbString &sFilter,
+
329 xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverLay, xbIx **xbIxOut, void **vpTagOut );
+
330 virtual xbInt16 DeleteTag( const xbString &sIxType, const xbString &sName );
+
331 virtual xbInt16 DeleteAllIndexFiles();
+
332 virtual xbInt16 Find( xbString &sKey );
+
333 virtual xbInt16 Find( xbDate &dtKey );
+
334 virtual xbInt16 Find( xbDouble &dKey );
+
335 virtual xbIx *GetCurIx() const;
+
336 virtual void *GetCurTag() const;
+
337
+
338 virtual xbInt16 GetFirstKey();
+
339 virtual xbInt16 GetNextKey();
+
340 virtual xbInt16 GetPrevKey();
+
341 virtual xbInt16 GetLastKey();
+
342
+
343 virtual const xbString &GetCurIxType() const;
+
344 virtual const xbString &GetCurTagName() const;
+
345 virtual xbIxList *GetIxList() const;
+
346 virtual xbInt32 GetPhysicalIxCnt () const;
+
347 xbLinkListNode<xbTag *> *GetTagList () const;
+
348
+
349 virtual xbInt16 OpenIndex( const xbString &sIxType, const xbString &sIndexName );
+
350 virtual xbInt16 Reindex( xbInt16 iTagOpt );
+
351 virtual xbInt16 SetCurTag( const xbString &sTagName );
+
352 virtual void SetCurTag( const xbString &sIxType, xbIx *pIx, void *vpTag );
+
353
+
354 #endif // XB_INDEX_SUPPORT
+
355
+
356 #ifdef XB_INF_SUPPORT
+
357 virtual xbInt16 AssociateIndex( const xbString &sType, const xbString &sName, xbInt16 iOption );
+
358 xbLinkListNode<xbString> *GetInfList() const;
+
359 #endif // XB_INF_SUPPORT
+
360
+
361 //#ifdef XB_MDX_SUPPORT
+
362 //virtual xbInt16 GetCreateMdxBlockSize() const;
+
363 //virtual xbInt16 SetCreateMdxBlockSize( xbInt16 ulBlockSize );
+
364 //#endif
+
365
+
366 #ifdef XB_BLOCKREAD_SUPPORT
+
367 xbInt16 DisableBlockReadProcessing();
+
368 xbInt16 EnableBlockReadProcessing();
+
369 xbBool GetBlockReadStatus() const;
+
370 #endif // XB_BLOCKREAD_SUPPORT
+
371
+
372 protected:
+
373 #ifdef XB_INDEX_SUPPORT
+
374 friend class xbIx;
+
375 friend class xbIxMdx;
376
-
377 #ifdef XB_INF_SUPPORT
-
378 virtual xbInt16 GetInfFileName( xbString &sNdxIdxFileName );
-
379 #endif // XB_INF_SUPPORT
-
380
-
381
-
382 #ifdef XB_LOCKING_SUPPORT
-
383 void SetHeaderLocked ( xbBool bTableLocked );
-
384 void SetTableLocked ( xbBool bTableLocked );
-
385 #endif // XB_LOCKING_SUPORT
-
386
-
387 #ifdef XB_MEMO_SUPPORT
-
388 xbInt16 iMemoFieldCnt; // Memo field cnt in the table
-
389 xbMemo *Memo; // Pointer to memo class
-
390 xbUInt32 ulCreateMemoBlockSize; // blocksize to use when creating dbt file
-
391 #endif
+
377 xbInt16 AddIndex( xbIx *ix, const xbString &sFmt );
+
378 void ClearTagList();
+
379 xbInt16 RemoveIndex( xbIx * ix );
+
380 void UpdateSchemaIxFlag( xbInt16 iFldNo, unsigned char cVal );
+
381 virtual xbInt16 UpdateTagList ();
+
382 #endif // XB_INDEX_SUPPORT
+
383
+
384 #ifdef XB_INF_SUPPORT
+
385 virtual xbInt16 GetInfFileName( xbString &sNdxIdxFileName );
+
386 #endif // XB_INF_SUPPORT
+
387
+
388 #ifdef XB_BLOCKREAD_SUPPORT
+
389 friend class xbBlockRead;
+
390 #endif // XB_BLOCKREAD_SUPPORT
+
391
392
-
393 #ifdef XB_INF_SUPPORT
-
394 virtual xbInt16 DeleteInfData();
-
395 virtual xbInt16 LoadInfData();
-
396 virtual xbInt16 SaveInfData();
-
397 #endif // XB_INF_SUPPORT
-
398
-
399/*
-
400 #ifdef XB_MDX_SUPPORT
-
401 xbInt16 iCreateMdxBlockSize;
-
402 #endif // XB_MDX_SUPPORT
-
403*/
-
404
-
405 virtual xbInt16 GetRawField( xbInt16 iFieldNo, char *Buf, xbUInt32 BufSize, xbInt16 iRecBufSw ) const;
-
406 virtual void InitVars();
-
407 virtual xbInt16 SetVersion() = 0;
-
408 virtual xbInt16 ValidateSchema( xbSchema * s ) = 0;
-
409 xbInt16 WriteHeader( xbInt16 iPositionOption, xbInt16 iWriteOption );
-
410
-
411
-
412 xbUInt32 ulCurRec; // Current record or zero
-
413 xbInt16 iAutoCommit; // Auto commit updates if not explicitly performed before moving off record?
-
414 // -1 --> Use DBMS default
-
415 // 0 --> No auto update on this table, regardless of DBMS setting
-
416 // 1 --> Auto update on this table, regardless of DBMS setting
-
417
-
418 xbInt16 iFileVersion; // xBase file version - which class is in play
-
419
-
420
-
421 xbString sAlias; // table alias
-
422 xbInt16 iNoOfFields;
-
423 xbInt16 iDbfStatus; // 0 = closed
-
424 // 1 = open
-
425 // 2 = updates pending
-
426
-
427 xbSchemaRec *SchemaPtr; // Pointer to field data
-
428 char *RecBuf; // Pointer to record buffer
-
429 char *RecBuf2; // Pointer to original rec buf
+
393 #ifdef XB_LOCKING_SUPPORT
+
394 void SetHeaderLocked ( xbBool bTableLocked );
+
395 void SetTableLocked ( xbBool bTableLocked );
+
396 #endif // XB_LOCKING_SUPORT
+
397
+
398 #ifdef XB_MEMO_SUPPORT
+
399 xbInt16 iMemoFieldCnt; // Memo field cnt in the table
+
400 xbMemo *Memo; // Pointer to memo class
+
401 xbUInt32 ulCreateMemoBlockSize; // blocksize to use when creating dbt file
+
402 #endif
+
403
+
404 #ifdef XB_INF_SUPPORT
+
405 virtual xbInt16 DeleteInfData();
+
406 virtual xbInt16 LoadInfData();
+
407 virtual xbInt16 SaveInfData();
+
408 #endif // XB_INF_SUPPORT
+
409
+
410/*
+
411 #ifdef XB_MDX_SUPPORT
+
412 xbInt16 iCreateMdxBlockSize;
+
413 #endif // XB_MDX_SUPPORT
+
414*/
+
415
+
416 virtual xbInt16 GetRawField( xbInt16 iFieldNo, char *Buf, xbUInt32 BufSize, xbInt16 iRecBufSw ) const;
+
417 virtual void InitVars();
+
418 virtual xbInt16 SetVersion() = 0;
+
419 virtual xbInt16 ValidateSchema( xbSchema * s ) = 0;
+
420 xbInt16 WriteHeader( xbInt16 iPositionOption, xbInt16 iWriteOption );
+
421
+
422
+
423 xbUInt32 ulCurRec; // Current record or zero
+
424 xbInt16 iAutoCommit; // Auto commit updates if not explicitly performed before moving off record?
+
425 // -1 --> Use DBMS default
+
426 // 0 --> No auto update on this table, regardless of DBMS setting
+
427 // 1 --> Auto update on this table, regardless of DBMS setting
+
428
+
429 xbInt16 iFileVersion; // xBase file version - which class is in play
430
-
431
-
432/* Next several variables are database header fields, up through dbase V */
-
433 unsigned char cVersion;
-
434 char cUpdateYY;
-
435 char cUpdateMM;
-
436 char cUpdateDD;
-
437 xbUInt32 ulNoOfRecs;
-
438 xbUInt16 uiHeaderLen;
-
439 xbUInt16 uiRecordLen;
-
440 char cTransactionFlag;
-
441 char cEncryptionFlag;
-
442 char cIndexFlag;
-
443 char cLangDriver; // dbase 7 sets to 1B
-
444
-
445
-
446
-
447 private:
-
448 void ResetNoOfRecords();
-
449
-
450
-
451#ifdef XB_LOCKING_SUPPORT
-
452 xbInt16 iAutoLock; // 0 - autolock off, 1 - autolock on
-
453 xbInt16 iLockFlavor;
-
454 xbBool bTableLocked; // is the table locked
-
455 xbBool bHeaderLocked; // is the header locked
-
456 xbUInt32 ulAppendLocked; // record number of the new record for the append lock operation
-
457 xbLinkListOrd<xbUInt32> lloRecLocks; // ordered link list of locked records
-
458#endif
-
459
+
431
+
432 xbString sAlias; // table alias
+
433 xbInt16 iNoOfFields;
+
434 xbInt16 iDbfStatus; // 0 = closed
+
435 // 1 = open
+
436 // 2 = updates pending
+
437
+
438 xbSchemaRec *SchemaPtr; // Pointer to field data
+
439 char *RecBuf; // Pointer to record buffer
+
440 char *RecBuf2; // Pointer to original rec buf allocation
+
441
+
442
+
443/* Next several variables are database header fields, up through dbase V */
+
444 unsigned char cVersion;
+
445 char cUpdateYY;
+
446 char cUpdateMM;
+
447 char cUpdateDD;
+
448 xbUInt32 ulNoOfRecs;
+
449 xbUInt16 uiHeaderLen;
+
450 xbUInt16 uiRecordLen;
+
451 char cTransactionFlag;
+
452 char cEncryptionFlag;
+
453 char cIndexFlag;
+
454 char cLangDriver; // dbase 7 sets to 1B
+
455
+
456
+
457
+
458 private:
+
459 void ResetNoOfRecords();
460
-
461#ifdef XB_INDEX_SUPPORT
-
462 xbIxList *ixList; // pointer to a list of indices associated with the table
-
463 xbIx *pCurIx; // Pointer to current index class
-
464 void *vpCurIxTag; // Pointer to current tag
-
465 xbString sCurIxType; // Current index type
-
466 xbLinkList<xbTag *> llTags; // linked list of open tags
-
467
-
468#endif // XB_INDEX_SUPPORT
-
469
-
470#ifdef XB_INF_SUPPORT
-
471 xbLinkList<xbString> llInfData; // linked list of strings containing ndx file entries
-
472#endif // XB_INF_SUPPORT
-
473
-
474
-
475};
-
476
-
477
-
478#ifdef XB_DBF3_SUPPORT
-
480
-
486class XBDLLEXPORT xbDbf3 : public xbDbf {
-
487 public:
-
488 xbDbf3(xbXBase *x);
-
489 ~xbDbf3();
-
490 virtual xbInt16 CreateTable ( const xbString &sTableName, const xbString &sAlias, xbSchema *, xbInt16 iOverlay, xbInt16 iShareMode );
-
491 virtual xbInt16 GetVersion () const;
-
492 virtual xbInt16 Open ( const xbString &sTableName, const xbString &sAlias, xbInt16 iOpenMode, xbInt16 iShareMode );
-
493 virtual xbInt16 Rename ( const xbString sNewName );
-
494
-
495 #ifdef XB_MEMO_SUPPORT
-
496 virtual xbInt16 SetCreateMemoBlockSize( xbUInt32 iBlockSize );
-
497 #endif
-
498
-
499 protected:
-
500 xbInt16 SetVersion ();
-
501 virtual xbInt16 ValidateSchema( xbSchema *s );
-
502
-
503 private:
-
504
-
505};
-
506#endif /* XB_DBF3_SUPPORT */
-
507
-
508
-
509#ifdef XB_DBF4_SUPPORT
-
511
-
516class XBDLLEXPORT xbDbf4 : public xbDbf {
-
517 public:
-
518 xbDbf4( xbXBase *x );
+
461
+
462 #ifdef XB_LOCKING_SUPPORT
+
463 xbInt16 iAutoLock; // 0 - autolock off, 1 - autolock on
+
464 xbInt16 iLockFlavor;
+
465 xbBool bTableLocked; // is the table locked
+
466 xbBool bHeaderLocked; // is the header locked
+
467 xbUInt32 ulAppendLocked; // record number of the new record for the append lock operation
+
468 xbLinkListOrd<xbUInt32> lloRecLocks; // ordered link list of locked records
+
469 #endif
+
470
+
471 #ifdef XB_INDEX_SUPPORT
+
472 xbIxList *ixList; // pointer to a list of indices associated with the table
+
473 xbIx *pCurIx; // Pointer to current index class
+
474 void *vpCurIxTag; // Pointer to current tag
+
475 xbString sCurIxType; // Current index type
+
476 xbLinkList<xbTag *> llTags; // linked list of open tags
+
477 #endif // XB_INDEX_SUPPORT
+
478
+
479 #ifdef XB_INF_SUPPORT
+
480 xbLinkList<xbString> llInfData; // linked list of strings containing ndx file entries
+
481 #endif // XB_INF_SUPPORT
+
482
+
483 #ifdef XB_BLOCKREAD_SUPPORT
+
484 xbBlockRead *pRb;
+
485 xbBool bBlockReadEnabled; // if true, then block read mode is on
+
486 #endif
+
487
+
488
+
489
+
490};
+
491
+
492
+
493#ifdef XB_DBF3_SUPPORT
+
495
+
501class XBDLLEXPORT xbDbf3 : public xbDbf {
+
502 public:
+
503 xbDbf3(xbXBase *x);
+
504 ~xbDbf3();
+
505 virtual xbInt16 CreateTable ( const xbString &sTableName, const xbString &sAlias, xbSchema *, xbInt16 iOverlay, xbInt16 iShareMode );
+
506 virtual xbInt16 GetVersion () const;
+
507 virtual xbInt16 Open ( const xbString &sTableName, const xbString &sAlias, xbInt16 iOpenMode, xbInt16 iShareMode );
+
508 virtual xbInt16 Rename ( const xbString sNewName );
+
509
+
510 #ifdef XB_MEMO_SUPPORT
+
511 virtual xbInt16 SetCreateMemoBlockSize( xbUInt32 iBlockSize );
+
512 #endif
+
513
+
514 protected:
+
515 xbInt16 SetVersion ();
+
516 virtual xbInt16 ValidateSchema( xbSchema *s );
+
517
+
518 private:
519
-
520 ~xbDbf4();
-
521
-
522 virtual xbInt16 CreateTable ( const xbString &sTableName, const xbString &sAlias, xbSchema *, xbInt16 iOverlay, xbInt16 iShareMode );
-
523 virtual xbInt16 GetVersion () const;
-
524 virtual xbInt16 Open ( const xbString &sTableName, const xbString &sAlias, xbInt16 iOpenMode, xbInt16 iShareMode );
-
525 virtual xbInt16 Rename ( const xbString sNewName );
+
520};
+
521#endif /* XB_DBF3_SUPPORT */
+
522
+
523
+
524#ifdef XB_DBF4_SUPPORT
526
-
527 #ifdef XB_MEMO_SUPPORT
-
528 virtual xbInt16 SetCreateMemoBlockSize( xbUInt32 iBlockSize );
-
529 #endif
-
530
-
531 protected:
-
532 // void InitVars ();
-
533 xbInt16 SetVersion();
-
534 virtual xbInt16 ValidateSchema ( xbSchema *s );
-
535
-
536 private:
-
537
-
538};
-
539
-
540#endif /* XB_DBF4_SUPPORT */
+
531class XBDLLEXPORT xbDbf4 : public xbDbf {
+
532 public:
+
533 xbDbf4( xbXBase *x );
+
534
+
535 ~xbDbf4();
+
536
+
537 virtual xbInt16 CreateTable ( const xbString &sTableName, const xbString &sAlias, xbSchema *, xbInt16 iOverlay, xbInt16 iShareMode );
+
538 virtual xbInt16 GetVersion () const;
+
539 virtual xbInt16 Open ( const xbString &sTableName, const xbString &sAlias, xbInt16 iOpenMode, xbInt16 iShareMode );
+
540 virtual xbInt16 Rename ( const xbString sNewName );
541
-
542} /* namespace xb */
-
543#endif /* __XB_DBF_H__ */
+
542 #ifdef XB_MEMO_SUPPORT
+
543 virtual xbInt16 SetCreateMemoBlockSize( xbUInt32 iBlockSize );
+
544 #endif
+
545
+
546 protected:
+
547 // void InitVars ();
+
548 xbInt16 SetVersion();
+
549 virtual xbInt16 ValidateSchema ( xbSchema *s );
+
550
+
551 private:
+
552
+
553};
+
554
+
555#endif /* XB_DBF4_SUPPORT */
+
556
+
557} /* namespace xb */
+
558#endif /* __XB_DBF_H__ */
xbDate class.
Definition: xbdate.h:62
Base class for handling dbf files/tables.
Definition: xbdbf.h:150
virtual xbInt16 GetVersion() const =0
virtual xbInt16 Open(const xbString &sTableName, const xbString &sAlias, xbInt16 iOpenMode, xbInt16 iShareMode)=0
virtual xbInt16 CreateTable(const xbString &sTableName, const xbString &sAlias, xbSchema *pSchema, xbInt16 iOverlay, xbInt16 iShareMode)=0
+
virtual xbUInt16 GetHeaderLen() const
virtual xbInt16 Rename(const xbString sNewName)=0
Class for handling low level file I/O.
Definition: xbfile.h:56
Class for handling string data.
Definition: xbstring.h:50
-- cgit v1.2.3