[
https://issues.apache.org/jira/browse/CALCITE-6675?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mihai Budiu resolved CALCITE-6675.
----------------------------------
Fix Version/s: 1.39.0
Resolution: Not A Bug
> JDBC adapter does not work for SQL server if connection string contains
> semicolon
> ---------------------------------------------------------------------------------
>
> Key: CALCITE-6675
> URL: https://issues.apache.org/jira/browse/CALCITE-6675
> Project: Calcite
> Issue Type: Bug
> Components: jdbc-adapter
> Affects Versions: 1.38.0
> Reporter: Magnus Mogren
> Priority: Major
> Fix For: 1.39.0
>
>
> For SQL server the connection URL contains semicolon.
> If im using an inline model and passes that to DriverManager.getConnection
> then the class org.apache.calcite.avatica.ConnectStringParser will destroy
> the model since it uses semicolon as a delimiter.
>
> *Inline model connection string:*
> {code:java}
> jdbc:calcite:model=inline:{
> version: '1.0',
> defaultSchema: 'TheSchema',
> schemas: [
> {
> name: 'TheSchema',
> type: 'custom',
> factory: 'org.apache.calcite.adapter.jdbc.JdbcSchema$Factory',
> operand: {
> jdbcDriver: 'com.microsoft.sqlserver.jdbc.SQLServerDriver',
> jdbcUrl:
> 'jdbc:sqlserver://theserver:1433;databaseName=thedbname;encrypt=true;',
> jdbcUser: 'theuser',
> jdbcPassword: 'thepassword'
> }
> }
> ]
> } {code}
> The result is an error like this
> {noformat}
> Unexpected end-of-input: was expecting closing quote for a string value
> at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION`
> disabled); line: someline, column: somecolumn] (through reference chain:
> org.apache.calcite.model.JsonRoot["schemas"]->java.util.ArrayList[1]->org.apache.calcite.model.JsonCustomSchema["operand"]){noformat}
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)