Is there a maximum length for Jasper parameter lists?

One of our reports is often run with a selection that includes about 14,000 drivers.

The schema for the parameter (in the parent report) looks like this:

<parameter name="DriverIds" class="java.util.List">
    <parameterDescription><![CDATA[]]></parameterDescription>
</parameter>

      

The where clause for selection (within the subregister) looks like this:

and $X{IN, cast(e.login_id as char(12)), DriverIds}

      

Only 9,628 of the 14,000 selected drivers get into the actual request from the subreport according to the Tomcat logs. This number is both consistent and oddly specific. (If you have a constructed constraint, I feel it will be more than 10,000).

If I parse the actual POST for jasperserver, all 14,000 drivers do it. If I write the request manually, I can choose for all 14,000 drivers. The problem appears to be inside the jasperserver itself.

Does jasper have a length limit on $ X {IN? Could the underlying db client be the problem? (The tokens indicate the absence on the latter - it seems that Postgres cap in this sense doesn't fire until 30,000 seconds)

+3


source to share


1 answer


Jasper is actually doing a GET under the hood. Thus, it is limited to the default Tomcat maxParameterCount of 10,000 instances. Once I bumped this up to 50,000 everything worked just peachy.



+3


source







All Articles