[jira] [Updated] (CALCITE-2009) Possible bug in interpreting ( IN ) OR ( IN ) logic

2017-12-11 Thread Julian Hyde (JIRA)

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

Julian Hyde updated CALCITE-2009:
-
Fix Version/s: 1.16.0

> Possible bug in interpreting  ( IN ) OR ( IN ) logic 
> -
>
> Key: CALCITE-2009
> URL: https://issues.apache.org/jira/browse/CALCITE-2009
> Project: Calcite
>  Issue Type: Bug
>Affects Versions: 1.14.0, 1.13.0, 1.15.0
>Reporter: Piotr Bojko
>Assignee: Julian Hyde
> Fix For: 1.16.0
>
> Attachments: logs-when-or-is-used.log, logs-when-union-is-used.log
>
>
> I have schema
> {code:javascript}
> {
>   "version": "1.0",
>   "defaultSchema": "JIRA",
>   "schemas": [
>   {
>   "name": "INTERNAL",
>   "type": "custom",
>   "factory": "%%UNDERLYING_SCHEMA_FACTORY",
>   "operand": {}
>   }, {
>   "name": "JIRA",
>   "type": "custom",
>   "factory": 
> "org.apache.calcite.schema.impl.AbstractSchema$Factory",
>   "operand": {},
>   "tables": [
>   {
>   "name": "ISSUES",
>   "type": "view",
>   "sql": [
>   "SELECT JI.ID, JI.SUMMARY, 
> JI.PROJECT ",
>   "FROM INTERNAL.JIRAISSUE as JI 
> ",
>   "WHERE JI.ID IN (SELECT EAI.ID 
> FROM EXPLICIT_ALLOWED_ISSUES AS EAI) ",
>   "UNION ",
>   "SELECT JI.ID, JI.SUMMARY, 
> JI.PROJECT ",
>   "FROM INTERNAL.JIRAISSUE as JI 
> ",
>   "WHERE JI.PROJECT IN (SELECT 
> AP.ID FROM ALLOWED_PROJECTS AS AP)"
>   ]
>   },
>   {
>   "name": "ALLOWED_PROJECTS",
>   "type": "table",
>   "factory": "%%DELEGATING_TABLE_FACTORY"
>   },
>   {
>   "name": "EXPLICIT_ALLOWED_ISSUES",
>   "type": "table",
>   "factory": "%%DELEGATING_TABLE_FACTORY"
>   }
>   ]
>   } 
>   ]
> }
> {code}
> Where INTERNAL schema points to JDBC native JIRA Schema (through my custom 
> factory, but it only wraps passing datasource instead of user/password/url to 
> db) and JIRA schema has one view and two tables (factories generate java data 
> wrapped in AbstractQueryableTable)
> When running "SELECT * FROM ISSUES" all works. 
> But when changing the view from UNION construction to OR - engine provides no 
> results:
> {code:javascript}
> {
>   "version": "1.0",
>   "defaultSchema": "JIRA",
>   "schemas": [
>   {
>   "name": "INTERNAL",
>   "type": "custom",
>   "factory": "%%UNDERLYING_SCHEMA_FACTORY",
>   "operand": {}
>   }, {
>   "name": "JIRA",
>   "type": "custom",
>   "factory": 
> "org.apache.calcite.schema.impl.AbstractSchema$Factory",
>   "operand": {},
>   "tables": [
>   {
>   "name": "ISSUES",
>   "type": "view",
>   "sql": [
>   "SELECT JI.ID, JI.SUMMARY, 
> JI.PROJECT ",
>   "FROM INTERNAL.JIRAISSUE as JI 
> ",
>   "WHERE JI.ID IN (SELECT EAI.ID 
> FROM EXPLICIT_ALLOWED_ISSUES AS EAI) ",
>   "OR (JI.PROJECT IN (SELECT 
> AP.ID FROM ALLOWED_PROJECTS AS AP))"
>   ]
>   },
>   {
>   "name": "ALLOWED_PROJECTS",
>   "type": "table",
>   "factory": "%%DELEGATING_TABLE_FACTORY"
>   },
>   {
>   "name": "EXPLICIT_ALLOWED_ISSUES",
>   

[jira] [Updated] (CALCITE-2009) Possible bug in interpreting ( IN ) OR ( IN ) logic

2017-11-30 Thread Piotr Bojko (JIRA)

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

Piotr Bojko updated CALCITE-2009:
-
Affects Version/s: 1.15.0

> Possible bug in interpreting  ( IN ) OR ( IN ) logic 
> -
>
> Key: CALCITE-2009
> URL: https://issues.apache.org/jira/browse/CALCITE-2009
> Project: Calcite
>  Issue Type: Bug
>Affects Versions: 1.13.0, 1.14.0, 1.15.0
>Reporter: Piotr Bojko
>Assignee: Julian Hyde
> Attachments: logs-when-or-is-used.log, logs-when-union-is-used.log
>
>
> I have schema
> {code:javascript}
> {
>   "version": "1.0",
>   "defaultSchema": "JIRA",
>   "schemas": [
>   {
>   "name": "INTERNAL",
>   "type": "custom",
>   "factory": "%%UNDERLYING_SCHEMA_FACTORY",
>   "operand": {}
>   }, {
>   "name": "JIRA",
>   "type": "custom",
>   "factory": 
> "org.apache.calcite.schema.impl.AbstractSchema$Factory",
>   "operand": {},
>   "tables": [
>   {
>   "name": "ISSUES",
>   "type": "view",
>   "sql": [
>   "SELECT JI.ID, JI.SUMMARY, 
> JI.PROJECT ",
>   "FROM INTERNAL.JIRAISSUE as JI 
> ",
>   "WHERE JI.ID IN (SELECT EAI.ID 
> FROM EXPLICIT_ALLOWED_ISSUES AS EAI) ",
>   "UNION ",
>   "SELECT JI.ID, JI.SUMMARY, 
> JI.PROJECT ",
>   "FROM INTERNAL.JIRAISSUE as JI 
> ",
>   "WHERE JI.PROJECT IN (SELECT 
> AP.ID FROM ALLOWED_PROJECTS AS AP)"
>   ]
>   },
>   {
>   "name": "ALLOWED_PROJECTS",
>   "type": "table",
>   "factory": "%%DELEGATING_TABLE_FACTORY"
>   },
>   {
>   "name": "EXPLICIT_ALLOWED_ISSUES",
>   "type": "table",
>   "factory": "%%DELEGATING_TABLE_FACTORY"
>   }
>   ]
>   } 
>   ]
> }
> {code}
> Where INTERNAL schema points to JDBC native JIRA Schema (through my custom 
> factory, but it only wraps passing datasource instead of user/password/url to 
> db) and JIRA schema has one view and two tables (factories generate java data 
> wrapped in AbstractQueryableTable)
> When running "SELECT * FROM ISSUES" all works. 
> But when changing the view from UNION construction to OR - engine provides no 
> results:
> {code:javascript}
> {
>   "version": "1.0",
>   "defaultSchema": "JIRA",
>   "schemas": [
>   {
>   "name": "INTERNAL",
>   "type": "custom",
>   "factory": "%%UNDERLYING_SCHEMA_FACTORY",
>   "operand": {}
>   }, {
>   "name": "JIRA",
>   "type": "custom",
>   "factory": 
> "org.apache.calcite.schema.impl.AbstractSchema$Factory",
>   "operand": {},
>   "tables": [
>   {
>   "name": "ISSUES",
>   "type": "view",
>   "sql": [
>   "SELECT JI.ID, JI.SUMMARY, 
> JI.PROJECT ",
>   "FROM INTERNAL.JIRAISSUE as JI 
> ",
>   "WHERE JI.ID IN (SELECT EAI.ID 
> FROM EXPLICIT_ALLOWED_ISSUES AS EAI) ",
>   "OR (JI.PROJECT IN (SELECT 
> AP.ID FROM ALLOWED_PROJECTS AS AP))"
>   ]
>   },
>   {
>   "name": "ALLOWED_PROJECTS",
>   "type": "table",
>   "factory": "%%DELEGATING_TABLE_FACTORY"
>   },
>   {
>   "name": "EXPLICIT_ALLOWED_ISSUES",
>   "type": "table",
>   

[jira] [Updated] (CALCITE-2009) Possible bug in interpreting ( IN ) OR ( IN ) logic

2017-10-13 Thread Piotr Bojko (JIRA)

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

Piotr Bojko updated CALCITE-2009:
-
Attachment: logs-when-or-is-used.log
logs-when-union-is-used.log

Pls, check attached files for calcite debug logs.

> Possible bug in interpreting  ( IN ) OR ( IN ) logic 
> -
>
> Key: CALCITE-2009
> URL: https://issues.apache.org/jira/browse/CALCITE-2009
> Project: Calcite
>  Issue Type: Bug
>Affects Versions: 1.13.0, 1.14.0
>Reporter: Piotr Bojko
>Assignee: Julian Hyde
> Attachments: logs-when-or-is-used.log, logs-when-union-is-used.log
>
>
> I have schema
> {code:javascript}
> {
>   "version": "1.0",
>   "defaultSchema": "JIRA",
>   "schemas": [
>   {
>   "name": "INTERNAL",
>   "type": "custom",
>   "factory": "%%UNDERLYING_SCHEMA_FACTORY",
>   "operand": {}
>   }, {
>   "name": "JIRA",
>   "type": "custom",
>   "factory": 
> "org.apache.calcite.schema.impl.AbstractSchema$Factory",
>   "operand": {},
>   "tables": [
>   {
>   "name": "ISSUES",
>   "type": "view",
>   "sql": [
>   "SELECT JI.ID, JI.SUMMARY, 
> JI.PROJECT ",
>   "FROM INTERNAL.JIRAISSUE as JI 
> ",
>   "WHERE JI.ID IN (SELECT EAI.ID 
> FROM EXPLICIT_ALLOWED_ISSUES AS EAI) ",
>   "UNION ",
>   "SELECT JI.ID, JI.SUMMARY, 
> JI.PROJECT ",
>   "FROM INTERNAL.JIRAISSUE as JI 
> ",
>   "WHERE JI.PROJECT IN (SELECT 
> AP.ID FROM ALLOWED_PROJECTS AS AP)"
>   ]
>   },
>   {
>   "name": "ALLOWED_PROJECTS",
>   "type": "table",
>   "factory": "%%DELEGATING_TABLE_FACTORY"
>   },
>   {
>   "name": "EXPLICIT_ALLOWED_ISSUES",
>   "type": "table",
>   "factory": "%%DELEGATING_TABLE_FACTORY"
>   }
>   ]
>   } 
>   ]
> }
> {code}
> Where INTERNAL schema points to JDBC native JIRA Schema (through my custom 
> factory, but it only wraps passing datasource instead of user/password/url to 
> db) and JIRA schema has one view and two tables (factories generate java data 
> wrapped in AbstractQueryableTable)
> When running "SELECT * FROM ISSUES" all works. 
> But when changing the view from UNION construction to OR - engine provides no 
> results:
> {code:javascript}
> {
>   "version": "1.0",
>   "defaultSchema": "JIRA",
>   "schemas": [
>   {
>   "name": "INTERNAL",
>   "type": "custom",
>   "factory": "%%UNDERLYING_SCHEMA_FACTORY",
>   "operand": {}
>   }, {
>   "name": "JIRA",
>   "type": "custom",
>   "factory": 
> "org.apache.calcite.schema.impl.AbstractSchema$Factory",
>   "operand": {},
>   "tables": [
>   {
>   "name": "ISSUES",
>   "type": "view",
>   "sql": [
>   "SELECT JI.ID, JI.SUMMARY, 
> JI.PROJECT ",
>   "FROM INTERNAL.JIRAISSUE as JI 
> ",
>   "WHERE JI.ID IN (SELECT EAI.ID 
> FROM EXPLICIT_ALLOWED_ISSUES AS EAI) ",
>   "OR (JI.PROJECT IN (SELECT 
> AP.ID FROM ALLOWED_PROJECTS AS AP))"
>   ]
>   },
>   {
>   "name": "ALLOWED_PROJECTS",
>   "type": "table",
>   "factory": "%%DELEGATING_TABLE_FACTORY"
>   },
>   {
>