Jerome,

Can you log a feature request in Jira? As you noted, support is already there 
in the parser. But your request is for the JDBC driver. Your description should 
provide a JDBC fragment that illustrates the new API calls. Also describe the 
JDBC option that we would add to enable this functionality.

You should link to https://issues.apache.org/jira/browse/CALCITE-2453, the case 
that added parser support.

Julian


> On Feb 17, 2026, at 2:15 PM, Jerome Haltom <[email protected]> wrote:
> 
> MS SQL simply accepts ';' as a statement delimiter. Each ResultSet that is 
> returned is available on getNextResult().
> 
> Same with MySQL, though they require you to pass allowMultipleQueries=true as 
> an option.
> 
> Snowflake is like MS SQL: 
> https://docs.snowflake.com/en/developer-guide/jdbc/jdbc-using#multi-statement-jdbc
> 
> There are numerous other JDBC drivers like this. It may or may not be allowed 
> by the specification, but the number of drivers that use THAT as an excuse is 
> pretty minimal. The ones I've found that don't use 'sql injection' as the 
> reason. Which may have been a good reason initially, but I think was pretty 
> much solved with 'don't use non parameterized queries' instead.
> 
> If Calcite wants to say "the specification does not allow us to" despite all 
> these other drivers allowing you to, fine. That's fine. But that's exactly 
> the type of thing I was searching for by opening this question.
> 
> ________________________________
> From: Julian Hyde <[email protected]>
> Sent: Tuesday, February 17, 2026 16:07
> To: [email protected] <[email protected]>
> Subject: Re: JDBC Driver, parseStmtList?
> 
> Jerome,
> 
> Are you claiming that parseStmtList is part of the JDBC API? How do you 
> achieve this effect with other drivers? Do they return a list of 
> PreparedStatement objects or something like that? Do they use semicolon as 
> delimiter? (I don’t recall anything in the SQL or JDBC standards specifying a 
> delimiter.)
> 
> Julian
> 
>> On Feb 17, 2026, at 08:52, Mihai Budiu <[email protected]> wrote:
>> 
>> According to one AI agent, multi-statement JDBC support is actually not a 
>> standard feature, and is only supported by some drivers.
>> 
>> If there is a spec that makes sense, I guess Calcite could support it. 
>> Calcite supports many non-standard features.
>> 
>> Mihai
>> ________________________________
>> From: Jerome Haltom <[email protected]>
>> Sent: Tuesday, February 17, 2026 8:45 AM
>> To: [email protected] <[email protected]>
>> Subject: Re: JDBC Driver, parseStmtList?
>> 
>> I mean, if you run a statement like "select 1; select 1" it fails. It does 
>> not support multiple SQL statements per individual JDBC call. Most other 
>> drivers do.
>> 
>> I would consider an implementation. But my question was more like "this is 
>> how it is, is there a reason, historical or not?" If there's no reason, and 
>> it's a thing the Calcite project would want, I would consider implementing 
>> it.
>> 
>> 
>> ________________________________
>> From: Mihai Budiu <[email protected]>
>> Sent: Tuesday, February 17, 2026 10:41
>> To: [email protected] <[email protected]>
>> Subject: Re: JDBC Driver, parseStmtList?
>> 
>> I have not used Calcite through the JDBC driver in this way.
>> 
>> Can you provide a reproduction of the issue you are seeing?
>> 
>> If this is a missing feature, you should consider filing a JIRA issue, and 
>> perhaps contributing an implementation? 
>> https://issues.apache.org/jira/projects/CALCITE
>> 
>> Mihai
>> ________________________________
>> From: Jerome Haltom <[email protected]>
>> Sent: Monday, February 16, 2026 7:30 AM
>> To: [email protected] <[email protected]>
>> Subject: JDBC Driver, parseStmtList?
>> 
>> I am working on an application that makes use of Calcite through the JDBC 
>> driver, and am hitting a problem with it being unable to parse multiple 
>> semi-colon separated statements. My investigations tell me this isn't 
>> supported. parseStmt is invoked on the parser, not parseStmtList. And of 
>> course the rest of it isn't built to deal with multiple statements, tracking 
>> multiple resultsets, etc.
>> 
>> I guess my first question would be, why? Is there a reason for this as it 
>> stands, or is it just that nobody has gone through an added support for 
>> multiple statements since that was added?
>> 

Reply via email to