[bug] auto-where by RefreshRecord (v8.0.0)
auto-where by refreshrecord works incorrectly with:
- cross join
 
- SELECT
 -   bdea.dbrid
 -   ba_op
 - FROM
 -   bdea
 -   CROSS JOIN ab2
 - WHERE
 -   ba_ix = :ab_ix
 - :ab_ix(WideString[3])='100'
 
- WHERE
 - (
 -   ba_ix = :ab_ix) AND 
 -   cross.dbrid = :ba_op 
 
- :ab_ix(WideString[3])='100' 
 - :ba_op(WideString[3])='136'
 - --------------------------------------------------
 - [PgSQLMonitor.OnSQL]: tfError
 - Error: syntax error at or near "."
 
- window-function
 
- SELECT
 -   bdea.dbrid,
 -   ba_op
 - FROM
 -   bdea
 -   LEFT JOIN ab2 ON a2_ab_ix = ba_ix AND a2_n = ba_op
 - WHERE
 -   ba_ix = :ab_ix
 - WINDOW rech AS (PARTITION BY a2_n, ba_ix)
 - :ab_ix(WideString[3])='100'
 
- WHERE
 - (
 -   ba_ix = :ab_ix
 - WINDOW rech AS (PARTITION BY a2_n, ba_ix)) AND 
 -   bdea.dbrid = :dbrid AND bdea.ba_op = :ba_op 
 
- :ab_ix(WideString[3])='100' 
 - :dbrid(WideString[3])='136' 
 - :ba_op(Integer)=10
 - --------------------------------------------------
 - [PgSQLMonitor.OnSQL]: tfError
 - Error: syntax error at or near "WINDOW"
 
- and function calls are incorrectly recognized as columns
 
- SELECT
 -   bdea.dbrid,
 -   get_name(ba_op)
 - FROM
 -   bdea
 -   LEFT JOIN ab2 ON a2_ab_ix = ba_ix AND a2_n = ba_op
 - WHERE
 -   ba_ix = :ab_ix
 - :ab_ix(WideString[3])='100'
 
- WHERE
 - (
 -   ba_ix = :ab_ix) AND 
 -   bdea.dbrid = :dbrid AND get_name = :get_name 
 
- :ab_ix(WideString[3])='100' 
 - :dbrid(WideString[3])='136' 
 - :get_name(WideString[7])='name_10'
 - --------------------------------------------------
 - [PgSQLMonitor.OnSQL]: tfError
 - Error: column "get_name" does not exist
 
in the attach you will find a small demo application with creation script