Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Report band JPQL query cannot contain both parameters and JPQL macros #3276

Open
gorbunkov opened this issue Jul 1, 2022 · 0 comments
Open
Labels
type: bug Something isn't working
Milestone

Comments

@gorbunkov
Copy link
Contributor

gorbunkov commented Jul 1, 2022

Platform version: 7.2.19

Create a report with JPQL dataset. The query must use some external parameter and JPQL date macros, e.g.:

select
e.name as "name",
e.dueDate as "dueDate",
owner.login as "owner.login"
from sample_Project e  
left join e.owner owner 
 where e.owner.id = ${owner1} and
 @dateBefore(e.dueDate, now)

Run the report.

The exception:

Caused by: com.haulmont.yarg.exception.DataLoadingException: An error occurred while loading data for data set [Dataset]
	at com.haulmont.reports.libintegration.JpqlDataDataLoader.loadData(JpqlDataDataLoader.java:91) ~[reports-core-7.2.19.jar:7.2.19]
	at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.lambda$getQueryData$1(DefaultExtractionController.java:206) ~[yarg-2.2.11.jar:na]
	at com.haulmont.yarg.reporting.extraction.DefaultPreprocessorFactory.lambda$new$0(DefaultPreprocessorFactory.java:35) ~[yarg-2.2.11.jar:na]
	at com.haulmont.yarg.reporting.extraction.controller.DefaultExtractionController.getQueryData(DefaultExtractionController.java:204) ~[yarg-2.2.11.jar:na]
	... 94 common frames omitted
Caused by: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: 
Exception Description: Syntax error parsing [select e.name, e.dueDate, owner.login from sample_Project e left join e.owner owner where e.owner.id = ?1 and (e.dueDate < :e_dueDate_1_1)]. 
[103, 105] Named and positional input parameters must not be mixed in a single query.
[123, 137] Named and positional input parameters must not be mixed in a single query.
	at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1750) ~[org.eclipse.persistence.jpa-2.7.3-19-cuba.jar:na]

It seems that for some reasons reporting replaces named query parameters with positioned ones.

Sample project: cuba-report-param.zip

The report: Report for entity Project - error.zip

Forum: https://forum.cuba-platform.com/t/email-templates-report-error-in-my-setup/16386

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant