diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2023-08-14 19:45:36 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2023-08-14 19:45:36 +0200 |
commit | bfa452a375ea0a0a3f95304a69186936567e5263 (patch) | |
tree | aade062a143c1afcc4ea06ee27905ffc34a9217b /src/tests/xb_test_blockread.cpp | |
parent | dd70ff8bf32c2d7ed365004b1770058265db1978 (diff) |
New upstream version 4.1.4
Diffstat (limited to 'src/tests/xb_test_blockread.cpp')
-rwxr-xr-x | src/tests/xb_test_blockread.cpp | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/src/tests/xb_test_blockread.cpp b/src/tests/xb_test_blockread.cpp deleted file mode 100755 index ff55d23..0000000 --- a/src/tests/xb_test_blockread.cpp +++ /dev/null @@ -1,168 +0,0 @@ -/* xb_test_blockread.cpp - -XBase64 Software Library - -Copyright (c) 1997,2003,2014,2022,2023 Gary A Kunkel - -The xb64 software library is covered under the terms of the GPL Version 3, 2007 license. - -Email Contact: - - XDB-devel@lists.sourceforge.net - XDB-users@lists.sourceforge.net - -*/ - -// This program tests the class xbBlockRead -// usage: xb_test_blockread QUITE|NORMAL|VERBOSE - - -#include "xbase.h" - -using namespace xb; - -#include "tstfuncs.cpp" - - xbSchema MyDbfRec[] = - { - { "NFLD", XB_NUMERIC_FLD, 10, 0 }, - { "CFLD", XB_CHAR_FLD, 89, 0 }, - { "",0,0,0 } - }; - - -int main( int argCnt, char **av ) -{ - xbInt16 iRc = 0; - xbInt16 iRc2 = 0; - int iPo = 1; /* print option */ - /* 0 - QUIET */ - /* 1 - NORMAL */ - /* 2 - VERBOSE */ - - if( argCnt > 1 ) { - if( av[1][0] == 'Q' ) - iPo = 0; - else if( av[1][0] == 'V' ) - iPo = 2; - } - - xbXBase x; - x.SetDataDirectory( PROJECT_DATA_DIR ); - - xbDbf4 dbf( &x ); - - #ifdef XB_LOGGING_SUPPORT - x.SetLogDirectory( PROJECT_LOG_DIR ); - x.EnableMsgLogging(); - if( iPo ){ - std::cout << "Logfile is [" << x.GetLogFqFileName().Str() << "]" << std::endl; - } - xbString sMsg; - sMsg.Sprintf( "Program [%s] initializing...", av[0] ); - x.WriteLogMessage( sMsg ); - #endif - - - InitTime(); - - - iRc2 = dbf.CreateTable( "BLOCKRD.DBF", "BlockRead", MyDbfRec, XB_OVERLAY, XB_MULTI_USER ); - iRc += TestMethod( iPo, "CreateTable()", (xbInt32) iRc2, XB_NO_ERROR ); - if( iRc2 ) - x.DisplayError( iRc2 ); - - - // fill the file with several blocks of data - for( xbInt32 i = 0; i < 50; i++ ){ - iRc2 = dbf.BlankRecord(); - if( iRc2 != XB_NO_ERROR ) - iRc += TestMethod( iPo, "BlankRecord()", (xbInt32) iRc2, XB_NO_ERROR ); - - iRc2 = dbf.PutLongField( 0, i+1 ); - if( iRc2 != XB_NO_ERROR ) - iRc += TestMethod( iPo, "PutLongField()", (xbInt32) iRc2, XB_NO_ERROR ); - - iRc2 = dbf.AppendRecord(); - if( iRc2 != XB_NO_ERROR ) - iRc += TestMethod( iPo, "AppendRecord()", (xbInt32) iRc2, XB_NO_ERROR ); - - iRc2 = dbf.Commit(); - if( iRc2 != XB_NO_ERROR ) - iRc += TestMethod( iPo, "Commit()", (xbInt32) iRc2, XB_NO_ERROR ); - } - - - dbf.SetDefaultBlockReadSize( 2000 ); - - // enable block read for this table - iRc += TestMethod( iPo, "EnableBlockReadProcessing()", dbf.EnableBlockReadProcessing(), XB_NO_ERROR ); - - xbUInt32 ulFld = 0; - xbUInt32 ulCtr = 1; - - iRc2 = XB_NO_ERROR; - while( iRc2 == XB_NO_ERROR ){ - // std::cout << ulCtr << "\n"; - iRc2 += dbf.GetRecord( ulCtr ); - if( iRc2 != XB_NO_ERROR && iRc != XB_INVALID_RECORD ) - TestMethod( iPo, "GetRecord()", iRc, XB_NO_ERROR ); - - if( iRc2 == XB_NO_ERROR ){ - dbf.GetULongField( "NFLD", ulFld ); - if( ulFld != ulCtr ){ - std::cout << "ulFld = " << ulFld << " ulCtr = " << ulCtr << "\n"; - iRc += TestMethod( iPo, "Field Compare", (xbDouble) ulFld, (xbDouble) ulCtr ); - } - } - ulCtr++; - } - - // std::cout << "**********Delete every other record\n"; - iRc2 = dbf.GetFirstRecord(); - while( iRc2 == XB_NO_ERROR ){ - if( (dbf.GetCurRecNo() % 2) != 0 ){ - dbf.DeleteRecord(); - dbf.Commit(); - } - iRc2 = dbf.GetNextRecord(); - } - - - // test filter for deleted records - #ifdef XB_FILTER_SUPPORT - xbFilter f( &dbf ); - xbString sFilt = ".NOT. DELETED()"; - f.Set( sFilt ); - iRc2 = f.GetFirstRecord(); - while( iRc2 == XB_NO_ERROR ){ - dbf.GetULongField( "NFLD", ulFld ); - if( (ulFld % 2) != 0 ){ - iRc += TestMethod( iPo, "Filter GetNextRecord()", ulFld % 2, 0 ); - } - iRc2 = f.GetNextRecord(); - } - #endif // XB_FILTER_SUPPORT - - - iRc += TestMethod( iPo, "DisableBlockReadProcessing()", dbf.DisableBlockReadProcessing(), XB_NO_ERROR ); - //iRc2 = dbf.DeleteTable(); - - iRc2 = dbf.Close(); - iRc += TestMethod( iPo, "Close()", (xbInt32) iRc2, XB_NO_ERROR ); - if( iRc2 ) - x.DisplayError( iRc2 ); - - - #ifdef XB_LOGGING_SUPPORT - sMsg.Sprintf( "Program [%s] terminating with [%d] errors...", av[0], iRc * -1 ); - x.WriteLogMessage( sMsg ); - #endif - - - if( iPo > 0 || iRc < 0 ) - fprintf( stdout, "Total Errors = %d\n", iRc * -1 ); - - return iRc; -} - |