Recent

Author Topic: DBGrid displays zeros. Zeos 7.2 bug or Lazarus trunk bug  (Read 2134 times)

krzynio

  • Jr. Member
  • **
  • Posts: 99
    • Krzynio's home page
DBGrid displays zeros. Zeos 7.2 bug or Lazarus trunk bug
« on: July 17, 2018, 09:38:22 am »
Hi!

Recently I upgraded Zeos components from 7.2.1rc1 to 7.2.4
After the upgrade last two columns of DBGrid and two integer columns WYK_UW and WYK_UWZ display zeros instead real values. When I restore Zeoses to 7.2.1.rc1 or earlier works fine again. The same behavior is on Windows and Debian so I am suspecting bug or different functionality in higher Zeos.
What can it be?
Code: SQL  [Select][+][-]
  1. SELECT * FROM PR_URLOPY ('2018', '2015', '%')
  2. WHERE Aktywny>='1'
  3.  

Code: SQL  [Select][+][-]
  1. SET TERM ^ ;
  2. ALTER PROCEDURE PR_URLOPY (
  3.     ROK1 INTEGER,
  4.     ROK_BO INTEGER,
  5.     IDWYDZ VARCHAR(10) )
  6. RETURNS (
  7.     IDPRAC VARCHAR(10),
  8.     NAZPRAC VARCHAR(50),
  9.     AKTYWNY SMALLINT,
  10.     ORGUNIT VARCHAR(10),
  11.     GRUPA VARCHAR(10),
  12.     IDSTAN VARCHAR(10),
  13.     NAZSTAN VARCHAR(50),
  14.     ROK INTEGER,
  15.     WYMIAR_BIEZ INTEGER,
  16.     EKWIWALENT_BIEZ INTEGER,
  17.     POPRZEDNI INTEGER,
  18.     URLOP_RAZEM INTEGER,
  19.     WYK_UW INTEGER,
  20.     WYK_UWZ INTEGER,
  21.     WYK_RAZEM INTEGER,
  22.     POZOSTALY INTEGER,
  23.     WYK_UW_BIEZ INTEGER,
  24.     WYK_UWZ_BIEZ INTEGER )
  25. AS
  26. BEGIN
  27.  
  28.     DELETE FROM TEMP_URLOP_WYK;
  29.    
  30.     INSERT INTO TEMP_URLOP_WYK (IDPRAC, ROK, TYP, ILOSC)
  31.         SELECT
  32.           kb.IDPRAC,
  33.           EXTRACT(YEAR FROM k.DATA) AS ROK,
  34.           ko.IDOPER AS TYP,
  35.           SUM(DATEDIFF(HOUR, CZASSTART, CZASSTOP)/8) AS ILOSC
  36.         FROM
  37.           KARTYOPERACJE ko
  38.           LEFT JOIN KARTY k ON k.IDKARTY=ko.IDKARTY
  39.           LEFT JOIN KARTYBRYGADY kb ON kb.IDPARTII=ko.idpARTII
  40.           LEFT JOIN PARAMS pm ON pm.ID=1
  41.         WHERE
  42.           ( EXTRACT(YEAR FROM k.DATA) >= :ROK_BO )
  43.           AND
  44.           ( IDOPER = pm.IDURLOP OR IDOPER = pm.IDURLOPZ )
  45.         GROUP BY
  46.           kb.IDPRAC, ROK, TYP;        
  47.    
  48.     FOR
  49.  
  50.         SELECT
  51.             p.IDPRAC
  52.             , p.NAZPRAC
  53.             , p.AKTYWNY
  54.             , p.ORGUNIT
  55.             , p.GRUPA
  56.             , p.IDSTAN
  57.             , s.NAZSTAN
  58.             , u.ROK
  59.             , u.WYMIAR AS WYMIAR_BIEZ
  60.             , COALESCE(u.EKWIWALENT, 0) AS EKWIWALENT_BIEZ
  61.             , COALESCE(dowyk.ILOSC, 0) - u.WYMIAR AS ZALEGLY
  62.             , COALESCE(dowyk.ILOSC, 0) AS URLOP_RAZEM
  63.             , COALESCE(wyk.ILOSC, 0) AS WYK_UW
  64.             , COALESCE(wykuz.ILOSC, 0) AS WYK_UWZ    
  65.             , COALESCE(wyk.ILOSC, 0) + COALESCE(wykuz.ILOSC, 0) AS WYK_RAZEM
  66.             , COALESCE(dowyk.ILOSC, 0) - COALESCE(wyk.ILOSC, 0) - COALESCE(wykuz.ILOSC, 0) AS POZOSTALY
  67.             , COALESCE(wyk_biez.ILOSC,0) AS WYK_UW_BIEZ
  68.             , COALESCE(wykuz_biez.ILOSC,0) AS WYK_UWZ_BIEZ
  69.         FROM V_PRACOWNICY p
  70.         LEFT JOIN STANOWISKA s ON s.IDSTAN=p.IDSTAN
  71.         LEFT JOIN PARAMS pm ON pm.ID=1
  72.         LEFT JOIN URLOPY u ON u.IDPRAC=p.IDPRAC
  73.         LEFT JOIN
  74.         (
  75.             SELECT
  76.               IDPRAC,
  77.               SUM(WYMIAR-COALESCE(EKWIWALENT, 0)) AS ILOSC,
  78.               SUM(COALESCE(EKWIWALENT, 0)) AS EKWIWALENT
  79.             FROM
  80.               URLOPY u
  81.             WHERE
  82.               u.ROK>=:ROK_BO AND u.ROK<=:ROK1
  83.             GROUP BY
  84.               IDPRAC
  85.         ) dowyk ON dowyk.IDPRAC=u.IDPRAC
  86.         LEFT JOIN (SELECT idprac, SUM(ilosc) AS ILOSC FROM TEMP_URLOP_WYK u LEFT JOIN PARAMS pm ON pm.ID=1 WHERE u.ROK<=:ROK1 AND u.TYP=pm.IDURLOP GROUP BY u.IDPRAC) wyk ON wyk.IDPRAC=p.idprac
  87.         LEFT JOIN (SELECT idprac, SUM(ilosc) AS ILOSC FROM TEMP_URLOP_WYK u LEFT JOIN PARAMS pm ON pm.ID=1 WHERE u.ROK<=:ROK1 AND u.TYP=pm.IDURLOPZ GROUP BY u.IDPRAC) wykuz ON wykuz.IDPRAC=p.idprac
  88.         LEFT JOIN (SELECT idprac, SUM(ilosc) AS ILOSC FROM TEMP_URLOP_WYK u LEFT JOIN PARAMS pm ON pm.ID=1 WHERE u.ROK=:ROK1 AND u.TYP=pm.IDURLOP GROUP BY u.IDPRAC) wyk_biez ON wyk_biez.IDPRAC=p.idprac
  89.         LEFT JOIN (SELECT idprac, SUM(ilosc) AS ILOSC FROM TEMP_URLOP_WYK u LEFT JOIN PARAMS pm ON pm.ID=1 WHERE u.ROK=:ROK1 AND u.TYP=pm.IDURLOPZ GROUP BY u.IDPRAC) wykuz_biez ON wykuz_biez.IDPRAC=p.idprac
  90.         WHERE
  91.             u.ROK=:ROK1 AND p.OUWYD LIKE :idwydz
  92.         ORDER BY
  93.             p.NAZPRAC
  94.                  
  95.     INTO IDPRAC, NAZPRAC, AKTYWNY, ORGUNIT, GRUPA, IDSTAN, NAZSTAN, ROK, WYMIAR_BIEZ, EKWIWALENT_BIEZ, POPRZEDNI, URLOP_RAZEM, WYK_UW, WYK_UWZ, WYK_RAZEM, POZOSTALY, WYK_UW_BIEZ, WYK_UWZ_BIEZ
  96.     do BEGIN
  97.         SUSPEND;
  98.     END
  99. END^
  100. SET TERM ; ^
  101.  
  102.  

