Page 1 of 1

MariaDB problem with large Table

PostPosted: Sat Jan 11, 2020 10:43 am
by mauri.menabue
hi all
I try Maria10.prg sample for testing large tables, over 1.000.000 of records
but arise after the query end this error in xbrowse :

Application
===========
Path and name: c:\fwh\samples\maria10.exe (32 bits)
Size: 4,166,656 bytes
Compiler version: Harbour 3.2.0dev (r1904111533)
FiveWin version: FWH 19.05
C compiler version: Borland/Embarcadero C++ 7.0 (32-bit)
Windows version: 6.2, Build 9200

Time from start: 0 hours 1 mins 7 secs
Error occurred at: 01/11/20, 11:28:17
Error description: Error BASE/1066 Argument error: conditional
Args:
[ 1] = N 8

Stack Calls
===========
Called from: .\source\internal\FWMARIA.PRG => FRECSET:SETXBROWSE( 955 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:SETODBF( 7407 )
Called from: .\source\classes\XBROWSE.PRG => XBRWSETDATASOURCE( 16591 )
Called from: .\source\function\XBROWSER.PRG => XBROWSE( 139 )
Called from: maria10.prg => MAIN( 14 )

System
======
CPU type: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz 2808 Mhz
Hardware memory: 16264 megs

Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %

Windows total applications running: 3
1 , c:\fwh\samples\maria10.exe
2 G, C:\WINDOWS\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.18362.535_none_5f5bdd03821eaaf
3 LOGI_RAWINPUT_WND,

Variables in use
================
Procedure Type Value
==========================
FRECSET:SETXBROWSE
Param 1: O Class: ERROR
TXBROWSE:SETODBF
Param 1: O Class: TXBROWSE
Param 2: A Len: 12
Param 3: L .F.
Param 4: L .T.
Local 1: O Class: FRECSET
Local 2: N 2
Local 3: C "FIRST"
Local 4: U
Local 5: C "FIRST"
Local 6: N 1
Local 7: O Class: TXBRWCOLUMN
Local 8: P 0x2BE7594
Local 9: N 8
Local 10: U
Local 11: U
XBRWSETDATASOURCE
Param 1: O Class: FRECSET
Param 2: U
Param 3: L .F.
Param 4: L .T.
Param 5: U
Local 1: O Class: TXBROWSE
Local 2: U
Local 3: U
Local 4: U
XBROWSE
Param 1: O Class: TXBROWSE
Param 2: O Class: FRECSET
Param 3: L .T.
Param 4: L .F.
Param 5: U
Local 1: U
Local 2: U
Local 3: U
Local 4: C "O"
Local 5: U
Local 6: L .F.
MAIN
Param 1: O Class: FRECSET
Param 2: C "`Custbig` table with million records. Ready to browse in 0.1250 Seconds"
Param 3: L .F.
Param 4: U
Param 5: U
Param 6: U
Param 7: L .T.
Param 8: L .T.
Param 9: U
Param 10: C "RECID"
Param 11: L .F.
Param 12: L .F.
Local 1: O Class: TDIALOG
Local 2: O Class: TBAR
Local 3: O Class: TXBROWSE
Local 4: U
Local 5: O Class: TFONT
Local 6: U
Local 7: U
Local 8: N 720.00
Local 9: N 270.00
Local 10: U
Local 11: U
Local 12: U
Local 13: U
Local 14: U
Local 15: L .T.
Local 16: U
Local 17: N 1
Local 18: N 1
Local 19: L .F.
Local 20: A Len: 0
Local 21: L .T.

Linked RDDs
===========
DBF
DBFFPT
DBFBLOB
DBFNTX

DataBases in use
================

Classes in use:
===============
1 ERROR
2 HBCLASS
3 HBOBJECT
4 TWINDOW
5 TDIALOG
6 TBRUSH
7 TFONT
8 TREG32
9 TRECT
10 FWMARIACONNECTION
11 FRECSET
12 TCONTROL
13 TBAR
14 TXBROWSE
15 TXBRWCOLUMN
16 TSTRUCT

Memory Analysis
===============
579 Static variables

Dynamic memory consume:
Actual Value: 1245184 bytes
Highest Value: 1245184 bytes

My Fwh release is : 19.05 May
My Harbour release is : 3.2.0dev (r1904111533)
also in xHarbour same problem.

TIA

Re: MariaDB problem with large Table

PostPosted: Sat Jan 11, 2020 2:32 pm
by nageswaragunupudi
We are looking into this, please.

Re: MariaDB problem with large Table

PostPosted: Sat Jan 11, 2020 5:35 pm
by mauri.menabue
ok, I am waiting !
thank

Re: MariaDB problem with large Table

PostPosted: Tue Jan 14, 2020 7:06 pm
by nageswaragunupudi
We sincerely regret the bug that crept into FWH1905. This continues in FWH1906, FWH1909 and FWH1912.

This bug is fixed in FWH2001 to be released.

For versions FWH1905 to FWH1912, we suggest this workaround. After creating the recset, please include
Code: Select all  Expand view

AEval( oRs:aStruct, { |a| If( HB_ISLOGICAL( a[ 11 ] ), nil, a[ 11 ] := .f. ) } )
 


This applies to RecSet() class only but not to the regularly used RowSet() class.

You may use this modified "maria10.prg" for your testing.
Code: Select all  Expand view

#include "fivewin.ch"

//----------------------------------------------------------------------------//

function Main()

   local oCn, oRs, nRecs

   oCn   := FW_DemoDB( 6 )
   oRs   := oCn:RecSet( "custbig", 1000 )
   oRs:nLastRec   := 1000000

   // Workaround
   if FW_VersionNo >= 19050 .and. FW_VersionNo < 20010
      AEval( oRs:aStruct, { |a| If( HB_ISLOGICAL( a[ 11 ] ), nil, a[ 11 ] := .f. ) } )
   endif
   //

   XBROWSER oRs TITLE "`Custbig` table with million records. Ready to browse in " + ;
      Transform( oRs:nReadSecs, "999.9999" ) + " Seconds"  SHOW RECID FASTEDIT
   oRs:Close()
   oCn:Close()

return nil

//----------------------------------------------------------------------------//
 


Testing the above sample:

Image

Re: MariaDB problem with large Table

PostPosted: Tue Jan 14, 2020 9:50 pm
by mauri.menabue
thank i try it