Possible Bug in Quicksearch

Martin68

Well-known member
Hello there,

i just tried a quick search with an INT(4) field which i use for a year-column.

Works fine with equal, less, greater, greater_equal_than

Doesnt seem to have any effect with "less_equal_than", should be three rows, get all eleven.

Kind regards.

Martin




-------

Your current DaDaBIK version

You are using DaDaBIK version 10.2-Manarola enterprise, installed on 02-08-2020 (installation code: 0), the latest version of DaDaBIK is 10.2-Manarola released on 15-07-2020

You are runnning the last release of DaDaBIK

In case you want to upgrade to a more powerful edition (from Pro to Enterprise/Platinum, from Enteprise to Platinum) please contact us.

System info

PHP Version: 7.2.29

mysql version: 5.5.5-10.3.21-MariaDB

Web server: Apache/2.2.34 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141

Client: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15
 

eugenio

Administrator
Staff member
Hello,
I made a test but I can't replicate your issue; maybe you could try to check the query that is generated when you execute the search (display_sql parameter, please note that all the users will see the queries generated by dadabik).

Best,
 

Martin68

Well-known member
Hello Eugenio,

i tried "<" and "<=" and got this:

"<": (working)

SELECT `tbl_Pr_Niederschlagungen`.`id_Pr-Niederschlagungen`, `tbl_Pr_Niederschlagungen`.`Datum`, `tbl_Pr_Niederschlagungen`.`fk_Pruefer`, `select_Pruefer____1`.`Name2` AS `select_Pruefer____Name2____1`, `tbl_Pr_Niederschlagungen`.`fk_Organisationseinheit`, `select_Amt____1`.`Amt_kurz` AS `select_Amt____Amt_kurz____1`, `tbl_Pr_Niederschlagungen`.`Typ`, `tbl_Pr_Niederschlagungen`.`Anzahl`, `tbl_Pr_Niederschlagungen`.`Ursprungsjahr`, `tbl_Pr_Niederschlagungen`.`Kassenkonto`, `tbl_Pr_Niederschlagungen`.`Kassenzeichen`, `tbl_Pr_Niederschlagungen`.`Hauptforderung`, `tbl_Pr_Niederschlagungen`.`Steuerzinsen`, `tbl_Pr_Niederschlagungen`.`Säumniszuschlaege`, `tbl_Pr_Niederschlagungen`.`Nebenforderungen`, `tbl_Pr_Niederschlagungen`.`Gesamtbetrag`, `tbl_Pr_Niederschlagungen`.`geprüft`, `tbl_Pr_Niederschlagungen`.`Begruendung`, `tbl_Pr_Niederschlagungen`.`Vollstreckungsmassnahmen`, `tbl_Pr_Niederschlagungen`.`Feststellungen`, `tbl_Pr_Niederschlagungen`.`Unterlagen` FROM `tbl_Pr_Niederschlagungen` LEFT JOIN `select_Pruefer` AS `select_Pruefer____1` ON `tbl_Pr_Niederschlagungen`.`fk_Pruefer` = `select_Pruefer____1`.`id_Pruefer` LEFT JOIN `select_Amt` AS `select_Amt____1` ON `tbl_Pr_Niederschlagungen`.`fk_Organisationseinheit` = `select_Amt____1`.`Amt_id` WHERE `tbl_Pr_Niederschlagungen`.`Ursprungsjahr` < '2010' ORDER BY `tbl_Pr_Niederschlagungen`.`Datum` ASC, `tbl_Pr_Niederschlagungen`.`id_Pr-Niederschlagungen`


"<=":

SELECT `tbl_Pr_Niederschlagungen`.`id_Pr-Niederschlagungen`, `tbl_Pr_Niederschlagungen`.`Datum`, `tbl_Pr_Niederschlagungen`.`fk_Pruefer`, `select_Pruefer____1`.`Name2` AS `select_Pruefer____Name2____1`, `tbl_Pr_Niederschlagungen`.`fk_Organisationseinheit`, `select_Amt____1`.`Amt_kurz` AS `select_Amt____Amt_kurz____1`, `tbl_Pr_Niederschlagungen`.`Typ`, `tbl_Pr_Niederschlagungen`.`Anzahl`, `tbl_Pr_Niederschlagungen`.`Ursprungsjahr`, `tbl_Pr_Niederschlagungen`.`Kassenkonto`, `tbl_Pr_Niederschlagungen`.`Kassenzeichen`, `tbl_Pr_Niederschlagungen`.`Hauptforderung`, `tbl_Pr_Niederschlagungen`.`Steuerzinsen`, `tbl_Pr_Niederschlagungen`.`Säumniszuschlaege`, `tbl_Pr_Niederschlagungen`.`Nebenforderungen`, `tbl_Pr_Niederschlagungen`.`Gesamtbetrag`, `tbl_Pr_Niederschlagungen`.`geprüft`, `tbl_Pr_Niederschlagungen`.`Begruendung`, `tbl_Pr_Niederschlagungen`.`Vollstreckungsmassnahmen`, `tbl_Pr_Niederschlagungen`.`Feststellungen`, `tbl_Pr_Niederschlagungen`.`Unterlagen` FROM `tbl_Pr_Niederschlagungen` LEFT JOIN `select_Pruefer` AS `select_Pruefer____1` ON `tbl_Pr_Niederschlagungen`.`fk_Pruefer` = `select_Pruefer____1`.`id_Pruefer` LEFT JOIN `select_Amt` AS `select_Amt____1` ON `tbl_Pr_Niederschlagungen`.`fk_Organisationseinheit` = `select_Amt____1`.`Amt_id` ORDER BY `tbl_Pr_Niederschlagungen`.`Datum` ASC, `tbl_Pr_Niederschlagungen`.`id_Pr-Niederschlagungen`


These select just has no WHERE-Statement :-(

No idea how this came...

Martin
 

eugenio

Administrator
Staff member
Mmh, it seems dadabik is not recognizing the search operator you are using; could you look (through phpmyadmin or other db admin tool), for the table dadabik_forms, on the record related to the field Ursprungsjahr, at the value for the column select_type_field?
Please copy and paste the value here.

Best,
 

Martin68

Well-known member
eugenio Wrote:
-------------------------------------------------------
> Mmh, it seems dadabik is not recognizing the searc
> h operator you are using; could you look (through
> phpmyadmin or other db admin tool), for the table
> dadabik_forms, on the record related to the field
> Ursprungsjahr, at the value for the column select_
> type_field?
> Please copy and paste the value here.
>
> Best,

SELECT select_type_field FROM dadabik_forms WHERE name_field ="Ursprungsjahr"
->
is_equal/is_different/greater_than/less_then/greater_equal_than/less_equal_than/between


Hi Eugenio,

I don't think it's a problem of this special field. Tried it with other numeric fields in other tables and got the same behavior.
Less_equal_than - shown as <= - doesn't build a WHERE part of the SQL-Select.

Kind regards

Martin
 

eugenio

Administrator
Staff member
After further testing, I confirm it's a bug, thanks for having reported it.
It doesn't occur with all dadabik field types and it doesn't occur if $enable_user_booleans is 1, that's why in my first test I could not replicate the issue.

It has the same effect on the normal search, not only on quick search.

I will fix this for the next release, for the moment the only workaround is to set $enable_user_booleans = 1 (if it's ok to allow that) or to remove less_equal_than from the search options.

Best,
 
Top