Lazarus Trunc 2018-07-12 Windows 10 1803 / Linux Debian 9.5
« Last Edit: July 17, 2018, 10:06:41 am by krzynio »
Ubuntu 23.10 x64, / Windows 11 PL - latest updates
Lazarus 2.2.6, FPC 3.2.2

sash

  • Sr. Member
  • ****
  • Posts: 366
Re: DBGrid displays zeros. Zeos 7.2 bug or Lazarus trunk bug
« Reply #1 on: July 17, 2018, 02:00:09 pm »
Does your grid (or m.b. dataset component) have a persistent columns?

Did you tested such behavior on something more simple like select 1, 2, 3 from ...?
Lazarus 2.0.10 FPC 3.2.0 x86_64-linux-gtk2 @ Ubuntu 20.04 XFCE

miab3

  • Full Member
  • ***
  • Posts: 145
Re: DBGrid displays zeros. Zeos 7.2 bug or Lazarus trunk bug
« Reply #2 on: July 17, 2018, 03:14:45 pm »
@krzynio,

1. What database, client, server?
2. Try ZEOS 7.2.4p with the last fixes:
https://sourceforge.net/p/zeoslib/code-0/HEAD/tree/branches/7.2-patches/
3. Create a simple example of the application and give here or on the ZEOS Forum.

Michal
« Last Edit: July 18, 2018, 03:58:30 pm by miab3 »

 

TinyPortal © 2005-2018