[ 
https://issues.apache.org/jira/browse/OPENJPA-2770?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pawel Veselov updated OPENJPA-2770:
-----------------------------------
    Description: 
Using CriteriaBuilder.literal(Boolean.FALSE) in expressions leads to literal 
value being treated as TRUE instead.

See https://github.com/veselov/Standalone-JPA-Test-Demo/tree/OPENJPA-2770 for 
test case.
I've also attached the extracted branch here.
Running
{noformat}
$ mvn -Dderby.language.logStatementText=true test
{noformat}
shows the problem. Though the cb.literal(Boolean.FALSE) is use in cb.equal(), 
the query is:
{noformat}
Wed Jan 23 00:24:51 CET 2019 Thread[main,5,main] (XID = 283), (SESSIONID = 11), 
(DATABASE = memory:jpaDemoDB), (DRDAID = null), Executing prepared statement: 
SELECT t0.user_id, t0.about, t0.firstName, t0.homePage, t0.lastName, 
t0.userName, t0.woo FROM Person t0 WHERE (t0.woo = ?) :End prepared statement 
with 1 parameters begin parameter #1: true :end parameter
{noformat}

I changed versions to 2.4.3 and 3.0.0, the problem is still there.


  was:
Using CriteriaBuilder.literal(Boolean.FALSE) in expressions leads to literal 
value being treated as TRUE instead.

See https://github.com/veselov/Standalone-JPA-Test-Demo/tree/OPENJPA-2770 for 
test case.
I've also attached the extracted branch here.
Running
{noformat}
$ mvn -Dderby.language.logStatementText=true test
{noformat}
shows the problem. Though the cb.literal(Boolean.FALSE) is use in cb.equal(), 
the query is:
{noformat}
Wed Jan 23 00:24:51 CET 2019 Thread[main,5,main] (XID = 283), (SESSIONID = 11), 
(DATABASE = memory:jpaDemoDB), (DRDAID = null), Executing prepared statement: 
SELECT t0.user_id, t0.about, t0.firstName, t0.homePage, t0.lastName, 
t0.userName, t0.woo FROM Person t0 WHERE (t0.woo = ?) :End prepared statement 
with 1 parameters begin parameter #1: true :end parameter
{noformat}



> false boolean literal doesn't work
> ----------------------------------
>
>                 Key: OPENJPA-2770
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2770
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 2.4.2, 2.4.3, 3.0.0
>            Reporter: Pawel Veselov
>            Priority: Major
>         Attachments: Standalone-JPA-Test-Demo-OPENJPA-2770.zip
>
>
> Using CriteriaBuilder.literal(Boolean.FALSE) in expressions leads to literal 
> value being treated as TRUE instead.
> See https://github.com/veselov/Standalone-JPA-Test-Demo/tree/OPENJPA-2770 for 
> test case.
> I've also attached the extracted branch here.
> Running
> {noformat}
> $ mvn -Dderby.language.logStatementText=true test
> {noformat}
> shows the problem. Though the cb.literal(Boolean.FALSE) is use in cb.equal(), 
> the query is:
> {noformat}
> Wed Jan 23 00:24:51 CET 2019 Thread[main,5,main] (XID = 283), (SESSIONID = 
> 11), (DATABASE = memory:jpaDemoDB), (DRDAID = null), Executing prepared 
> statement: SELECT t0.user_id, t0.about, t0.firstName, t0.homePage, 
> t0.lastName, t0.userName, t0.woo FROM Person t0 WHERE (t0.woo = ?) :End 
> prepared statement with 1 parameters begin parameter #1: true :end parameter
> {noformat}
> I changed versions to 2.4.3 and 3.0.0, the problem is still there.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to