Skip to content

Wrong error messeage "string right truncation; expected length 2, actual 2" #8702

@EPluribusUnum

Description

@EPluribusUnum

Firebird 3.0.13 released.

RPT_TMP_100002161_20250.GL_HASZNMOD__KOD is a VARCHAR(2)
FAFAJ.HMKOD -> GL_HASZNMOD.KOD is VARCHAR(4)
INSERT-SELECT want insert 3 length into RPT_TMP_100002161_20250.GL_HASZNMOD__KOD.

The error message is wrong, it should be "string right truncation; expected length 2, actual 3"
The database is 15.4G. I'll send it if you need it.

INSERT INTO RPT_TMP_100002161_20250 (
KTRK_T__KOD,KTRK_T__NEV,GL_HASZNMOD__KOD,GL_HASZNMOD__NEV,KTFJ_FAFAJ__KOD,KTFJ_FAFAJ__NEV,KTFJ__KOD,
KTFJ__NEV,KTBT__ID,KTBT__DB,KTBT___DB_SZAZALEK)
SELECT  x.*
FROM (
with LISTA
as (select FAFAJ.RKKOD,
           FAFAJ.RKNEV,
           FAFAJ.HMKOD,
           FAFAJ.HMNEV,
           FAFAJ.FFKOD,
           FAFAJ.FFNEV,
           FAFAJ.FJKOD,
           FAFAJ.FJNEV,
           FAFAJ.KT_DB,
           FAFAJ.BTID,
           sum(FAFAJ.KT_DB) KT_DB_SUMM
    from (select RK.KOD RKKOD,
                 RK.NEV RKNEV,
                 HM.KOD HMKOD,
                 HM.NEV HMNEV,
                 FF.KOD FFKOD,
                 FF.NEV FFNEV,
                 FJ.KOD FJKOD,
                 FJ.NEV FJNEV,
                 BT.ID BTID,
                 round(KT.DB, 3) - coalesce((select sum(round(BT_VISSZARU.DB, 3))
                                             from KTBT BT_VISSZARU
                                             join KTBF BF_VISSZARU on BF_VISSZARU.ID =
BT_VISSZARU.KTBF_ID
                                             where BF_VISSZARU.ST_ID is null and
                                                   BF_VISSZARU.ERV = 'I' and
                                                   BT_VISSZARU.BEV_KTKT_ID = KT.ID), 0)
KT_DB
          from KTBF BF
          join KTMN MN on MN.MTIP = BF.MTIP and MN.KOD = BF.KTMN_KOD
          join KTRK RK on RK.KOD = BF.KTRK_KOD
          join KTBT BT on BF.ID = BT.KTBF_ID
          join GL_HASZNMOD HM on HM.ID = BT.GL_HASZNMOD_ID
          join KTFJ_FAFAJ FF on FF.ID = BT.KTFJ_FAFAJ_ID
          join KTFJ FJ on FJ.ID = BT.KTFJ_ID
          join KTKT KT on KT.KTBT_ID = BT.ID
          where BF.MTIP = '1' and
                MN.SAJAT_TERMELES = 'I' and
                BF.ERV = 'I' and
                BF.ST_ID is null ) FAFAJ
                   where round(FAFAJ.KT_DB, 3) > 0
                   group by FAFAJ.RKKOD, FAFAJ.RKNEV, FAFAJ.HMKOD, FAFAJ.HMNEV,
FAFAJ.FFKOD, FAFAJ.FFNEV, FAFAJ.FJKOD, FAFAJ.FJNEV, FAFAJ.BTID, FAFAJ.KT_DB),
SUMMA
as (select FAFAJ.RKKOD,
           FAFAJ.HMKOD,
           FAFAJ.FFKOD,
           FAFAJ.FJKOD,
           FAFAJ.KT_DB KT_DB_SUMM
    from (select RK.KOD RKKOD,
                HM.KOD HMKOD,
                 FF.KOD FFKOD,
                 FJ.KOD FJKOD,
                 round(sum(KT.DB - coalesce((select sum(round(BT_VISSZARU.DB, 3))
                                             from KTBT BT_VISSZARU
                                             join KTBF BF_VISSZARU on BF_VISSZARU.ID =
BT_VISSZARU.KTBF_ID
                                             where BF_VISSZARU.ST_ID is null and
                                                   BF_VISSZARU.ERV = 'I' and
                                                   BT_VISSZARU.BEV_KTKT_ID = KT.ID), 0)),
3) KT_DB
          from KTBF BF
          join KTMN MN on MN.MTIP = BF.MTIP and MN.KOD = BF.KTMN_KOD
          join KTRK RK on RK.KOD = BF.KTRK_KOD
          join KTBT BT on BF.ID = BT.KTBF_ID
          join GL_HASZNMOD HM on HM.ID = BT.GL_HASZNMOD_ID
          join KTFJ_FAFAJ FF on FF.ID = BT.KTFJ_FAFAJ_ID
          join KTFJ FJ on FJ.ID = BT.KTFJ_ID
          join KTKT KT on KT.KTBT_ID = BT.ID
          where BF.MTIP = '1' and
                MN.SAJAT_TERMELES = 'I' and
                BF.ERV = 'I' and
                BF.ST_ID is null
          group by RK.KOD, HM.KOD, FF.KOD, FJ.KOD) FAFAJ
    where FAFAJ.KT_DB > 0
    )
                   select LISTA.RKKOD KTRK_T__KOD,
                          LISTA.RKNEV KTRK_T__NEV,
                          LISTA.HMKOD GL_HASZNMOD__KOD,
                          LISTA.HMNEV GL_HASZNMOD__NEV,
                          LISTA.FFKOD KTFJ_FAFAJ__KOD,
                          LISTA.FFNEV KTFJ_FAFAJ__NEV,
                          LISTA.FJKOD KTFJ__KOD,
                          LISTA.FJNEV KTFJ__NEV,
                          LISTA.BTID KTBT__ID,
                          LISTA.KT_DB KTBT__DB,
                          round(LISTA.KT_DB * 100 * cast(1 / cast(SUMMA.KT_DB_SUMM as
double precision) as double precision), 0) KTBT___DB_SZAZALEK
                   from LISTA
                   left outer join SUMMA on SUMMA.RKKOD = LISTA.RKKOD and SUMMA.HMKOD =
LISTA.HMKOD and SUMMA.FFKOD = LISTA.FFKOD and SUMMA.FJKOD = LISTA.FJKOD
/*ORDER BY*/)x

Thank You!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions